SEO On-Page Checklist
22 on-page factors — from title-tag length to internal-link depth to schema markup — that consistently move rankings.
Twenty two on page checks, ordered the way you should actually work through a page: intent first, then content, then the technical details, then the links. Each check has a concrete pass condition, so this can be run by anyone on the team and produce the same result. It covers a single URL. Run it before publishing and again when a page underperforms.
Reach for this when
- You are about to publish a page you want to rank and you want one pass before it goes live.
- A page ranks on page two and you need to find what is missing rather than rewriting it.
- You inherited a site and need a repeatable audit you can hand to a junior marketer.
- You are briefing a writer or an agency and want the on page standard written down.
Intent and targeting, checks 1 to 4
The most common reason a well written page does not rank is that it answers a different question from the one being asked. Settle this before touching anything else.
- 1. One primary query per page, written down. Two pages targeting the same query will compete with each other.
- 2. Search the query and read the top five results. Match the dominant format, whether that is a guide, a comparison, a tool, or a local listing.
- 3. Confirm the intent type: informational, commercial, transactional, or navigational, and confirm the page matches it.
- 4. Check you do not already have a page targeting this query. If you do, improve that one instead of publishing a competitor to yourself.
Content, checks 5 to 10
Content checks are about completeness and answerability, not word count. The target is a page a reader does not need to leave to finish the task.
- 5. The primary query appears in the first 100 words, phrased naturally.
- 6. The page answers the query directly within the first two paragraphs, before any background.
- 7. Every question in the People Also Ask box for that query is either answered or deliberately excluded.
- 8. Subheadings are real questions or real steps, not clever labels. Scanning the H2s should summarise the page.
- 9. The page includes something no competitor has: original data, a worked example, a template, a calculation, or a named practitioner's view.
- 10. Content is current: dates, prices, tool names, and screenshots all reflect today and not the year it was written.
Titles and metadata, checks 11 to 14
These are the parts that decide clicks, not just rankings. Write them for a human scanning ten results.
- 11. Title tag leads with the primary query and stays roughly under 60 characters so it is not truncated.
- 12. Title is unique across the site. Duplicate titles are a strong signal of duplicate intent.
- 13. Meta description is 140 to 158 characters, describes the payoff, and includes the query once. It does not affect ranking, it affects click through.
- 14. Exactly one H1, and it matches the promise in the title tag without being identical to it.
Technical, checks 15 to 19
The mechanical layer. Each of these is binary, quick to verify, and each one can silently prevent an otherwise strong page from ranking.
- 15. URL is short, lowercase, hyphen separated, and describes the content without dates or parameters.
- 16. Canonical tag is present and points to itself, unless the page is a deliberate duplicate.
- 17. Page is indexable: no accidental noindex, not blocked in robots.txt, and present in the sitemap.
- 18. Images have descriptive alt text, are compressed, are correctly sized, and use modern formats. The largest image should not be the reason the page is slow.
- 19. Structured data matches the page type, Article, FAQ, HowTo, Event, JobPosting, or LocalBusiness, and validates without errors.
Links and experience, checks 20 to 22
The last three are where most sites leave the largest gains, because they are nobody's specific job.
- 20. Internal links in: at least three other relevant pages link to this one using descriptive anchor text, and the page is reachable within three clicks of the homepage.
- 21. Internal links out: the page links to the related pages a reader would logically want next, including the relevant pillar page.
- 22. Core Web Vitals pass on mobile, the page has one obvious next action, and nothing important is hidden behind an interstitial or a cookie wall.
How to score it
A checklist without a threshold becomes advisory. Set the bar before you audit, so nobody negotiates it afterwards.
- Score each check as pass, fail, or not applicable.
- Do not publish below 20 passes out of the applicable checks.
- Fix intent failures first. No amount of technical work rescues a page aimed at the wrong query.
- Recheck 30 days after publishing, then quarterly for pages that matter.
How to use it
- Copy the 22 checks into a sheet with one column per URL, so audits are comparable over time.
- Start with your ten highest value pages rather than the whole site. The distribution of value is never even.
- Work top to bottom. The order is deliberate, because later checks are wasted effort if check 1 fails.
- Record the fix and the date next to every failure, so you can correlate changes with ranking movement later.
- Add the checklist to your definition of done for content, and make the writer run it before review rather than the editor after.
- Re run on any page that drops more than five positions, before assuming an algorithm update caused it.
Common mistakes
- Optimising a page for a query that its format cannot win, such as a blog post aimed at a query returning only product pages.
- Publishing several near identical pages for variations of one query, which splits the signal instead of concentrating it.
- Treating structured data as decoration. Invalid or mismatched schema does nothing at best and suppresses rich results at worst.
- Ignoring internal linking because it feels less measurable than the rest. It is often the cheapest available gain on an existing site.