Skip to content
Get your free SEO report→
Back to guides
On-PageIntermediate18 min Updated Oct 8, 2026

On-Page SEO: The Complete Audit Checklist

The SEO audit checklist agencies depend on — title tags, headings, schema, and internal links, sequenced by impact so you fix what moves rankings first.

Piyush Rathod avatarWritten by Piyush Rathod
Share:
On this page

On-page SEO is the discipline of making one page maximally relevant to one query. In a world of topical authority and entity-based indexing, it is no longer enough to stuff keywords into headings — but it has never been enough to ignore them either. This checklist is the one we run on every page before we ship it.

The mental model

Every on-page decision answers one of three questions:

  1. Can Google understand the page? Crawlability, rendering, canonical, indexability. The technical layer — rendering, canonicals, indexability — is covered in our Technical SEO guide.
  2. Does the page match the intent? Format, depth, freshness, schema, internal context.
  3. Does the page earn the click? Title, meta description, rich results, brand trust.

Think of these as three sequential gates. A page that clears gate one but fails gate two will never rank for its target query, no matter how good the title is. A page that clears gates one and two but fails gate three will rank but earn no traffic. Work through them in order.

Step 1: The crawl audit

Before you touch the content, confirm the technical layer is sound. Skipping this step is the most common reason an on-page audit produces no results — you optimised the wrong version of the page, or the page was never indexed to begin with.

Status code

The page must return 200. Not 404, not 301, not a soft 404. A soft 404 is a page that returns 200 with no useful content — Google’s crawler treats this as a signal that the page is thin, and it may de-index the URL without telling you.

To check: open the URL in your browser’s network tab, or paste it into a crawler tool. Look for the HTTP status in the first line of the response.

Canonical tag

The canonical tag tells Google: “if this page has duplicates, this is the one to index.” It must be self-referential on singular pages — <link rel="canonical" href="https://example.com/this-page/"> — or pointing to the true canonical URL on paginated or faceted variants.

Three canonical mistakes that kill rankings:

  • Cross-domain canonical pointing to a different domain. This tells Google you don’t want to own the page. Never canonicalise to a different domain unless you are intentionally redirecting.
  • Canonical pointing to the homepage. Often a CMS default that was never changed. This concentrates PageRank on the homepage and starves the target page.
  • Missing canonical on paginated series. Google’s handling of paginated series has improved, but a self-referential canonical on each page of a series (?page=2, ?page=3) is still the safest implementation.

The seven most common canonical mistakes — including the www/non-www trap, case-sensitive duplicates, and the hreflang interaction — are catalogued in our Canonical tag mistakes playbook.

Robots meta tag

Check that the page does not carry <meta name="robots" content="noindex, follow"> or content="noindex". This tag overrides everything else on the page. A page with perfect title, description, content, and links will not appear in search if it carries a noindex directive.

This happens more often than practitioners expect: a developer adds a staging-environment noindex to a template, the template gets applied to a production page, and the page never gets indexed. It also happens when a CMS applies a global noindex rule to an entire directory and one page within that directory is accidentally included.

Hreflang

If the site serves multiple regions — .com/us/, .com/uk/, .com/de/ — every page must carry matching hreflang annotations. A missing or mismatched hreflang pair signals to Google that the international structure is broken, which can cause Google to pick the wrong URL for a given searcher or to ignore the signals entirely.

Verify that every hreflang href points to a live URL that returns 200 and carries the reciprocal hreflang annotation. Broken hreflang links are one of the most common international SEO bugs we see on multi-regional sites.

Renderability

Critical content must be visible without JavaScript execution. Google’s indexer generally renders pages, but it has a time budget — if the meaningful content is locked behind a JavaScript event that requires user interaction (a click, a scroll, a tab switch), Google may never see it. Run the URL through the URL Inspection tool in Google Search Console to see exactly what Googlebot rendered.

