On-page SEO: complete guide
How to optimise every element on your pages to improve rankings and user experience
On-page SEO covers all the optimisations applied directly to a website’s pages to improve search engine rankings. Unlike off-page SEO (external links) or technical SEO (crawling and indexation), the focus here is on the content and HTML structure of each URL.
Mastering on-page SEO is essential because it’s the factor you have full control over. You don’t depend on third parties: you can optimise titles, descriptions, headings, internal links and content at any time to align with what your users are searching for.
Title tags: the most important element
The title tag is the on-page signal that carries the most weight for Google. It appears in the browser tab, in search results and when someone shares the URL on social media. A well-optimised title can make the difference between appearing on page one or page two.
The title should include the primary keyword as close to the beginning as possible, accurately describe the page’s content and stay between 50 and 60 characters to avoid truncation. Avoid keyword stuffing: a natural, click-worthy title always outperforms a forced one.
- Place the primary keyword at the start of the title whenever it sounds natural
- Keep it between 50 and 60 characters to prevent SERP truncation
- Every page should have a unique, descriptive title
- Add a differentiator: year, number or a concrete benefit
Meta descriptions that drive clicks
The meta description is not a direct ranking factor, but it hugely influences CTR (click-through rate). A compelling description can double clicks compared to a generic or missing one, which indirectly boosts rankings by sending positive behavioural signals.
Write descriptions between 120 and 155 characters that summarise the page’s value and include an implicit call to action. Include the primary keyword because Google bolds it when it matches the user’s query.
H1–H6 heading structure
Headings define the content hierarchy and help both users and search engines understand the page’s structure. The H1 should be unique per page and reflect the main topic. H2s divide the main sections, and H3–H6 create sub-levels.
A well-planned heading structure improves accessibility, enables visual scanning and can trigger rich results like featured snippets. Google uses headings to grasp the semantic context of content and determine its relevance for different queries.
- One H1 per page, including the primary keyword
- H2 for each thematic section, with keyword variations
- H3–H4 for subsections when the content calls for it
- Maintain a logical hierarchy: never skip from H2 to H4 without an H3
Strategic internal linking
Internal linking distributes authority (PageRank) across your site’s pages and helps Google discover and index content. A well-executed strategy reinforces the most important pages, builds topical context and improves the browsing experience.
Use descriptive anchor texts that include relevant keywords instead of generic phrases like “click here.” Link from high-authority pages to those you want to rank, and maintain a topical silo structure to reinforce the relevance of each content cluster.
- Link from high-traffic articles to the pages you want to boost
- Use descriptive anchor text with relevant keywords
- Create topical clusters by linking related content to one another
- Periodically check for broken internal links with tools like Screaming Frog
Content optimisation
Content is the backbone of on-page SEO. Google looks for content that satisfies the user’s search intent completely, accurately and originally. It’s not about repeating keywords but covering the topic in depth, answering the questions users actually have.
Analyse the SERPs for your target keyword before writing. Observe what format top-ranking results use (lists, tables, step-by-step guides), which subtopics they cover and which questions they answer. Your content should match at least the same level of coverage, ideally with a unique angle or additional data.
- Cover the search intent fully without filler
- Include the primary keyword within the first 100 words
- Use semantic variations and related terms naturally
- Add multimedia elements (images, tables, videos) when they provide value
Structured data and schema markup
Structured data (schema.org) helps Google understand your page’s content type and can trigger rich results: star ratings, prices, expandable FAQs, breadcrumbs and more. These enriched results increase visibility and CTR on the SERPs.
Implement schema with JSON-LD (the format Google recommends) directly in the HTML. The most useful types include Article, FAQPage, HowTo, Product, LocalBusiness and BreadcrumbList. Always validate your implementation with Google’s Rich Results Test before publishing.
- Use JSON-LD as the implementation format (recommended by Google)
- Article and FAQPage are the most cost-effective schemas for editorial content
- Product and Review are essential for ecommerce
- Validate with Google’s Rich Results Test before going live
On-page mistakes to avoid
The most frequent on-page SEO errors are not complex technical issues but basic oversights repeated due to a lack of process. Duplicate titles, missing meta descriptions, thin content, keyword stuffing and poor internal linking affect the majority of websites.
Establish an on-page review checklist for every piece of content you publish. Tools like Screaming Frog, Ahrefs or Semrush can automate the detection of these problems at scale and prioritise fixes by potential impact.
Key Takeaways
- The title tag is the on-page element with the greatest ranking impact
- Meta descriptions don’t rank directly but can multiply clicks
- A clear heading structure improves both SEO and accessibility
- Internal linking distributes authority and builds topical context
- Structured data triggers rich results that boost visibility
- On-page optimisation is an ongoing process, not a one-off task
Want to improve your on-page SEO?
We audit every element of your pages and implement the optimisations that have the greatest impact on your rankings. No strings attached.