On-Page SEO: The Only Checklist You Need in 2026

What still moves rankings, what doesn't, and how to tell

Enric Ramos · · 9 min read
person using macbook pro on white table

Half the on-page SEO checklists still circulating were written for a 2019 ranker that doesn't exist anymore. They recommend 1-3% keyword density, exact-match H1s, "LSI keywords," and 1,500-word minimums for everything. None of that reflects how Google actually ranks content in 2026.

The ranker that matters now is a stack of neural retrieval models (BERT, MUM, and their successors) that evaluate page-query relevance semantically, not lexically. You can rank a page for a query where your primary keyword doesn't appear once — if the page answers the user's actual intent. You can also fail to rank a page that's perfectly keyword-stuffed, if the intent is off.

This is the current on-page checklist. Shorter than the old ones, because most of what was on them no longer matters.

What on-page SEO actually is in 2026

On-page SEO is the set of signals a search engine can extract from a page itself — as opposed to off-page signals like backlinks or brand mentions. It breaks into three sublayers:

  1. Meta layertitle tag, meta description, URL slug, heading hierarchy, structured data. Explicit, machine-readable signals.
  2. Content layer — the actual words: what the page covers, in what depth, for what intent.
  3. Contextual layer — what the rest of the site says about this page: internal links pointing at it, anchor text used, position in the IA.

The 2026 ranker weighs the layers in roughly that reverse order for most queries. Contextual > content > meta, with the meta layer providing the tiebreaker. Which is the opposite of how most checklists prioritize.

The signals that still matter: title, H1, first 100 words

These three haven't lost relevance. They're how the ranker quickly identifies what a page is about before doing deeper semantic analysis.

Title tag — the strongest on-page signal, and still rewritten by Google about 60% of the time. The parts that matter: primary keyword in the first 30-40 characters, total length 50-60 chars, one per page, doesn't duplicate across URLs. Don't stuff multiple keywords; pick one primary and optimize for CTR on the rest of the characters.

H1 — one per page, contains the primary keyword or a close semantic match, doesn't have to match the title exactly. Longer than the title is fine; the H1 is for on-page users, the title is for SERPs.

First 100 words — the primary keyword should appear here naturally, along with the secondary keywords the page is targeting. Not because of keyword density — because this is the passage Google's retrieval models look at hardest to establish topic relevance. The opening paragraph is doing SEO work even when it reads as prose.

The signals that matter less than you think

Keyword density. Dead as a target. The 2026 ranker doesn't compute a density ratio and compare it to a "natural" range. It looks at whether the page covers the topic well. A 3,000-word article with one primary-keyword mention and 40 semantically related concepts can outrank a 1,500-word article with 3% density.

Meta description. Not a ranking factor. Never has been, despite SEO blog claims. It matters for CTR when Google decides to show what you wrote (about 30% of the time) — but optimizing for 160-character limits, action verbs, and branded CTAs is CRO, not SEO.

"LSI keywords." The concept was misapplied from a 1988 paper on latent semantic indexing, which Google has never publicly confirmed using. What matters is topical coverage — the set of related concepts you'd expect in comprehensive coverage of a topic. You don't need a tool to find these; the SERP itself tells you via People Also Ask, autocomplete, and the related-searches block at the bottom.

Word count minimums. 300 words, 1,000 words, 2,000 words — all arbitrary. The right word count is whatever fully answers the target query and no more. A definition query often needs 200 words; a how-to might need 3,000. Padding to hit a threshold makes pages thin in a different way.

Exact-match H2s. Heading tags should be descriptive and honest. Stuffing exact-match keywords into every H2 reads as SEO boilerplate and Google's quality systems have learned to discount it. Use natural H2s that move the argument forward.

Internal linking: the quietly dominant factor

Internal linking is the on-page signal that most people under-invest in by an order of magnitude. It's also where you have the most control — unlike external backlinks, you don't need to convince anyone.

What to get right:

  • Density. 3-6 internal links in a 2,000-word article is the natural range. Below 3, you're leaving signal on the table. Above 10, links start competing for user attention and dilute each other's signal.
  • Descriptive anchor text. "How to do X" is better than "click here" or "read more." Internal anchors are an on-page signal about the target, not just a navigation affordance.
  • Relevant targets. Link to pillars, glossary terms, and sibling articles in the same cluster. Don't link to random pages because they're recent. The link graph encodes your topical structure.
  • No orphan pages. Every published page should have at least 2-3 internal links pointing at it. A page with zero internal links has no chance of competing for anything beyond long-tail.

The tactical move: when you publish a new article, spend 15 minutes updating 2-3 older articles to link to it. This habit alone compounds more than any other on-page optimization.

Content depth vs thinness: the real test

A page is not thin because of word count. It's thin because it doesn't satisfy the query better than existing top-10 results.

The test I use on every article before publishing: pretend you're a user who just ran the target query. Does your article give them something the current top-10 doesn't? Options:

  • A clearer structure / better summary
  • Specific numbers or benchmarks the others don't have
  • A counter-intuitive insight the others missed
  • Concrete examples, code samples, or screenshots
  • First-person experience the others can't match