Structured data tied to the page’s schema type — FAQPage, HowTo, Product — must also survive rendering. If the JSON-LD block is injected by JavaScript after page load, Google may not parse it. Schema implementation is covered in detail in our Schema Markup guide.

Step 2: Title tag

The title is the single highest-leverage on-page element. It is the click. Get it wrong and everything else on the page fights an uphill battle. Treat it as ad-copy: every character earns its place.

Length and truncation

Google displays title tags up to approximately 600 pixels wide. On a desktop result at default font settings, this is roughly 50–60 characters. On a mobile result it is shorter — around 33–40 characters before truncation kicks in.

The practical implication: put the primary keyword and the most compelling part of the title in the first 40 characters. The brand suffix at the end is the first thing to get truncated on mobile, so design for that worst case.

Use the SERP Preview tool to verify pixel-accurate rendering before publishing.

Primary keyword placement

The primary keyword belongs in the first half of the title tag. Not the last half, not buried mid-title — the first half, ideally within the first 30 characters. Google gives more weight to tokens that appear early in the title, and the leftmost position is the most visually prominent to searchers scanning a results page.

Brand suffix

Brand names belong at the end of the title, after a dash or pipe separator. “How to Build a Pillar Page — SEOKit24” keeps the full keyword phrase visible even after truncation on mobile. Putting the brand first (“SEOKit24: How to Build a Pillar Page”) sacrifices the most valuable real estate.

Modifiers

Adding a format modifier or a year signals freshness and relevance to specific searcher intent. “2026” signals the content is current. “PDF” or “Checklist” signals format. “Beginner’s Guide” signals level. These modifiers catch long-tail clicks from searchers who know exactly what they want.

The most effective modifiers are the ones that match the words searchers actually use to describe what they are looking for — not internal jargon. Check the modifier column in your Search Console queries for patterns.

Step 3: Meta description

Google rewrites about 60% of meta descriptions. The 40% it keeps tends to be highly specific — descriptions that state a concrete outcome, a number, a timeframe, or a specific promise. Write as if you are answering a searcher’s objection before they raise it.

What Google keeps

Google’s algorithm picks up meta description fragments that match a query’s specific intent. If someone searches “how to fix canonical tag mistakes”, a meta description that opens with “Fix the seven most common canonical tag mistakes in 10 minutes” is far more likely to be used verbatim than a generic “Learn about canonical tags.”

Write descriptions that stand alone without the title. The title tells the searcher the page is about X. The description tells them specifically what they will get if they click — and why this page is the one worth clicking.

Length

Target 150–160 characters on desktop. On mobile, Google displays up to 200 characters, so having some buffer room is useful — but design for desktop first. The SERP preview tool will show you exactly where truncation fires at standard font sizes.

Format that earns clicks

The descriptions that consistently outperform the average:

  • Start with a verb. “Fix your canonical tags in five minutes” reads faster than “Canonical tag fixes.”
  • State a concrete outcome. “This checklist surfaces the 12 on-page issues most likely to kill your ranking.”
  • Add a qualifying detail. “For pages with more than 1,000 words” or “Written for marketing managers, not developers.”
  • Add a CTA without being salesy. “Use it on your next audit” or “Save it to your workflow.”

The CTR playbook — what wins a click in 2026, how the AI Overviews rewrite affects it, and the meta templates that consistently earn engagement — lives in our CTR and meta descriptions in 2026 deep dive.

Step 4: Headings

Headings describe the document’s structure to a screen reader and a parser. They are not styling tools. A screen reader user navigates by heading; a Google parser extracts semantic meaning from heading levels. Both audiences need correct hierarchy.

One H1 per page

The H1 should be the page’s primary topic. It should match or closely echo the title tag. If the title tag says “How to Audit Your On-Page SEO” and the H1 says “Introduction to SEO,” Google has a relevance signal mismatch to resolve.

Only ever use one H1 per page. Using multiple H1s does not immediately tank rankings, but it dilutes the semantic signal about what the page is primarily about.

H2s for sections

