An on-page SEO audit isn’t about filling in fields in a plugin and calling the job done. It’s about reviewing, with judgment, whether each page of your site is doing everything possible to be understood by search engines and to satisfy those who arrive from a SERP. What follows is a practical checklist, organized by blocks, with concrete examples of what usually fails and what should be left out of the checklist.
Before touching anything: define the scope and the sample
Auditing an entire site of 5,000 URLs at the same level of detail is unfeasible. Most serious on-page audits work with a stratified sample: home, category and listing pages, product or service templates, blog articles with traffic, legal pages, and a random selection of the rest. If the site has fewer than 100 indexable URLs, it is reviewed in full.
A mistake I see repeated: auditing only the home page and the pages the client considers important. Templates (product, category, author, tag) are where systemic problems appear, and those are fixed once for hundreds of URLs. Prioritizing templates over individual pages saves weeks of work.
Block 1: indexability and on-page accessibility
Minimum checks
- Page-level robots tag: ensure there is no accidental noindex on pages that should rank. This is common in developments with staging environments that inherit the configuration.
- Self-referencing canonical on content pages and correct canonical on variants (filters, pagination, UTM parameters).
- Consistency between canonical and hreflang: if the Spanish version points its canonical to the English one, the Spanish one will not be indexed.
- Correct HTTP status: 200 on live pages, 301 on migrated URLs, 410 on permanently removed content.
- That the main content is visible in the initial HTML or, if there is JavaScript rendering, that the rendered version contains the same as the browser’s.
A real case: a store with color filters added a different parameter for each combination, all with a canonical to the base category. The base category had 12,000 variants pointing to it and crawling was consumed on URLs that would never be indexed. The solution was not to close everything with noindex, but to decide which combinations with search demand deserved their own page and consolidate the rest with canonical and coherent internal links.
Block 2: titles, meta descriptions, and headings
Checklist
- A single <h1> per page, aligned with the main intent of the content.
- Unique titles across the entire site. Export them all and sort them: duplicates tend to concentrate in poorly parameterized templates.
- Reasonable title length, without forced truncation. Google rewrites titles frequently; the goal is for yours to be the one shown, not to force an exact number of characters.
- Unique meta descriptions, with a value proposition and a call to action, without copying the first paragraph of the text.
- Coherent Hn hierarchy: H2s that group real sections, H3s within them. A stray H3 without a parent H2 isn’t a technical problem, but it indicates disorder in the structure.
Important nuance: headings are not a direct ranking factor because of their tag. Their value lies in the semantic structure and in how they help with featured snippets. If your audit sells the idea that changing H3 to H2 will raise rankings, you’re selling smoke.
Block 3: content and intent coverage
What to review page by page
- Does the page respond to the dominant intent of its target keyword? If the SERP shows comparisons and yours is a sales page, the content doesn’t fit even if it has the keyword in the title.
- Coverage of entities and subtopics: which related questions it covers and which it doesn’t. Tools like Google’s documentation on editorial quality and industry studies on topical authority serve as guidance, not as a recipe.
- Originality and added value: proprietary data, screenshots, examples, case studies. Content that only rewrites what is already in the SERP competes at a disadvantage.
- Freshness when applicable: prices, regulations, software versions. An article about a tool that changed its interface in 2025 needs revision.
- Contextual internal links from and to the page, with descriptive anchor text.
Real limit: there is no word threshold that guarantees rankings. I have seen 400-word pages outperform 3,000-word guides when they resolved the query better. Word count is an indicator of effort, not a ranking factor.
Block 4: media, links, and on-page structure
- Images with descriptive alt text (not keyword stuffing), modern format (WebP/AVIF), and declared dimensions to avoid layout shifts.
- Videos with a transcript or at least a textual description of the content.
- Outbound links: relevant external ones should not carry nofollow by default, and internal ones should not open in a new tab without reason.
- Varied and descriptive internal anchors. Avoid “click here” and “read more” on links that matter.
- Well-structured, accessible tables and lists with semantic headers.
Block 5: structured data and rich results
Verify that the schema.org markup matches the visible content. A common mistake is declaring FAQPage with questions that no longer appear on the page or with different answers. Google may ignore the markup or, in cases of structured spam, apply manual actions. Check with Search Console’s rich results tool and with the schema.org validator, but remember: markup doesn’t guarantee rich results, it only makes them possible.
Block 6: performance and page experience
Performance isn’t strictly on-page, but it affects how the page is evaluated. Include in the audit a check of Core Web Vitals at the template level, not just the home page. A detail that is only detected with field data: templates with acceptable LCP in the lab but poor on mobile due to hero images served without srcset. The official web.dev documentation on Core Web Vitals is the reference for interpreting the thresholds.
Block 7: measurement and closure
An audit without prioritization is useless. Classify findings by impact (high, medium, low) and by effort (development hours, content, configuration). Template problems that affect hundreds of URLs come first. Meta description adjustments on pages without impressions can wait.
Document each check with evidence: screenshot, example URL, number of affected URLs, and a concrete recommendation. And define how the correction will be measured: average positions of the affected URLs, CTR in Search Console, indexed pages before and after. Without a baseline there is no way to know whether the audit was worth anything.
What this checklist does not cover
This list focuses on on-page. It does not replace a deep technical audit (logs, crawl budget, complex JavaScript rendering) or a review of inbound links. Nor does it solve content problems that require prior keyword research or information architecture. If your site has thousands of URLs generated by parameters, the on-page part is only one piece of the puzzle.
And a final warning: no audit guarantees higher rankings. Identify problems, prioritize fixes, and measure. The rest depends on the competition, the domain’s authority, and factors you don’t control.