On-Page SEO
On-page SEO: a complete guide to page optimisation

On-page SEO covers everything you control on the page itself: titles, tags, content, URL structure, internal links, images, and speed. We break down each element and show how to build a page that Google understands and users actually want to read.
On-page SEO is the optimisation of every element on the page itself: tags, content, URL structure, images, internal links, and loading speed. Unlike off-page SEO (backlinks, external mentions), on-page is entirely within your control. That makes it the most accessible and fastest-to-verify area of optimisation.
What is on-page SEO and what does it cover
When Google evaluates a page, it analyses dozens of on-page signals. These fall into three groups: technical signals (tags, URL, speed), content signals (text, headings, keywords, E-E-A-T), and UX signals (structure, navigation, user engagement).
Ranking factors
Google uses around 200 ranking factors, most of which have an on-page component
LCP impact
A 0.1 s LCP increase reduces e-commerce conversions by 8% (Google/Deloitte)
Mobile bounce rate
Of users abandon a page that takes longer than 3 seconds to load on mobile
Organic CTR
The first three positions capture ~60% of all clicks — on-page affects every one of them
Title and meta description: first impressions in search
The title tag is the weightiest on-page signal. It's the primary field Google uses to determine the page topic, and the first thing a user sees in search results. The meta description is not a direct ranking factor, but it affects CTR: a compelling description increases click-through rates, which indirectly improves rankings.
Title writing rules
- Length 50–60 characters — Google truncates longer titles at roughly 580 pixels
- Primary keyword closer to the start — first words carry more weight
- Unique title on every page — duplicates reduce Google's understanding of site hierarchy
- Omit the | brand suffix if the domain is already clear from the URL
- Sentence case, not Title Case — not penalised algorithmically, but more readable
- Avoid keyword stuffing: "SEO services SEO optimisation SEO London" is a red flag
Meta description writing rules
- Length 140–160 characters — Google rarely displays more, even on desktop
- Include the primary keyword — Google bolds matches with the user's query
- Unique for every page — duplicate descriptions reduce site-wide CTR
- Specific call to action: "Learn how to…", "Read the guide…", "Compare…"
- Avoid special characters and quotation marks — they're sometimes stripped on display
Heading structure H1–H6
Headings are the hierarchical map of a page — for Google and for the user. H1 signals the topic; H2 divides it into major sections; H3–H4 add further detail. A well-structured heading tree helps Google understand the semantics, and helps skimmers quickly find what they need.
H1 — one per page
The H1 should be unique on the page and contain the primary keyword. It doesn't need to be word-for-word the same as the title, but the topic must align. Optimal length is under 70 characters.
H2 — article sections
H2 divides the page into thematic blocks. Include semantically related queries and synonyms in H2s — they reinforce the page's topical relevance without duplicating the H1.
H3–H6 — detail layers
H3 and below add detail to H2 subsections. Don't skip levels (H2 → H4) — breaking the hierarchy makes it harder for crawlers to parse the content structure and disrupts page navigation.
Content and keywords
Google has moved from "keyword density" to "how well does this page solve the user's task?" This is the fundamental shift in on-page SEO. Keywords still matter — but as topic signals, not as density-manipulation mechanics.
Content quality by Google's standards
With the Quality Raters' Guidelines and the Helpful Content Update series, Google has formalised content quality standards. Evaluators assess pages against E-E-A-T criteria: Experience, Expertise, Authoritativeness, and Trustworthiness.
| Criterion | What it means in practice | How to implement |
|---|---|---|
| Experience | The author has first-hand experience with the topic | Real-world examples, case studies, screenshots of actual data |
| Expertise | Depth and accuracy of information | Specific figures, citations from primary sources, no generic platitudes |
| Authoritativeness | Author and site authority in the niche | Author bio, external mentions, links from other authoritative sources |
| Trustworthiness | Accuracy and transparency | Publication date, cited sources, named author, up-to-date data |
Keyword usage
Correct keyword usage in 2026 means semantic coverage of the topic, not mechanical density. Include the primary query in the H1, first paragraph, at least one H2, and a few times throughout the body. For long-form pages, add synonyms and LSI terms to broaden the semantic field.
- Primary query: H1, first paragraph, one or two H2s, URL, title, image alt text
- Synonyms and variations: distributed naturally throughout, without concentration
- Related terms: broaden topical coverage (LSI, NLP-adjacent terms)
- Don't repeat the same query in every subheading — it reads artificially and hurts readability
- Optimal keyword density: ~1–2% for the primary query (no hard rule exists)
- Check for cannibalization — is there another page competing for the same query?
URL structure
A URL is a one-shot signal: Google reads it once on first crawl and uses it to understand the topic and hierarchy. A well-crafted URL reflects site structure and includes the target keyword.
Human-readable words
Use words, not IDs: /blog/onpage-seo beats /p=4821. Words in the URL signal the topic and help users understand where a link will take them.
Hyphens as separators
Separate words with hyphens (-), not underscores (_). Google treats hyphens as word separators; underscores join words into a single string.
Keep it short
Shorter URLs are preferred by both Google and users. Remove stop words (prepositions, conjunctions) and keep only meaningful terms.
Logical hierarchy
The URL should reflect structure: /blog/category/article-slug. More than three levels of nesting signals navigation complexity. Avoid /page/subpage/subsubpage/article.
Internal linking
Internal links are one of the most underused on-page tools. They distribute PageRank between pages, help Google discover and crawl content, and create topical clusters that strengthen the authority of a section.
Anchor text for internal links
The anchor text of an internal link is a direct signal to Google about the target page's topic. Unlike external links, you control 100% of the anchors on your own site. Use descriptive anchors containing keywords from the target page.
| Anchor type | Example | Recommendation |
|---|---|---|
| Exact match | "title tag optimisation" | Use in moderation — 20–30% of links |
| Partial match | "how to write an effective title" | Optimal — natural and informative |
| Branded | "learn more at seohead.tech" | Acceptable, but carries no semantic signal |
| Generic | "here", "click", "link" | Avoid — provides no topic information |
Internal linking strategy
- Link to related pages from topically close articles — strengthens cluster structure
- Key service and category pages should receive more internal links than supporting content
- Add new pages to the internal link graph immediately from existing content
- 3–10 internal links per page is a reasonable guide for informational content
- Don't add links just to inflate the count — every link should serve the user
- Audit for broken internal links regularly: they waste crawl budget and create poor UX
Image optimisation
Images offer a double benefit: properly optimised, they speed up page load (improving Core Web Vitals) and attract traffic from Google Images. Unoptimised, they slow the site and increase server load.
Alt text
Alt is a description of the image for Google and for visually impaired users. Describe the content specifically and include the target keyword where appropriate. Don't fill alt mechanically with a single keyword repeated across all images.
Format and compression
WebP is the preferred format: 25–35% lighter than JPEG at comparable quality. AVIF is even lighter but browser support is incomplete. Compress images before uploading without visible quality loss.
File name
The file name is another topic signal: onpage-seo-guide.webp is clearer than IMG_3847.webp. Use hyphens and English words that describe the content.
Dimensions and lazy loading
Always specify width and height attributes — this prevents Layout Shift (CLS). Add loading="lazy" to images below the fold to avoid slowing the initial page load.
Page speed and Core Web Vitals
Since 2021, Core Web Vitals have been official Google ranking signals under Page Experience. They measure three dimensions of user experience: loading speed of visible content (LCP), interactivity (INP), and visual stability (CLS).
| Metric | What it measures | Good threshold | Poor threshold |
|---|---|---|---|
| LCP (Largest Contentful Paint) | Load time of the largest element in the viewport | ≤ 2.5 s | > 4.0 s |
| INP (Interaction to Next Paint) | Response delay to user interaction | ≤ 200 ms | > 500 ms |
| CLS (Cumulative Layout Shift) | Total visual element movement during load | ≤ 0.1 | > 0.25 |
Key speed optimisation areas
- LCP: optimise the hero image (WebP, preload), use a CDN, eliminate render-blocking resources
- INP: reduce JavaScript size, use code splitting, defer non-critical scripts
- CLS: set explicit dimensions on images and ad slots, avoid injecting content above the fold dynamically
- TTFB: optimise server response time, use caching, upgrade to HTTP/2 or HTTP/3
- Use PageSpeed Insights and Chrome DevTools to diagnose specific issues
- Check speed regularly — every theme or plugin update can degrade metrics
Structured data on the page
Schema.org structured markup lets Google not just index a page, but understand its type: article, recipe, product, FAQ, review. This unlocks Rich Results — enhanced snippets that increase CTR and make your listing stand out in search.
Most useful markup types
Article / BlogPosting
For blogs and news. Provides Google with author, publication date, and topic. Can activate the Top Stories carousel for fresh content.
FAQPage
Expands questions and answers directly in search results. Significantly increases the space occupied in the SERP, boosting visibility.
Product
Shows price, availability, and rating in the snippet. One of the highest-CTR Rich Result types for e-commerce.
Review / AggregateRating
Star ratings in search results. Significantly increase CTR: studies show 15–30% improvement in click-through rates.
On-page audit: checklist
Before optimising a page, you need to understand its current state. A systematic on-page audit reveals specific issues and helps prioritise what to fix first.
Technical elements
- Check indexability: the page is open to crawling (robots.txt, noindex) and accessible at the canonical URL
- Verify the canonical tag is correct: no conflicting canonical, no duplicates with query parameters
- Check the title — unique, 50–60 characters, contains the primary keyword
- Check the meta description — unique, 140–160 characters, no duplicates
- Check hreflang if the site is multilingual
- Ensure the URL is clean: no extra parameters, no uppercase letters, hyphens instead of spaces
Content and structure
- One H1 per page, containing the primary keyword, aligned with the title topic
- Heading hierarchy is logical: H2 → H3, no skipped levels
- Content covers the topic fully: answers all related user questions
- No keyword stuffing, no hidden text, no content duplicated from other pages
- Internal links placed with descriptive anchors
- All images have alt text and are optimised for size and format
Performance and UX
- PageSpeed Insights: LCP ≤ 2.5 s, INP ≤ 200 ms, CLS ≤ 0.1
- Page is mobile-friendly (Google Mobile-Friendly Test)
- Structured markup is correctly implemented and validated via Rich Results Test
- No broken links (404s), and outbound links point to live, relevant resources
- Page loads over HTTPS with no mixed content warnings