H2s answer a sub-question of the primary topic. “Why Canonical Tags Matter” is a valid H2 under an H1 of “On-Page SEO Audit Checklist” because it is a distinct sub-topic that a reader navigating by heading would expect to find.

H3s for sub-sections

H3s nest inside H2s. “Canonical Mistakes on Paginated Pages” is an H3 under the H2 “Canonical tag.” You never jump from H2 directly to H4.

Never skip heading levels

Skipping H2 and jumping to H3 signals broken document structure to parsers. This is most common when a page starts with an H2, then a designer adds a “Note” or “Important” callout styled as an H3 — but the surrounding conceptual structure was never an H2 to begin with.

Never use headings for styling

H4, H5, and H6 have no SEO function. They exist for accessibility hierarchies in long documents. If you are using an H4 because you want bigger text, use a CSS class instead. If you are using an H4 because the design calls for it, redesign the component.

Run your page through the Heading Hierarchy Checker to audit its heading structure before publishing.

Step 5: Content depth

“Depth” in 2026 is not word count. It is entity coverage. A 500-word page that mentions all the entities a top-3 result mentions will outperform an 3,000-word page that misses key entities. Entity coverage is what Google’s natural language processing uses to understand what your page is actually about.

Entity audit method

  1. Pull the SERP for the target query. Note the top 3 organic results.
  2. For each of the top 3, extract every named entity — people, places, products, organisations, concepts, events. Tools like NLP APIs can do this programmatically; manual extraction works for high-priority pages.
  3. List every entity from the top 3 on one side of a comparison table.
  4. List every entity your page mentions on the other side.
  5. Every entity in the left column that is missing from the right column is a gap.
  6. For each gap, add one to three sentences that naturally incorporate the missing entity.

Freshness signals

Google distinguishes between pages that were never updated and pages that were recently refreshed. Adding an updatedDate in the page’s frontmatter — which feeds the dateModified in your schema markup — signals to Google that the content has been reviewed and is current. A page last updated in 2022 with no refreshed date is treated as stale by the classifier, regardless of its actual content quality.

Internal links transfer PageRank and signal topical relationships. Three to five contextual internal links per page is the sweet spot — enough to establish the page’s position within the topical cluster, not so many that the link equity arriving at the page is diluted across too many destinations.

Anchor text principles

Descriptive anchor text helps both Google and human readers. “canonical tag mistakes” is better than “click here.” “core web vitals guide” is better than “the guide we mentioned.”

Avoid over-optimised exact-match anchor text — “best SEO tools” linking to a page about SEO tools — at scale. A natural link profile includes a mix of branded, partial-match, and generic anchors.

The first link to a destination in a page’s HTML receives the most signal. This is why hub pages — pages with many inbound links from cluster content — receive the most PageRank. When placing internal links, think about which page most needs the signal and whether the natural reading order puts that page’s link first.

Cluster architecture

The hub-and-spoke model structures internal links so that pillar pages (the hub) link out to supporting cluster pages (the spokes), and cluster pages link back to the pillar. This concentrates PageRank on the pillar, which then distributes it back to the cluster. The full algorithm — including topical authority scoring, PageRank flow, and the orphans trap — is in our Internal linking algorithms deep dive.

Step 7: Structured data

Schema markup earns rich results when it is correctly implemented. The two most common failures are using the wrong schema type and injecting the JSON-LD block with JavaScript after page load.

Common schema types for content pages

  • Article / BlogPosting: Standard for blog posts. Triggers in Google’s index.
  • FAQPage: Appropriate if the page’s primary purpose is answering questions. Earns rich results in FAQ format.
  • HowTo: Appropriate for step-by-step instructional content. Triggers a rich result with step-by-step display.
  • BreadcrumbList: Present on most pages. Signals to Google the page’s position in the site hierarchy.
  • Organization: Present on the homepage or about page. Establishes the site as a entity.

