Quick answer. On-page SEO is the discipline of optimizing everything on a single page that you control directly — title tag, meta description, heading hierarchy, URL structure, body content quality, internal links from this page, schema markup, image alt text, and page-level Core Web Vitals. It’s distinct from technical SEO (infrastructure layer — crawl, render, index) and off-page SEO (links, citations from elsewhere). On-page is the discipline most people think they understand and most teams underexecute. This guide is Mateo’s complete reference, the one running across every Resocial on-page engagement.
Table of contents
- What on-page SEO actually covers in 2026
- Title tags — the highest-leverage single field
- Meta descriptions — and why Google sometimes ignores them
- Heading hierarchy and content structure
- URL structure — what to ship in 2026
- Body content — depth, intent, semantic clarity
- Internal linking from the page
- Page-level schema markup
- Image optimization — alt text, formats, sizing
- Page-level Core Web Vitals
- Common on-page mistakes
- The 90-day on-page implementation roadmap
- FAQ
What on-page SEO actually covers in 2026
The taxonomy that separates the three SEO disciplines:
- Technical SEO — site-wide infrastructure: crawl, render, index, redirects, hreflang, server config. See our Technical SEO Complete Guide for the full reference.
- On-page SEO — single-page optimization: everything that lives on or directly references that page
- Off-page SEO — what other sites and sources say/link about you: backlinks, citations, mentions, reviews. See our Link Building Complete Guide
The three overlap — schema markup is both technical (infrastructure for shipping it) and on-page (per-page schema decisions). But the distinction is useful operationally: different agents, different scopes, different timelines.
Title tags — the highest-leverage single field
The <title> tag is the single most impactful on-page field for ranking and CTR. Why it matters:
- Displayed in SERPs as the clickable headline
- Used by Google as a strong topical signal
- Shown in browser tabs (small but persistent brand exposure)
- Used by AI search engines as a primary topic identifier
The 2026 title tag formula
For commercial / service pages:
[Primary Keyword] · [Differentiator or Brand]
Examples:
Local SEO Services — Google Maps, Local Pack, Near Me | ResocialTechnical SEO Services — Embedded in Your Engineering Workflow | Resocial
For content / blog pages:
[Article Title] | [Brand]
For glossary / definitional pages:
What is [Term]? | [Brand] Glossary
Title tag length
Google displays titles up to ~600 pixels — typically 55-60 characters before truncation. The standard advice:
- Aim for 50-60 characters to fit display reliably
- Most important keywords in the first 50 characters (in case of truncation)
- Brand at the end unless brand recognition is the primary CTR driver
Common title tag mistakes
- Keyword stuffing: “Best SEO Services - Cheap SEO - Local SEO - SEO Agency” — Google may rewrite
- Generic / brand-only: “Home | Resocial” — wastes the highest-leverage SERP slot
- Identical across pages: hundreds of pages with the same title — Google demotes most
- Pipe-character overuse: too many separators makes the title hard to scan
Title tag rewrites by Google
Google increasingly rewrites titles based on H1 content if it judges the title less informative than the H1. To prevent rewrites:
- Ensure title matches the page’s actual intent
- Don’t use deceptive titles (clickbait that misrepresents content)
- Include the primary keyword the page actually targets
Meta descriptions — and why Google sometimes ignores them
The <meta name="description"> tag provides a description Google may use as the SERP snippet. “May use” is the key phrase — Google rewrites ~30% of meta descriptions, choosing instead to snippet from page body content when it judges the rewrite more relevant.
What meta descriptions actually do
- Influence CTR when Google uses them (significant lever)
- Provide context for AI search engines pulling page summaries
- Useful for social sharing fallback (if Open Graph description is missing)
They are NOT a ranking factor (Google has stated this repeatedly). They’re a CTR factor.
The 2026 meta description formula
[Hook / Promise] [Specific value or differentiator]. [Action verb or call-out].
Examples:
- “60+ technical, content, authority, and AI search dimensions analyzed. Prioritized action plan delivered in 48 hours. No commitment.”
- “Google Business Profile, NAP consistency, LocalBusiness schema, reviews systems, and multi-location strategy. Win the Local Pack and Google Maps.”
Length
- 150-160 characters is the safe display target
- Mobile truncates earlier (~120 chars)
- Leading information matters most — front-load key phrases
When Google rewrites meta descriptions
The pattern: Google rewrites when it judges the page body more relevant to the query than the meta description. Solutions:
- Write descriptions that match how people query the topic
- Include the primary keyword naturally
- Make the description match the page’s actual content (don’t promise what the page doesn’t deliver)
Heading hierarchy and content structure
Headings (<h1> through <h6>) provide topical structure that both search engines and screen readers depend on.
Rules that matter
- One H1 per page — the page’s main title. Multiple H1s confuse both search engines and accessibility tools.
- H2s for major sections, H3s for sub-sections, H4s for sub-sub-sections. Don’t skip levels arbitrarily.
- H1 should match page intent — the user landing on the page should immediately understand what it’s about.
- H2s should be scannable — a reader scrolling down should be able to read just the H2s and understand the page outline.
Headings as SEO signals
- H1 carries the strongest topical weight after the title tag
- H2s signal sub-topics and earn long-tail rankings within the page
- H3s and below provide topical depth but less direct ranking weight
Common heading mistakes
- Multiple H1s on a page (often from CMS templates)
- Using headings purely for visual styling (e.g., wrapping a large quote in H2 for size)
- Empty headings (auto-generated by frameworks)
- Headings hidden via CSS (Google reads them as keyword stuffing if it detects)
See our heading hierarchy glossary entry for the validation playbook.
URL structure — what to ship in 2026
Clean URLs help users, search engines, and AI extraction.
The 2026 URL rules
- Short, descriptive, keyword-relevant —
/blog/local-seo-complete-guide/beats/post?id=4729 - Hyphens, not underscores —
local-seonotlocal_seo(Google treats hyphens as word separators) - Lowercase only — uppercase causes duplicate-URL issues across servers
- Trailing slash consistency — pick one (with or without trailing slash) and stick to it sitewide
- Avoid stop words where possible —
/best-crm-tools/beats/the-best-of-crm-tools/ - Stable URLs — once published, URLs should rarely change (avoiding redirect chains)
- Logical hierarchy —
/services/seo/local-seo/beats/local-seo-services/
URL length
Aim for under 70 characters total. Beyond that, URLs get truncated in SERPs and become harder to share/remember. The Resocial blog post slugs (e.g., content-strategy-complete-guide) target this range.
When to NOT change URLs
If existing URLs rank, don’t change them without strong reason. Every URL change requires a 301 redirect and loses some link signal in the process. See our SEO Migration service for proper URL change protocols.
Body content — depth, intent, semantic clarity
The body of the page is where ranking is won or lost. Google’s quality signals (Helpful Content Update, E-E-A-T, Core Updates) all evaluate body content quality.
What modern Google rewards
- Comprehensive coverage of the topic (depth, not keyword density)
- First-person expertise signals — author bylines with credentials, original perspective
- Specific examples and data — not generalities
- Clear structure with skimmable headings + supporting paragraphs
- Quick Answer Block patterns at top — particularly for AI search citation eligibility
What modern Google penalizes
- Thin content (under 300-500 words for content-type pages)
- Auto-generated or AI-spammed content without human editing
- Keyword density above natural levels (1-2% is the natural range)
- Affiliate-only pages with little original value
- Duplicate or near-duplicate content across many pages
Content depth benchmarks by page type
| Page type | Word count target |
|---|---|
| Homepage | 400-800 |
| Service page | 800-2000 |
| Pillar guide | 3000-5000 |
| Comparison post | 1500-3000 |
| Glossary entry | 250-600 |
| News / announcement | 300-800 |
These are guidelines, not rules. Ship enough to genuinely cover the topic; don’t pad to hit a number.
Internal linking from the page
The internal links on a page distribute topical authority and help users navigate. Theo (internal-linking-agent) treats this as a dedicated workstream.
Internal linking principles
- Use descriptive anchor text — “local SEO complete guide” not “click here”
- Link to deeper / related content — every page should link to 3-10 other pages
- Link from existing content to new content (push authority to the new page)
- Update old pages to link to new authoritative pages
Internal anchor distribution
For your own internal links you control directly:
- Match user phrasing — anchors that mirror real search queries help relevance
- Vary natural language — same target page can be linked via different anchor phrasings
- Avoid generic anchors like “click here,” “learn more,” “read more” (wasted signal)
See internal linking glossary and anchor text glossary for the detailed playbook.
Page-level schema markup
Schema implementation is partially technical (server-rendered) and partially page-level (which schema types for this specific page).
Schema decisions per page type
- Service page →
Service+FAQPageif Q&A present - Blog post →
BlogPostingwith author Person + publisher Organization - Product page →
ProductwithOfferandaggregateRatingif reviews exist - Homepage →
Organization(orLocalBusiness) +WebSite - Glossary entry →
DefinedTerm - About page → reference Organization @id + Person schemas for team
For complete schema reference, see the Schema Markup Complete Guide.
Schema must match visible content
A common penalty trigger: schema declares 5-star ratings when no reviews are visible. Schema must reflect what’s on the page. See aggregateRating glossary for the penalty patterns.
Image optimization — alt text, formats, sizing
Image optimization is the most under-attended on-page lever for many sites.
Alt text essentials
- Describe the image for screen readers and search engines
- Include keywords naturally when relevant (don’t stuff)
- Decorative images can have empty alt (
alt="") — explicitly empty, not missing - Don’t repeat the title or caption — alt should add information
See image alt text glossary for examples and patterns.
Image format choices in 2026
- AVIF — best compression, ~50% smaller than JPEG at same quality. Universal browser support.
- WebP — second choice; widely supported, ~25-35% smaller than JPEG
- JPEG — fallback only; significantly larger
- PNG — for graphics with transparency only (icons, logos with alpha)
- SVG — for logos, icons, simple illustrations (resolution-independent)
Responsive images
Always use srcset for different viewport widths:
<img
src="/img/hero-1200.jpg"
srcset="/img/hero-600.jpg 600w,
/img/hero-1200.jpg 1200w,
/img/hero-2400.jpg 2400w"
sizes="(max-width: 600px) 100vw, 1200px"
alt="..."
width="1200" height="800"
/>
width and height attributes prevent CLS by reserving space before the image loads.
Page-level Core Web Vitals
Core Web Vitals — LCP, INP, CLS — are measured per URL, not per site. A page’s individual CWV matters for that page’s ranking, not the site’s average.
Page-level CWV levers
- Preload the LCP element —
<link rel="preload" as="image" href="...">for hero images - Inline critical CSS for the visible viewport
- Defer non-critical JavaScript with
asyncordeferattributes - Optimize images (AVIF/WebP, srcset, explicit dimensions)
- Avoid render-blocking third-party scripts in
<head>
CWV monitoring per page
Search Console shows CWV per URL group. Identify groups failing the 75th-percentile thresholds and prioritize fixes for highest-traffic pages first.
Common on-page mistakes
The recurring patterns we audit out:
- Identical title tags across many pages — most common in CMS-generated templates
- Missing or empty meta descriptions — wastes the CTR lever
- Multiple H1s — usually from CMS quirks
- Auto-generated alt text like “image001” or empty alt on meaningful images
- URLs with parameters or session IDs indexed accidentally
- Schema that doesn’t match visible content — guidelines violation
- Thin content that doesn’t serve the query intent (200-word “guides”)
- Keyword-stuffed body content triggering quality filters
- No internal linking from new pages back to older pillars
- Late-loading hero images killing LCP without anyone realizing
The 90-day on-page implementation roadmap
How Mateo sequences a fresh on-page engagement:
Days 1-14: Audit and prioritize
- Full site crawl with Screaming Frog or Sitebulb
- Identify pages with: duplicate titles, missing meta, multiple H1s, missing alt, thin content
- Group pages by traffic-vs-quality matrix
- Prioritize: high-traffic + poor-on-page = quick wins
Days 15-30: Title + meta refresh
- Top 50 priority pages get new titles + meta descriptions
- Each rewrite follows the formula (primary keyword early, brand at end)
- A/B test where possible; track CTR before/after in Search Console
Days 31-60: Content + schema
- Schema audit and shipping per page type
- Body content review for thin pages (rewrite or consolidate)
- Internal linking pass — new pages get inbound links from existing authority
Days 61-90: Image + CWV
- Image optimization pass (AVIF conversion, alt text, dimensions)
- Page-level CWV remediation for failing URL groups
- Final QA + sitewide validation
Beyond day 90, this is continuous maintenance — new pages should ship clean on day one, audits run monthly.
FAQ
How does on-page SEO differ from technical SEO?
Technical SEO is the infrastructure layer — crawl, render, index, redirects, server config, hreflang. On-page SEO is the per-page layer — titles, content, schema, internal links. They overlap (schema lives in both), but the disciplines run separately. See Technical SEO vs On-Page SEO for the full decomposition.
Is keyword density still a thing in 2026?
Marginally. Natural 1-2% keyword density emerges from writing well; deliberately tuning above that triggers quality filters. Focus on topical comprehensiveness and natural-language matching — Google’s semantic understanding (BERT, MUM, and successors) cares about meaning, not exact-match density.
How long should a page be?
Long enough to serve the query intent comprehensively. A 300-word answer to a simple definitional query can be perfect. A 300-word answer to “complete guide to local SEO” fails because the query expects depth. Match length to intent, not to arbitrary targets.
Does on-page SEO matter as much as link building?
Yes, in different ways. On-page determines what page CAN rank for a query (topical relevance). Off-page determines whether the page DOES rank (authority signal). Without on-page, links don’t help; without off-page, on-page hits a ceiling. Both matter.
How does on-page SEO interact with AI search?
Substantial overlap. AI engines extract definitional content patterns (Quick Answer Blocks), parse schema markup, and weight content depth + semantic clarity. Good on-page SEO produces content that ranks in Google AND gets cited in ChatGPT/Perplexity. See our AI Search Optimization Complete Guide.
What about user signals — bounce rate, time on page?
Google has stated user signals are not direct ranking factors but reflect content quality. Focus on serving the user well (matching intent, providing clear answers); the user signals improve as a byproduct.
What to do next
If you’re starting fresh, the 60-minute first action is audit your top 20 pages for title tag clarity — use the formula above (primary keyword early, brand at end). Title tag optimization typically lifts CTR 10-25% on existing rankings, fastest single ROI in on-page SEO.
For senior-strategist execution of the full 90-day on-page program, explore our On-Page SEO service or book a consultation. Mateo coordinates with Petros (technical) and Theo (internal linking) for combined engagements.
On-page SEO is the discipline most teams think they understand. The audit data tells a different story — 70%+ of sites we examine have correctable on-page issues that lift rankings without any link building, technical fixes, or content production. It’s the closest thing to free wins SEO offers.