Most on-page SEO advice reads like a checklist someone copied from a plugin’s green-light system: put the keyword in the title, put it in the first paragraph, add an image, done. On-page SEO is actually the set of decisions you control directly on a page that tell both Google and your reader what the page is for – and most sites get maybe half of it right, usually the easy half.
I’ve audited enough sites across iGaming, SaaS, and Fintech to know the pattern: strong content, sloppy titles, meta descriptions nobody wrote on purpose, and headings that read like a table of contents nobody proofread.
This post covers the elements that actually move rankings, in the order I’d fix them on a real site: title tags, meta descriptions, heading structure, content and keyword placement, internal linking, images, and schema. I’ll also get into something that wasn’t part of on-page SEO five years ago and now is – what your page needs to look like for AI systems to trust and cite it, not just for Google to rank it.
What On-Page SEO Actually Covers (and What It Doesn’t)
On-page SEO is everything you control on the page itself: the title, the meta description, the headings, the body content, the internal links, the images, and any structured data you add. It’s different from technical SEO, which is about whether Google can crawl and index the page at all, and different from off-page SEO, which is links and mentions from other sites.
If technical SEO is whether the page can be found, on-page SEO is whether it deserves to rank once it is.
The confusion usually happens because a lot of “technical” checklist items – canonical tags, structured data, page speed – touch the same page you’re optimizing on-page elements for. I keep them separate by asking one question: does this control what the page communicates, or whether the page can be reached and understood mechanically?
Title tags and headings are communication. Robots.txt and sitemaps are access. Structured data sits in between, which is why I’ve included it here rather than in a purely technical bucket.
Title Tags: The Element Google Still Leans On Most
Google’s own documentation on title links confirms something worth internalizing: Google pulls your title from multiple sources, not just your title tag – the visible H1, prominently styled text, anchor text pointing at the page, even the og:title tag – and will override your written title tag if it decides another source better represents the page.
That’s not a reason to skip writing one; it’s a reason to make sure your title tag, H1, and any social meta title actually agree with each other.
In my experience, the titles that get overwritten most often are the ones stuffed with the same phrase twice, or generic templated titles repeated across dozens of pages with only a category name swapped in. Google’s guidance is explicit that repeating the same words or phrases in a title reads as spammy rather than helpful, and that every page needs a genuinely distinct title.
On an e-commerce or directory-style site with thousands of near-identical pages, that’s the single most common on-page failure I see – not bad titles, but the same title pattern copy-pasted at scale.
Three things I check on every title tag:
- Primary keyword appears once, early, in natural phrasing – not “Keyword | Keyword Services | Brand”
- The title is genuinely different from every other title on the site, not a template with one word swapped
- Brand name is appended after a delimiter (a hyphen or colon), not leading, unless the brand itself is the search demand
There’s no hard character limit – Google truncates to fit the device width rather than enforcing a fixed count – but I still write to roughly 55-60 characters as a practical target, because that’s what reliably survives truncation on both desktop and mobile without an awkward mid-word cut.
Meta Descriptions: Not a Ranking Factor, Still Worth Writing
Meta descriptions don’t influence rankings directly – Google generates snippets automatically from page content and only uses your meta description when it judges that description more accurate than what it would pull itself. That means a well-written meta description is a coin flip on whether Google even shows it.
I write one anyway, on every page, because when it does get used, it’s doing the job of a click-through ad with no cost per click – and Google’s own documentation on search snippets notes it can show completely different snippets for the same page depending on the search query.
What actually works, from testing this across a lot of pages: specific, concrete language that mirrors real search intent, not a restated version of the H1. If the page is a product, mention the actual differentiator – price tier, a specific feature, a real number – rather than “the best solution for your needs.”
Google’s guidance explicitly warns against long strings of keywords with no real sentence behind them; that pattern reads as spam to both the algorithm and the person scanning results.
I also treat the meta description as a place to pre-qualify traffic. A description that’s too broad brings in visitors who bounce immediately, which is a weak signal Google does pick up on indirectly through engagement patterns. A tighter, more specific description brings in fewer but more qualified clicks – and for most B2B and SaaS pages, that trade is worth it.
Heading Structure: How H1 Through H3 Actually Help
Headings do two jobs at once: they help Google parse the page’s structure and topic hierarchy, and they let a human scanning the page decide in two seconds whether to keep reading.
A page with one clear H1 and a logical H2/H3 outline will almost always outperform the same content dumped under one heading, even when the word count and keyword usage are identical – I’ve tested this directly by restructuring underperforming pages without touching the actual content, and the ranking movement showed up within a few weeks in most cases.
| Heading | Job | Common mistake |
|---|---|---|
| H1 | States the page’s single main topic – one per page | Multiple H1s, or an H1 that doesn’t match the title tag’s intent |
| H2 | Marks each major subtopic – this is your outline | Used as a font-size choice instead of a structural break |
| H3 | Breaks an H2 section into smaller parts | Skipping straight from H1 to H3, or using H3 for emphasis, not structure |
The mistake I see most often isn’t missing headings – it’s headings used purely as a visual styling choice by whoever built the page in the CMS, with no relationship to actual topic hierarchy. If your H2s, read in sequence with nothing else, don’t form a coherent outline of the page on their own, that’s the fix to make before touching anything else on the page.
Content Structure and Keyword Placement
Keyword placement still matters, but not the way it did a decade ago. The exact-match keyword should appear in the title, the H1, and naturally within the first 100-150 words – that’s the part search engines still weight most heavily as a topical signal. Beyond that opening section, natural language and topically related terms matter more than repeating the exact phrase.
This is where entity-based content actually helps: instead of repeating “on-page SEO” six times in a page, I write around the concept using the terms someone who actually understands the topic would use naturally – title tags, meta descriptions, heading hierarchy, internal linking, keyword density.
Google’s systems are built to recognize a page as topically comprehensive from that kind of natural term coverage, not from exact-match repetition, and keyword stuffing is explicitly called out in Google’s own guidance as something to avoid, not a gray area.
Word count on its own has never been a ranking factor, and I still get asked to justify a target count on almost every project. What actually correlates with rankings is whether the page covers the subtopics a searcher genuinely needs answered to act on the page – a buying guide missing pricing context or a comparison missing a key competitor will underperform a shorter page that actually closes those gaps, regardless of which one has more words.
I build the subtopic list from the questions that show up in Google’s “People also ask” box and from the headings competing pages actually use, not from a target word count handed down before any research happens.
Paragraph and sentence structure matters more than most on-page checklists admit. Short paragraphs, one idea each, broken up by subheadings every few hundred words – that’s not a stylistic preference, it’s what actually gets read past the first screen. I’ve seen bounce rate drop meaningfully on pages where the only change was breaking six-line paragraphs into three-line ones with an extra H3 dropped in.
Internal Linking as an On-Page Signal
Internal links are the most underused on-page lever I come across. They do three things at once: they help Google discover and understand the relationship between pages, they pass authority from strong pages to weaker ones that need it, and they keep a reader on your site longer. A page with zero internal links pointing to it is effectively an orphan in Google’s eyes, no matter how good the content is.
The anchor text matters as much as the link itself. A link that says “click here” tells Google nothing about the destination page’s topic. A link with descriptive, specific anchor text – phrased the way a person would actually describe the target page, not the destination’s exact main keyword repeated everywhere it’s linked from – does real work for both the reader and the algorithm.
If you want the fundamentals on how organic ranking actually works before going deeper into any single on-page element, I’ve laid out the mechanics of how search engines rank pages in an earlier post.
I keep internal links to a handful per page, placed where they’re genuinely relevant to the sentence they sit in, rather than bolting on a “related posts” block at the bottom that nobody reads. A link a reader would actually want to click, in the middle of a sentence that needed it, outperforms five links crammed into a footer every time.
Orphan pages are worth actively hunting for, not just avoiding going forward. Google Search Console’s links report shows every page with zero or near-zero internal links pointing to it, and on every site I’ve audited with more than a couple hundred pages, that report turns up content nobody remembers exists – old landing pages, superseded guides, category pages added during a redesign and never linked from the navigation.
Fixing that is usually the highest-leverage on-page work available on a mature site, because it doesn’t require writing anything new, just connecting content that’s already there.
Image Optimization: What Actually Matters
Alt text is the on-page image element people either skip entirely or stuff with keywords, and both are wrong. Alt text exists primarily for accessibility – describing the image for someone using a screen reader – and Google uses that same description as a secondary signal for image search and topical context, not as a hidden keyword field.
Beyond alt text, three things I check on every page’s images:
- File names describe the image before upload (“on-page-seo-heading-example.jpg”, not “IMG_4821.jpg”) – Google does read file names as a weak signal
- Images are compressed and served in a modern format (WebP where the CMS supports it) – this is a page-speed issue that’s genuinely part of on-page work, since it’s a decision made at the page level
- Images that carry actual information (a chart, a screenshot, a table rendered as an image) have a text equivalent somewhere on the page, since Google still can’t fully parse text baked into an image
The last point is one I see missed constantly, especially on pages with screenshot-heavy tutorials. If the only place a specific setting or number lives is inside a screenshot, that information is invisible to search engines and to anyone using a screen reader.
Schema and Structured Data as an On-Page Element
Structured data isn’t a ranking factor on its own, but it’s squarely an on-page decision – you’re adding machine-readable markup to a specific page to make its content unambiguous to search engines. Article schema, FAQ schema, product schema, and review schema each tell Google explicitly what kind of content the page contains, rather than leaving it to infer that from unstructured text.
The most common failure isn’t missing schema – it’s schema that doesn’t match what’s actually visible on the page, which Google’s own guidelines treat as a trust violation, not a technicality.
I’ve written separately about how to actually implement structured data on a page, including which schema types are worth the effort and which plugin-generated schema tends to cause more harm than good. The short version for on-page purposes: pick the schema type that matches the page’s actual content type, keep every field accurate and current, and never mark up content that isn’t visible to a regular visitor.
FAQ schema is the one I’d single out as consistently worth the setup time on an on-page basis, specifically because the questions and answers it marks up have to already exist as real, visible text on the page – unlike a lot of schema types, there’s no way to fake it without also improving the actual on-page content, since Google requires the marked-up Q&A pairs to be genuinely visible to a reader, not hidden in the markup alone.
Building an FAQ section around a page’s real, most-asked questions and then marking it up is one of the few pieces of “technical” on-page work I’ve seen consistently improve both rankings and the page’s actual usefulness at the same time.
The New Job of On-Page Content: Being the Source AI Systems Actually Cite
Here’s the part that changed on-page SEO in the last couple of years and hasn’t fully made it into most checklists yet.
Research from an international SEO consultancy, published in August 2026 and analyzing citation patterns across SaaS, ecommerce, and finance sites, found that third-party sources account for 69.6% to 82.3% of the sources AI systems actually cite – meaning a brand’s own website is a minority source in its own category, even when it’s the authoritative one.
The finding that matters for on-page work specifically: your own pages aren’t competing to be the cited source as often as you’d assume, but they’re the thing every other cited source checks against.
The research calls this an “on-page corroboration base” – your product pages, pricing pages, policy pages, and documentation exist so that social posts, review sites, comparison articles, and forum threads have somewhere accurate to point back to when an AI system is deciding whether to trust a third-party claim. If your own pricing page is outdated, every third-party mention of your pricing is now working from wrong information with nothing on your own site to correct it.
Practically, this means on-page SEO in 2026 has picked up a second job beyond ranking directly: keeping canonical facts – pricing, policies, specifications, eligibility rules, support information – accurate, current, and easy to extract, even on pages that rarely rank for competitive terms themselves.
I’ve started treating pricing and policy pages with the same editorial rigor I used to reserve for the pages actually targeting search volume, specifically because of this pattern. It’s not a page that needs to rank; it’s a page that needs to be right, because other sources are quoting it whether you notice or not.
The same research breaks the pattern down by vertical, and the differences matter for where you actually spend the effort. SaaS citation patterns lean heavily on social and community sources – forum threads, community posts, comparison roundups – so the on-page job there is making sure your own documentation and feature pages say the same thing those communities are repeating about you.
Ecommerce leans on competitor and marketplace domains, meaning your own product specs need to match what’s listed about you on marketplaces you don’t control. Finance leans on a mix of publishers, reviews, and comparison sites, which is exactly the vertical where an outdated rate or fee on your own page becomes a compliance problem, not just an SEO one.
I work across all three verticals, and the fix is the same in every case: whatever a third party is likely to quote about you, make sure your own on-page version of that fact is the most current, specific, and easy-to-extract version anywhere.
A Practical On-Page Audit Checklist
When I audit a page, I go through the same sequence every time, roughly in priority order:
- Does the title tag contain the primary keyword once, naturally, and is it genuinely unique from every other title on the site?
- Is there exactly one H1, and does it match the intent of the title tag?
- Do the H2s, read alone in sequence, form a coherent outline of the page?
- Is the primary keyword present in the first 100-150 words, without being repeated unnaturally anywhere else?
- Does every internal link use descriptive anchor text, and does the page have at least a few relevant internal links pointing to it from elsewhere on the site?
- Do images have accurate alt text and descriptive file names, and is any information-carrying image also represented as real text somewhere on the page?
- Is there a meta description written specifically for this page, with a real, specific hook rather than a restated H1?
- If schema is present, does every field match what’s actually visible on the page?
- If this page contains pricing, policy, or specification information, is it current enough to trust as a source right now?
Most pages fail two or three of these, almost never all of them – which is actually useful, because it means on-page fixes are usually fast wins rather than a full rewrite. Title tags and heading structure are where I find the most failures, and they’re also the cheapest to fix – a content rewrite takes days, a title and H1 correction takes minutes.
Where I’d Spend My Time First
If I only had an hour on a page, I’d spend it on the title tag and heading structure before touching anything else – they’re the fastest to fix and the most directly connected to how both Google and a human reader decide whether the page is worth their time.
Meta descriptions and image alt text are close behind, cheap to fix, easy to skip, and skipped constantly. Schema and the corroboration-base work matter more the more competitive and information-dense your industry is – which is most of what I work on as an SEO specialist across iGaming, SaaS, and Fintech, where accuracy on a pricing or terms page gets quoted by third parties whether you’ve optimized it or not.
On-page SEO isn’t a one-time checklist you run through and forget. It’s the set of decisions on every page that determine whether the content you already have gets read, ranked, and trusted – by search engines and, increasingly, by whatever’s citing your pages next.

Dimitar Kondev is an SEO expert working on the International iGaming market with more than 6 years of experience.