If you can't name what your article adds, it's unlikely to rank. Either add something, or don't publish.

The related pitfall is padding. A tight 1,500-word article with real insights is stronger than a padded 3,000-word one. When you catch yourself adding "it's important to note that" or "the benefits of X are numerous," cut. Tight writing is an SEO signal, even if indirectly via engagement metrics.

Search intent: the alignment that makes everything else matter

Search intent is the lens that determines whether your other on-page work pays off. A perfectly optimized product page won't rank for an informational query; a perfectly optimized how-to won't rank for a transactional one.

How to check intent before writing:

  1. Search the target query in an incognito window.
  2. Look at the top 5-10 results. Are they product pages? Listicles? Tutorials? Videos? Tools?
  3. The dominant content type is the intent Google has concluded for this query. Match it.

Intent mismatches are the single most common reason "well-optimized" pages fail to rank. A 3,000-word guide ranking for a "best X" query will lose to a 1,500-word comparison table. A product page ranking for "how does X work" will lose to a definition article.

When you're unsure, match the format of the current #1. You can out-execute on their chosen format; you can rarely outrank them with a fundamentally different format.

Freshness: when to update, when to leave alone

The query-deserves-freshness signal (QDF) applies to queries where recency matters: news, product releases, year-specific ("best X 2026"), ongoing events. For those, updating an old article with a current date and recent data reliably lifts rankings.

For evergreen queries (definition-style, how-to without date dependency), updating adds very little. The article is ranking because the ranking signals are stable. Re-publishing it with a "last updated" date is cosmetic and occasionally hurts — Google can interpret constant updates as instability.

Rule of thumb: check Search Console for the target query's impressions trend. Declining impressions + a freshness-sensitive query = update. Stable impressions + evergreen = leave it.

The 15-minute on-page audit for any page

For any individual page you want to evaluate:

  1. Title tag (1 min) — 50-60 chars, primary keyword in the first half, unique to this page.
  2. H1 (1 min) — one per page, descriptive, contains primary keyword or close semantic variant.
  3. First 100 words (2 min) — primary keyword appears naturally, topic is established clearly.
  4. Headings (2 min) — H2s structure the argument, each advances the point, no keyword stuffing.
  5. Internal links (3 min) — count them (should be 3-6), check anchor text is descriptive, verify 1 links to pillar, 1 to glossary, 1 to sibling.
  6. Intent match (3 min) — SERP incognito check. Does your format match the dominant result format?
  7. Depth check (3 min) — name one thing your article has that the top-10 doesn't.

If you can't check a box in 15 minutes, you've already found the issue. Fix it.

Common mistakes I see on audits

Over-optimization of the title. Stuffing "Best | Cheap | Affordable | Buy | 2026" into one title is a weaker signal than a single clear primary keyword + brand. Google rewrites these.

Identical H1 and title. Wastes the SERP headline opportunity. The title should optimize for SERP CTR; the H1 for on-page users. They can differ.

Missing canonical tag. A self-canonical on the canonical URL costs nothing and prevents silent duplicate-content problems when UTM parameters or session IDs appear.

Structured data bolted on without visible content match. Schema that claims features not visible on the page violates Google's guidelines. Can trigger manual actions.

Internal links all pointing to the homepage. Wastes the authority. Link to the specific relevant page — product, pillar, glossary — not the top-level navigation.

Thin category pages. Category/archive pages without intros, descriptions, or editorial context add no signal. They exist, but they don't rank. Add 200-300 words of genuinely useful context per category.

Frequently asked questions

Is keyword density still a ranking factor?

No, and it hasn't been for years. Modern rankers evaluate topical coverage, not lexical repetition. Focus on covering the topic well, not on hitting a percentage.

Should my H1 always match my title tag?

No. H1 is for on-page users (can be longer, more descriptive); title is for SERP CTR (must be 50-60 chars, keyword-front-loaded). They can and often should differ.

3-6 is the natural range for a 2,000-word article. Scale linearly with length. Below 3, under-linked. Above 10, over-linked and signals start to dilute.

Do I need a different keyword for every page?

Effectively yes — if two pages target the same query, you have keyword cannibalization. Each page should have a clearly unique primary keyword and intent.

How often should I update my on-page SEO?

For evergreen content: audit once a year. For queries where freshness matters: every 3-6 months. For news/time-sensitive: as events change. Don't update for the sake of updating.

What to do next

Pick one of your top-10 pages by traffic. Run the 15-minute audit on it. You'll almost certainly find at least one high-leverage fix — usually in internal linking or intent match.

For deeper dives: title tag best practices, internal linking for topical authority, search intent in 2026, and keyword cannibalization are the supporting articles that go one level below this pillar.

Related articles

Screenshot of the medium website search results page

Featured Snippet Optimization: Formatting for Zero-Click Wins

Featured snippets occupy prime SERP real estate — position zero, above organic results. Winning them requires structural formatting that Google's snippet extractor can reliably parse. Here's which formats work, how to structure content, and the queries worth targeting.

· 8 min read