Validation workflow

  1. Implement the schema type using our Schema Generator.
  2. Paste the rendered HTML into Google’s Rich Results Test.
  3. Confirm the test returns the expected rich result type.
  4. Check the URL in Search Console’s Enhancements report to confirm Google is detecting the schema.

Step 8: Images

Images on a page serve three purposes: they illustrate the content for human readers, they provide alt text as a semantic signal for Google, and they represent a performance risk if not properly optimised.

File naming

File names are the first signal Google receives about an image’s content. serp-preview-tool.webp is immediately informative. IMG_4521.jpg tells Google nothing.

Use hyphen-separated descriptive words. Include the primary keyword where natural — but not as a list of keywords.

Alt text

Alt text serves two masters: screen reader users who cannot see the image, and Googlebot which uses it to understand the image’s content.

Write alt text as a description of what the image shows, not a repetition of the page’s primary keyword. “Screenshot of the SERP preview tool showing title truncation at 58 characters” is better than “SEO tool SERP preview.”

Images that are purely decorative — visual flourishes, spacer images — should have alt="" so screen readers skip them.

Format and sizing

AVIF is the best format for photographs and complex images at the smallest file size. WebP is the best fallback for browsers that do not yet support AVIF. JPEG remains acceptable for photographic content where AVIF is not available.

Serve the image at the display size — not at 2400px width for a 400px slot. Responsive images with srcset let the browser pick the appropriate size for the viewport.

Lazy loading

Apply loading="lazy" to all below-the-fold images. The browser will not load them until the user scrolls near them, which improves Largest Contentful Paint. Do not lazy-load the largest image above the fold — that image is part of the critical rendering path and must load eagerly.

Step 9: Post-publish audit

A page audit is not finished at publish. The SERP is a live environment; rankings change, competitors update their pages, and Google’s algorithm makes adjustments. Run the audit again at 30, 90, and 180 days.

30-day review

  • Check indexing. Use the URL Inspection tool to confirm the updated page was crawled and indexed. If it was not, the noindex may still be present, or the page may have a canonical pointing elsewhere.
  • Check CTR. In Search Console, look at the page’s CTR for its target query. Below 3% is a signal to rewrite the title. Between 3% and 7% is acceptable for informational queries. Above 7% is strong.
  • Check position. If the page is ranking but stuck at position 8–12, the content depth is insufficient relative to the top results. Return to the entity audit in Step 5.

90-day review

  • Check for content drift. Over time, pages accumulate edits from multiple authors. A page that started as a tutorial may have acquired product links, affiliate mentions, or tangential tangents that dilute its original intent. Review the content against the original title and H1 and cut anything that does not directly support the stated topic.
  • Check internal link equity. Have other pages been published since that link to this one? If the page is in a cluster, new cluster content should link back to the pillar. If those links were never added, add them.

Quarterly review

  • Re-run the entity audit. The top-ranking pages for a query change over time as Google’s algorithm updates its understanding of user intent. A query that returned listicles in 2024 may return how-to guides in 2026.
  • Update statistics and dates. Any cited statistic older than 24 months reads as stale. Replace outdated numbers with current ones, or remove the statistic if a current figure is not available.

Key takeaways

  • Run the crawl audit before touching content — technical issues block all on-page work.
  • Title tags and heading alignment with search intent are the highest-leverage on-page factors.
  • Entity coverage matters more than word count — match the entities in top-ranking pages.
  • Internal links transfer signal across the topical cluster; three to five contextual links per page is the sweet spot.
  • Structured data earns rich results only when the JSON-LD is server-rendered, not JavaScript-injected.
  • Post-publish audits at 30, 90, and 180 days catch the issues that only appear in a live SERP environment.

Frequently asked questions

How long does an on-page SEO audit take?

A thorough on-page audit for a single page takes 20–40 minutes the first time. The checklist above is sequenced so you find the highest-impact issues first — title tags and headings typically move position more than anything below the fold. On subsequent audits, the same checklist runs in under 10 minutes because you already know the page’s baseline.

