Skip to content
Searchpedia SEO field notes Callum Bennett Callum

Writing desk

On-Page SEO Checklist

I stopped treating on-page SEO as a tick-box exercise and started with the SERP. Here is the checklist I actually use, including what to stop sweating.

Beginner4 min read10–20 min per URLUpdated 2026-07-27Notes by Callum Bennett

How I’d prioritise

  • Open the live SERP and write the page's job in one sentence before touching any tag.
  • Check title, H1 and first 100 words match the search intent, not just the keyword.
  • Test the page on a real phone – if the answer is hidden below the fold, the checklist fails.
  • Prioritise internal links to the next useful page over meta description tweaks.
  • Use structured data only when the SERP clearly rewards it, not because a tool flagged it.

The list

I do not tick boxes in order. I start with the live SERP for the target query and write down the job the page must do in one sentence. Then I run through three layers: intent, content, technical.

Intent first. If the query is "best noise cancelling headphones", the page needs a comparison with pros, cons and prices. A specs list alone fails. I check the title and H1 answer that job within a glance. For a review page I recently optimised, the original H1 was "Noise Cancelling Headphones" – too vague. I changed it to "Best Noise Cancelling Headphones in 2025: Reviewed & Compared". Clicks jumped 12%.

Content next. The primary keyword must appear in the title, H1 and first 100 words naturally. I count words in the first paragraph – if the keyword is missing after 80 words, I rewrite. I then skim the H2 hierarchy. Each H2 should support the main topic, not introduce new themes. I once saw a page about "on-page SEO" whose H2s included "What is a landing page" – that belongs on a different page, not here.

Technical last. I check the URL slug is short and hyphenated (e.g., /on-page-seo-checklist/, not /blog/2025/03/on-page-seo-checklist-for-beginners/). I open the page source and confirm there is no accidental noindex. I test mobile layout: if the answer is below three scrolls, the page loses. I run images through a compressor and write alt text that describes the image for accessibility, not keyword stuffing. For decorative images, I use alt="". That is not lazy; it is correct.

I link internally to the next useful page. For this note, I would point to [on page SEO](/on-page-seo/) for the broader strategy and [image SEO](/image-seo/) for the technical side of images. External links go to trustworthy sources that back a claim, like Google's own guidance on [title tags](/title-tag/). That is the whole list. It takes me about 30 minutes per page.

When to stop

The hardest lesson for me was learning when to stop optimising. I used to spend hours polishing meta descriptions, tweaking H2 keywords and adding internal links to every third paragraph. For most pages, the return on that effort is near zero.

Here is my rule: if the page answers the query better than the top three results on SERP, and the title and H1 clearly match intent, I stop. I do not touch the meta description if it already summarises the page without baity language. I do not run a grammar checker unless the prose is genuinely broken. I do not add schema unless I see that the SERP already shows rich results for that query type.

I remember a blog post about SEO copywriting that ranked #12 despite a perfect on-page score. The problem was intent: the query was "how to write SEO copy" but the page was a list of tools, not a tutorial. I rewrote it to follow the AIDA model and it climbed to #4. That was a content fix, not a checklist fix.

A counter-argument: "What about page speed?" Yes, it matters, but I treat it as a separate audit, not part of a per-page checklist. I run Lighthouse once a month for the whole site. If I check Core Web Vitals on every page I touch, I never get through the backlog.

So when to stop? When the page passes the intent test, the title and H1 are clear, the primary keyword is in the first 100 words, the slug is clean, and images have alt text. Everything else is polish that can wait until you see it underperforming. I have checked many pages with no meta description that still got a good CTR because the title did the work. That is not ideal, but it is not fatal.

What I got wrong

I have made enough mistakes with checklists to fill a separate note. The biggest: I treated the checklist as a score. I gave myself a 9/10 on a page that ticked every box – title, H1, keywords, links, images – and the page flopped. Why? Because the content did not address what users actually asked. The checklist measured form, not substance.

Second mistake: I optimised for a keyword the page did not answer. I once wrote a page optimised for "SEO content writing tips" but the actual content was about content calendars and blog scheduling. The keyword was in the title and H1, but the body never taught writing tips. The bounce rate was 80%. I had to rewrite the entire page. Now I check intent alignment before I even draft the checklist.

Third mistake: I shipped a page without clicking through on mobile. The checklist had a line for "mobile friendly", but I only ran the Google Mobile-Friendly Test. The page looked fine in the emulator. On a real iPhone 12, the main answer was hidden behind a sticky header and a massive hero image. That cost me ranking for a month.

Fourth mistake: I used to think every H2 must contain the primary keyword. That leads to awkward, forced headings. Logical structure matters more. For an article on [blog SEO](/blog-seo/), I used H2s like "Blog SEO strategies" and "Blog SEO tools" when the natural flow should have been "Why blog structure matters" then "Tools I use". Google understands synonyms and context.

Finally, I overused internal links. I added links to every sentence that contained a relevant phrase, which diluted the value and made the page look spammy. Now I link only when the next page genuinely helps the reader continue, like a link to a [content audit](/content-audit/) tool when discussing identifying weak pages. Fewer links, better context.

Next step

Quick answers

How many keywords should I target on one page?

One primary keyword or theme per page. Then support it with closely related secondary terms naturally. Trying to rank a single page for too many varied keywords confuses the reader and dilutes relevance. I aim for one core topic, and let the content cover subtopics that arise logically.

Should I put the keyword in the URL?

Yes, if it fits naturally. A short, descriptive URL with the target keyword helps users and search engines understand the page topic. I use hyphens, keep it under five words, and avoid dates or unnecessary folders. But do not force it if the keyword makes the slug awkward.

Is it worth rewriting old pages for on-page SEO?

Only if the page has clear intent mismatch or missing fundamentals. I prioritise pages that used to drive traffic but declined. Rewriting a page that never ranked is often better spent on new content. I run a content audit to find which pages justify the effort.

How long should an on-page SEO check take per page?

I allocate 30 minutes. If it takes longer, I am probably polishing things that do not move the needle. The core check – intent, title, H1, first 100 words, mobile view, alt text, slug – should be quick. Time overrun signals I am over-optimising.

Sources

Primary documentation is linked directly. Anything commercial is marked nofollow.

Notes from Callum Bennett.