A 27-point on-page SEO checklist covering title tags, meta descriptions, header structure, content optimization, images, internal linking, and schema markup. Every item is something you can fix without touching server config.
Last updated: March 2026 · Reading time: 10 min
27 checks across 6 categories, all within your direct control.
An on-page SEO checklist covers every optimization you can make on the page itself, without touching server configuration, backlinks, or external factors. It’s the most controllable part of SEO. You don’t need developer access for most items. You don’t need a budget. You just need attention to detail.
On-page SEO is the practice of optimizing individual web pages to rank higher in search engines. It includes HTML source code elements (title tags, meta descriptions, headers) and visible content elements (text, images, internal links).
This checklist gives you:
For a broader view that includes technical, off-page, and local SEO, see our complete SEO checklist with all 47 points.
The title tag is still the single strongest on-page ranking signal. Backlinko’s study of 11.8 million search results (2024) found that pages with the exact keyword in the title tag were 3.5x more likely to rank in the top 10. But “optimized” doesn’t mean keyword-stuffed. It means placing your primary keyword near the front, keeping the tag under 60 characters, and making it compelling enough to earn the click.
| # | Check | Priority | Details |
|---|---|---|---|
| 1 | Title tag is unique across the entire site | P1 | Duplicate titles confuse search engines about which page to rank. Run a Screaming Frog crawl and filter for duplicate titles. |
| 2 | Title tag is 50-60 characters with primary keyword near the front | P1 | Google truncates titles beyond ~60 characters. Front-loading the keyword increases relevance signals. |
| 3 | Title tag includes a click trigger (number, year, or action word) | P2 | Titles with numbers get 36% higher CTR than those without (Conductor, 2023). Example: “27-Point On-Page SEO Checklist for 2026.” |
| 4 | Meta description is 150-160 characters with primary keyword | P1 | Google bolds matching query terms in descriptions, improving visual relevance and CTR. |
| 5 | Meta description includes a call-to-action or value proposition | P2 | Don’t just describe the page. Tell the searcher what they’ll get. “Download the free checklist” beats “Learn about on-page SEO.” |
A common mistake: writing meta descriptions that summarize the page. Your description should sell the click, not summarize the content. Think of it as ad copy for your organic listing. Google rewrites meta descriptions about 62.78% of the time (Ahrefs, 2024), but well-written ones with the target keyword get rewritten far less often.
Headers (H1 through H6) create the content outline that search engines use to understand page structure. Google’s John Mueller confirmed in 2023 that header tags help Google “understand the structure of the text on a page.” One H1 per page, containing your primary keyword. Everything else flows from there in a logical H2 > H3 > H4 hierarchy.
| # | Check | Priority | Details |
|---|---|---|---|
| 6 | Exactly one H1 per page containing the primary keyword | P1 | Multiple H1s dilute the page’s topic signal. The H1 should match or closely relate to the title tag. |
| 7 | H2s used for major section breaks (not for styling) | P1 | Each H2 should represent a distinct subtopic. Aim for 4-8 H2s on a 1,500+ word page. |
| 8 | No skipped heading levels (H2 directly to H4) | P2 | Skipping levels breaks the semantic outline. Assistive technology also depends on proper hierarchy. |
| 9 | H2s use question format matching real search queries | P2 | Question-format headers align with featured snippet opportunities and AI answer extraction. |
| 10 | Secondary keywords distributed naturally across H2s and H3s | P2 | Don’t force keywords into every header. Use them where they fit naturally and add clarity. |
When we audit client pages at ScaleGrowth.Digital, we export the header structure using Screaming Frog’s “H1” and “H2” columns. If the H2 list doesn’t read like a coherent table of contents for the page, the structure needs work. Your headers should tell the full story of the page even if someone only reads the headings.
Content optimization is where most people go wrong. It’s not about keyword density (that metric died in 2015). It’s about topical coverage, search intent match, and readability. The top-ranking page for any keyword typically covers 80-90% of the subtopics that the top 10 results collectively discuss (Clearscope, 2024). Your content needs to be at least as comprehensive as what’s already ranking.
| # | Check | Priority | Details |
|---|---|---|---|
| 11 | Primary keyword appears in the first 100 words | P1 | Early keyword placement correlates with higher rankings. Don’t bury the topic. |
| 12 | Content matches the search intent for the target keyword | P1 | Check SERPs manually. If top 10 results are all how-to guides, don’t publish a product page. |
| 13 | Content length matches or exceeds top 5 competitors | P2 | Not about padding with filler. The content needs to cover all subtopics the query implies. |
| 14 | Readability score is grade 8-10 (Hemingway or Flesch-Kincaid) | P2 | Even technical content should be accessible. Short sentences. Active voice. Concrete examples. |
| 15 | At least 1 data table, comparison, or visual per 500 words | P2 | Tables and visuals increase time on page and earn featured snippets. Google renders and indexes tables. |
| 16 | Opening 2-3 sentences directly answer the page’s core question | P1 | Lead with the answer (BLUF). This satisfies impatient readers and improves AI citability. |
“We’ve stopped measuring keyword density entirely. What matters is whether the page answers the question better than anything else ranking for that term. If you nail search intent and cover the topic fully, the keywords take care of themselves.”
Hardik Shah, Founder of ScaleGrowth.Digital
Images account for 30-50% of total page weight on most websites. Unoptimized images are the #1 cause of failed Core Web Vitals, specifically LCP (Largest Contentful Paint). According to HTTP Archive (2024), the median web page loads 1.8 MB of images. Cutting that in half typically improves LCP by 0.5-1.5 seconds.
| # | Check | Priority | Details |
|---|---|---|---|
| 17 | All images have descriptive alt text (not “image1.jpg” or blank) | P1 | Alt text is required for accessibility and helps Google Images rank your content. Describe what the image shows. Include keywords only where natural. |
| 18 | Images served in WebP or AVIF format | P1 | WebP is 25-35% smaller than JPEG at the same quality. AVIF offers even more compression. Both are supported by 95%+ of browsers (Can I Use, 2025). |
| 19 | Below-fold images use lazy loading (loading=”lazy” attribute) | P2 | Lazy loading defers off-screen images, reducing initial page load time. Don’t lazy-load the LCP image. |
| 20 | Image file names are descriptive and keyword-relevant | P2 | Use “on-page-seo-checklist-header-structure.webp” not “IMG_4392.webp.” File names contribute to image search visibility. |
A critical detail most checklists miss: don’t lazy-load your hero image or LCP element. If your Largest Contentful Paint element is an image and it has loading=”lazy,” you’re actively hurting your Core Web Vitals score. The hero image should load eagerly with fetchpriority=”high.”
Internal links are the most underrated on-page SEO tactic. They distribute PageRank across your site, help Google discover new pages, and establish topical relationships between content. A study by Ahrefs (2023) found that pages with more internal links pointing to them rank higher, even controlling for other factors. Yet most sites have dozens of orphan pages with zero internal links.
| # | Check | Priority | Details |
|---|---|---|---|
| 21 | Every page has at least 3 internal links to related content | P1 | Three is the minimum. Important pages (service pages, conversion pages) should have 10+. |
| 22 | Anchor text is descriptive (not “click here” or “read more”) | P1 | Google uses anchor text to understand what the linked page is about. “On-page SEO checklist” is better than “this article.” |
| 23 | No orphan pages (every indexable page has at least 1 internal link) | P1 | Orphan pages are invisible to crawlers that follow links. Use Screaming Frog’s “Orphan Pages” report to find them. |
| 24 | High-priority pages linked from the top 20% most-linked pages | P2 | Pages that receive the most internal links pass the most equity. Link your conversion pages from your highest-authority content. |
At ScaleGrowth.Digital, we build internal linking maps for every client during onboarding. We export all internal links from Screaming Frog, build a matrix in Google Sheets, and identify gaps. The most common finding: blog posts link to other blog posts but rarely link to service pages. That’s backwards. Blog content should funnel authority toward your money pages.
Schema markup (structured data) tells search engines exactly what your content represents. Pages with valid schema are eligible for rich snippets, FAQ dropdowns, star ratings, and other SERP features that increase click-through rates by 20-30% (Search Engine Journal, 2024). Not every schema type applies to every page. But three types are nearly universal.
| # | Check | Priority | Details |
|---|---|---|---|
| 25 | Article or WebPage schema on every content page | P1 | Tells Google the page type, author, date published, and date modified. Required for Google News eligibility. |
| 26 | FAQPage schema on pages with FAQ sections | P1 | Enables FAQ rich results in SERPs. Each Q&A pair appears as expandable text below your listing. |
| 27 | Schema validated with zero errors in Google’s Rich Results Test | P1 | Invalid schema won’t generate rich results and may confuse search engine parsers. Test every page after adding schema. |
One thing to watch: don’t add schema types that don’t match your content. Adding “HowTo” schema to a page that isn’t a step-by-step guide violates Google’s structured data guidelines and can result in a manual action. Match the schema type to the content type, not to the SERP feature you want.
Don’t apply this checklist to every page at once. Pick your 10 highest-traffic or highest-potential pages and start there. Fixing on-page SEO on pages that already have some ranking signals (backlinks, impressions) produces the fastest results because Google is already watching those URLs.
Step 1: Export your top 20 pages from Google Search Console. Sort by impressions, not clicks. Impressions tell you which pages Google considers relevant but aren’t earning clicks yet. Those are your highest-ROI optimization targets.
Step 2: Run each page through this 27-point checklist. Score pass/fail on every item. The Google Sheets version auto-calculates a percentage score.
Step 3: Fix P1 items first. Title tags, H1s, and first-paragraph keyword placement are the fastest wins. These can often be fixed in a single afternoon and start showing results within 2-4 weeks.
Step 4: Address P2 items by batch. Group similar fixes (all image optimizations at once, all internal linking at once) for efficiency.
Step 5: Monitor rank changes in Search Console. Give each batch of fixes 3-4 weeks before evaluating impact. On-page changes typically show results faster than technical or off-page changes.
For a complete view that includes technical infrastructure, backlinks, and local SEO, combine this with our full 47-point SEO checklist. If you’re specifically debugging site speed or crawl issues, use the technical SEO checklist instead.
Get the Google Sheets version with pass/fail scoring, priority labels, and notes fields.
Duplicate it to your Drive and start optimizing.
No email required. Instant access.
On-page SEO has a unique advantage over every other SEO dimension: you control it completely. You don’t need to convince another website to link to you. You don’t need to wait for Google to recrawl your entire site. You change the title tag, update the content, fix the header structure, and within 2-4 weeks, Google re-evaluates the page.
We tracked on-page optimization results across 12 client engagements at ScaleGrowth.Digital in 2025. The average ranking improvement from on-page fixes alone (no new backlinks, no technical changes) was 7.3 positions for target keywords. Pages that were already ranking positions 11-20 saw the biggest gains because they needed a smaller push to break into page one.
The mistake most teams make is treating on-page SEO as a one-time activity. They optimize a page when it’s published and never revisit it. But SERPs change. Competitors update their content. Search intent shifts. We re-optimize our top 20 pages every quarter, and the pages we revisit consistently outperform the ones we don’t touch.
The other mistake: obsessing over keyword density. We stopped tracking keyword density years ago. What matters is topical coverage. Use tools like Clearscope, SurferSEO, or even a manual SERP review to identify the subtopics your competitors cover that you don’t. Fill those gaps, and the keyword placement takes care of itself.
Pair this checklist with these resources for a complete SEO workflow.
The full SEO checklist covering technical, on-page, off-page, local SEO, content quality, and AI visibility.
A 32-point deep dive into crawlability, indexation, Core Web Vitals, schema validation, and site architecture.
A Google Sheets template for organizing keyword research with intent mapping and priority scoring.
The title tag remains the most impactful on-page SEO factor. Pages with the primary keyword in the title tag are 3.5x more likely to rank in the top 10 (Backlinko, 2024). But title tags alone aren’t enough. The combination of title tag, H1, first-paragraph keyword placement, and content depth produces the strongest results.
One primary keyword and 2-4 secondary keywords per page. The primary keyword goes in the title tag, H1, and first paragraph. Secondary keywords should appear in H2s and body text where natural. Don’t force multiple high-volume keywords onto a single page. If two keywords have different search intents, they need separate pages.
No. Google moved beyond keyword density years ago with semantic search and NLP. There’s no target percentage to aim for. Instead, focus on topical coverage: make sure your content addresses the subtopics and related terms that top-ranking pages cover. Tools like Clearscope or SurferSEO can help identify topic gaps.
On-page changes typically show measurable ranking movement within 2-4 weeks, faster than technical or off-page changes. Title tag and H1 updates tend to produce the fastest results. Content depth improvements (adding sections, filling topic gaps) may take 4-8 weeks as Google recrawls and re-evaluates the page.
Optimize old content first if it already has ranking signals (impressions, backlinks, or positions 11-30). Re-optimization produces faster results because Google already knows the URL. Create new pages only when no existing page targets the keyword or when search intent requires a different format than what you have.
Our SEO practice audits on-page factors across your entire site and builds a prioritized optimization roadmap. We’ve improved rankings by an average of 7.3 positions through on-page fixes alone.