What is the most impactful on-page factor?

Title tag and heading alignment with search intent. If your H1 answers the same question as the title tag and both match what the top-ranking pages answer, the page has a strong foundation. Schema markup, image alt text, and internal links then sharpen what is already there. The most common mistake is spending weeks on content depth when the title tag is misaligned with intent.

How often should I audit a page?

Run the full checklist after publishing a new page, then again after 30 days to catch any indexing gaps. A quarterly re-audit catches drift — a page that ranked well in January may have slipped after the algorithm’s next core update. Keep the audit checklist as your reference so the review is fast and systematic.

Does on-page SEO still matter with AI Overviews?

On-page SEO is the foundation that determines whether your page is eligible for AI Overviews at all. The ranking signals that matter — answer-first content, clear heading hierarchy, structured data, and topical depth — are the same signals that make a page worth citing in an AI answer. A page that is thin, misaligned with intent, or missing schema will not be cited regardless of its domain authority. Optimize for the page; AI visibility follows.

How do I audit a page I did not write?

Approach every page as if you were Google’s crawler: start at the URL, read the title and H1, scan the first 200 words for intent alignment, then work through the nine steps in order. Do not let familiarity with the page’s topic blind you to the checklist. The checklist is designed to catch the specific signals that machines use; a human reader will fill in context that Googlebot cannot infer.

Step-by-step

  1. Crawl the URL

    Use your audit tool to pull every meta tag, heading, image, internal link, and structured-data block on the page.

  2. Score against the SERP

    Open the SERP. Compare title length, schema.org types, and content depth against the top 3.

  3. Fix titles and descriptions

    Write the title for click-through, not for length. Descriptions: 150-160 chars, pixel-accurate.

  4. Realign headings

    One H1, H2s for sections, H3s for sub-sections. Never skip levels. Never use headings for styling. Paste your HTML into the [Heading Hierarchy Checker](/tools/heading-hierarchy-checker/) to audit it.

  5. Tighten the content

    Add missing entities. Remove fluffy intros. Move the answer above the fold.

  6. Wire internal links

    3–5 contextual internal links per page. Anchor text descriptive, not generic. The full algorithm — hub-and-spoke, topical clusters, PageRank flow, and the orphans trap — is in our [Internal linking algorithms](/blog/internal-linking-algorithms/) deep dive.

  7. Ship and re-audit in 30 days

    Wait for recrawl. Compare CTR, position, and impressions in Search Console.

FAQ

Frequently asked questions

The questions readers ask before they put the playbook to work.

A thorough on-page audit for a single page takes 20–40 minutes the first time. The checklist above is sequenced so you find the highest-impact issues first - title tags and headings typically move position more than anything below the fold. On subsequent audits, the same checklist runs in under 10 minutes because you already know the page's baseline.
Title tag and heading alignment with search intent. If your H1 answers the same question as the title tag and both match what the top-ranking pages answer, the page has a strong foundation. Schema markup, image alt text, and internal links then sharpen what is already there. The most common mistake is spending weeks on content depth when the title tag is misaligned with intent.
Run the full checklist after publishing a new page, then again after 30 days to catch any indexing gaps. A quarterly re-audit catches drift - a page that ranked well in January may have slipped after the algorithm's next core update. Keep the audit checklist as your reference so the review is fast and systematic.
On-page SEO is the foundation that determines whether your page is eligible for AI Overviews at all. The ranking signals that matter - answer-first content, clear heading hierarchy, structured data, and topical depth - are the same signals that make a page worth citing in an AI answer. A page that is thin, misaligned with intent, or missing schema will not be cited regardless of its domain authority. Optimize for the page; AI visibility follows.
Approach every page as if you were Google's crawler: start at the URL, read the title and H1, scan the first 200 words for intent alignment, then work through the nine steps in order. Do not let familiarity with the page's topic blind you to the checklist. The checklist is designed to catch the specific signals that machines use; a human reader will fill in context that Googlebot cannot infer.