How to Audit On-Page SEO: A Practical Checklist
An on-page audit answers one question: does this page give a search engine and a reader everything they need to understand it and act on it? It is a page-level job, not a site-wide crawl. You can work through the whole list below on a single URL in about fifteen minutes, and the order matters, because a page that cannot be indexed does not benefit from a better title.
What on-page SEO actually covers
- Indexability: whether the page is allowed into the index at all: robots directives, canonical, HTTP status, and whether the content is in the HTML the crawler receives.
- Relevance: whether the content matches the query it targets: headings, body copy, entities, internal links, and image context.
- Presentation: how the page shows up once it ranks: title, description, structured data, breadcrumb URL, and social cards.
Page speed, Core Web Vitals, and server configuration matter too, but they are technical SEO and need different tools. This checklist stays inside the document.
The checklist
1. Confirm the page can be indexed
Look for a robots meta tag with noindex, and remember that the same directive can arrive as an X-Robots-Tag HTTP response header, which is invisible in the HTML. A staging noindex shipped to production is one of the most common and most expensive SEO bugs there is.
<meta name="robots" content="index, follow" />
2. Check the canonical
The primary version of a page should carry a self-referencing canonical with an absolute URL. A canonical pointing somewhere else tells Google to consolidate this page into that one, which is right for parameter variants and wrong for a page you want ranking on its own. See canonical tags and duplicate URLs for the failure modes.
3. Check the title tag
Aim for roughly 30 to 60 characters, lead with the phrase the page targets, and keep the brand at the end if you include it at all. Every page on a site needs its own title: duplicated titles across a template are a strong signal that nobody looked. The real constraint is pixel width, covered in title tag and meta description length limits.
4. Check the meta description
Roughly 70 to 160 characters, written as a promise about what the reader gets, not a list of keywords. It is not a ranking factor, and Google frequently writes its own snippet instead, but when yours is used it decides your click-through rate.
5. Check the heading outline
One H1 that states the subject, then H2 and H3 levels in order with no skips. Read only the headings from top to bottom: if that alone does not tell you what the page covers, the outline needs work rather than the prose. Details in heading structure and alt text.
6. Match the content to the query
- Does the page answer the query in its first screen, before any preamble?
- Does it cover the follow-up questions a reader will have next?
- Is there anything on the page only you could have written: your data, your screenshots, your worked example?
- Is the primary phrase present in the title, the H1, and the first paragraph, without being repeated mechanically?
7. Audit the internal links
Count them, read their anchor text, and check where they go. Anchors like "click here" and image links with no alt text pass no information. The same anchor text pointing at two different URLs is a signal that your own site is unsure which page owns that topic.
8. Check images
Every image needs an alt attribute. Meaningful images get a short description, decorative ones get alt="" so screen readers skip them. A missing attribute and an empty one are different states, and only the second is a deliberate choice.
9. Check outbound and internal links for breakage
Broken links waste crawl budget, dead-end readers, and quietly strand any authority you meant to pass. Check the status code of each link rather than clicking a sample. See how to find and fix broken links.
10. Validate structured data
If the page carries JSON-LD, confirm it parses, that the type has its required properties, and that everything in the markup is also visible on the page. See how to check structured data.
11. Check hreflang and social tags
If the page has translations, its hreflang cluster has to be self-referencing and reciprocal (hreflang tags explained). Then confirm og:title, og:description, og:image, and twitter:card exist, so a shared link renders as a card instead of a bare URL.
Turn the findings into a fix list
Not every warning deserves work. Sort what you found by whether it blocks indexing, costs clicks, or is merely untidy, and fix in that order.
| Severity | What it means | Examples |
|---|---|---|
| Blocking | the page cannot rank, or ranks as the wrong URL | noindex in place, canonical pointing at an unrelated page, 404 status, content only present after JavaScript the crawler cannot run |
| Costly | the page ranks but loses clicks or eligibility | missing or truncated title, missing description, no H1, invalid JSON-LD, broken internal links, missing Open Graph tags |
| Tidy-up | worth fixing, no urgency | skipped heading level, decorative images with no explicit alt="", a stray nofollow, a slightly long description |
How often to re-run it
- Every page, once, before it is published. This is where the cheapest wins are.
- After any template or CMS change, on one page per template, because template bugs hit every page at once.
- On your top twenty pages quarterly, since links rot and titles drift as products change.
- Any time a page loses traffic without a ranking explanation, start here before reaching for content rewrites.
A page that passes every check here can still rank poorly, because relevance and authority are not on-page properties. What this audit buys you is the guarantee that nothing mechanical is holding the page back.
Common questions
What is the difference between on-page and technical SEO?
On-page SEO is what is inside the document: titles, headings, content, links, markup. Technical SEO is the infrastructure around it: crawling, rendering, status codes, site speed, sitemaps, and server configuration. The two overlap at indexability, which is why robots directives and canonicals appear on both checklists.
Do I need to fix every warning an SEO tool reports?
No. Tools report deviations from best practice, not confirmed ranking problems. Fix anything that blocks indexing, then anything that costs clicks, and treat the rest as optional polish. A page with a slightly long meta description and one skipped heading level is fine.
How long does an on-page audit take?
About fifteen minutes per page by hand once you know the checklist, and most of that time goes into judging content quality rather than reading tags. The mechanical checks are fast to automate; deciding whether the page actually answers the query is the part that still needs you.
Can I audit a page that is not published yet?
Yes, and this is the best time to do it. Any staging URL or local preview works, because every check in this list reads the page you are looking at rather than querying an external index.