On Page SEO
I stopped guessing what to optimise and started with the SERP itself. On-page SEO is a sequence of checks, not a checklist.
What I’d do first
- Analyse the search intent for your target keyword before writing a single word. The SERP format tells you what to build.
- Write a clear, descriptive H1 that matches the topic, not necessarily the exact keyword. Prioritise clarity over repetition.
- Add internal links to related pages using natural anchor text. Link when it adds context, not for distribution.
- Compress images and write descriptive alt text that serves accessibility first, SEO second.
- Check page speed and mobile responsiveness with Lighthouse before you hit publish. A slow page undermines everything else.
The path I'd take
I start with search intent before I write a line. I pull up the SERP and note the dominant format: guides, product pages, listicles, or videos. If the top ten results are all e-commerce product pages and I am writing a blog post, I back away. That sounds obvious, but I wasted months doing the opposite.
Once I confirm intent, I write content that answers the searcher's question better than the current top result. Not longer — better. I use a single H1 that matches the topic, not the keyword verbatim if it sounds forced. Then I break the body into H2s that cover each subtopic the searcher cares about. I find those subtopics by scanning the People Also Ask box and the top-ranked pages.
After the content is solid, I optimise the [SEO title](/title-tag/) and [meta description](/meta-description/). I write a title that promises what the page delivers and puts the key phrase near the front. The meta description is a complete sentence summarising the value, sometimes with a natural call to action. No keyword stuffing.
Next come internal links. I connect the page to related content where it adds context, not just for the sake of linking. I use descriptive anchor text. [Internal links](/internal-links-seo/) help users navigate and help crawlers understand the site structure.
I compress every image, rename the file to something descriptive, and write [alt text](/alt-text/) that describes the image for accessibility. If the image is a chart of last year's traffic, the alt text says 'Traffic chart showing 20% growth in organic sessions'. Not 'chart'. Then I run Lighthouse. If the page loads over three seconds on mobile, I fix that first. Mobile responsiveness is non-negotiable.
Every step is a check, not a one-time setup. I revisit high-traffic pages quarterly. For example, I recently reviewed a guide on [landing page optimisation](/what-is-a-landing-page/) and found two broken internal links and an outdated stat. They are fixed now.
Watch-outs
First watch-out: ignoring search intent. Many people optimise for a keyword without checking what Google already shows. If the SERP has recipe results and you write a history lesson, you lose. I have seen this kill traffic for months.
Second: keyword stuffing in headings and alt text. Search engines are good at understanding context. You do not need the keyword in every H2. Use variations and synonyms. Write for a human.
Third: neglecting mobile. Over sixty percent of searches happen on mobile. If your page has tiny text, slow load, or unclickable links, you rank poorly regardless of content. I test every page on a real phone before publishing.
Fourth: duplicate title tags. If multiple pages share similar titles, search engines get confused. Every page needs a unique, descriptive SEO title. I use a [title checker](/title-checker/) to spot overlaps.
Fifth: ignoring indexation. I once spent two weeks optimising a page that had a noindex tag in the meta robots. Check that the page is allowed to be indexed.
Sixth: over-optimising anchor text. If all your internal links say 'best SEO tools', it looks spammy. Vary the phrasing. Use natural phrases like 'check out my guide on SEO tools'.
Seventh: writing for yourself, not the user. Long paragraphs, no subheadings, no whitespace. People scan. Use bullet points, bold for emphasis, short paragraphs. I aim for a fourth-grade reading level.
Eighth: forgetting to update. On-page SEO is not set-and-forget. Content ages, competitors improve, search patterns shift. Schedule a [content audit](/content-audit/) every six months.
Ninth: ignoring image SEO. A large uncompressed image can add three seconds to load time. Optimise file size and use WebP where possible.
Tenth: not testing. I run A/B tests on titles and meta descriptions. A small change to a headline can lift click-through rate by thirty percent.
What I got wrong
I used to think on-page SEO was about matching keywords to headings and hitting the right density. I wrote pages that ranked but nobody finished reading. The bounce rate was terrible. I learned the hard way that Google measures user engagement signals.
I once used two H1 tags on one page because the design had a subtitle. That confused the crawler. Now I use exactly one H1 per page.
I ignored alt text for years. I thought it was optional. Then I realised it helps with image search and accessibility. Now I write descriptive alt text for every meaningful image. It is not just for SEO; it is for users with screen readers.
I also over-optimised internal links. I forced the exact keyword into anchor text every time. That made my linking look unnatural. I now vary the phrasing and link only when it adds value.
I wasted time on the meta keywords tag. That has been useless for a decade. I removed it from all pages.
I believed longer content always ranked better. Not true. I have 800-word articles outranking 3,000-word ones because they answered the query directly. Length is a side effect of completeness, not a goal.
I neglected mobile-first indexing. I had a desktop site that looked perfect, but on mobile the text overlapped and buttons were too small. I fixed that after losing traffic for a month.
I thought on-page SEO was a checklist you do once. It is not. The page's performance changes over time. Competitors add new sections. Your old internal links go stale. You need to revisit.
The biggest lesson: write for the person who has the question, not for the algorithm. The algorithm learns what people like. If you satisfy the searcher, you satisfy Google.
Next step
Quick answers
Should I include the target keyword in every heading?
No. Google understands synonyms and context. You do not need to repeat the exact keyword in every H2 and H3. Use variations and related terms naturally. Forcing keywords into every header makes the page stilted and harms readability. Focus on clarity and user intent.
How often should I update on-page elements?
At least every six months. Search intent and competitive landscape change over time. Your pages can become stale. I review high-traffic pages quarterly and others every six months. Update statistics, add new examples, fix broken internal links, and refresh meta descriptions to keep the page performing.
Does on-page SEO include technical factors like page speed?
Yes. Many specialists separate technical SEO from on-page, but page speed, mobile responsiveness, and indexability directly influence how users experience the page and how easily crawlers access it. Google has confirmed speed as a ranking factor. So I include it in every on-page audit.
Sources
Primary documentation is linked directly. Anything commercial is marked nofollow.
- Google Search Central — Primary source for Google’s official guidance on how search works, indexing, and page quality.
- Google SEO Starter Guide — Baseline on-page SEO steps for titles, headings, and content clarity.
- Moz Beginner's Guide to SEO — Widely referenced educational resource explaining core on-page concepts and page intent.
- Ahrefs Blog: On-Page SEO — Practical, current on-page optimisation guide covering content, internal links, and page structure.
Notes from Callum Bennett.