On-Page SEO Checklist

Keyword Targeting and Brief

    Validate monthly search volume, keyword difficulty, and SERP features for the primary term. Reject targets where the SERP is dominated by transactional pages if the page is informational — search intent mismatch is the most common reason a well-optimized page fails to rank.

    List 5-10 secondary terms and related queries from People Also Ask and Related Searches. These map to H2/H3 sections, not stuffed paragraphs. Cluster should share intent with the primary keyword.

    Pull the top 10 ranking pages and note word count, heading structure, media types, and unique angles. The brief should call out what this page will cover that the top 10 don't — sameness is why most new pages never break the top 20.

On-Page Content Optimization

    Title tag under 60 characters; H1 should match or closely mirror the title; primary keyword appears within the opening paragraph. Avoid duplicating the H1 as an H2 — Search Console flags it as a structure issue.

    Keep under 155 characters with a CTA. Google rewrites about 60% of meta descriptions; write yours for click-through rate, not for ranking. Include the primary keyword once, naturally.

    Each H2 maps to a secondary keyword or People Also Ask question. Maintain hierarchical order — no jumping from H2 to H4. Screen readers and Google both depend on the heading tree being clean.

    Slug: lowercase, hyphenated, contains the primary keyword, under 60 characters, no stopwords or dates that will go stale. Canonical points to the live URL — common WordPress mistake is leaving the canonical pointed at staging.

Technical SEO Checks

    Targets: LCP under 2.5s, INP under 200ms, CLS under 0.1. Test the staging URL on mobile, not desktop — most ranking is mobile-first. Hero images and third-party scripts are the usual LCP culprits.

    Descriptive alt text covering the image content; decorative images get empty alt="". Don't keyword-stuff alt text — it's an accessibility attribute first, ranking signal second. WCAG 2.1 AA compliance requires this.

    Use Schema.org Article, BlogPosting, Product, FAQPage, or HowTo as appropriate. Validate in Google's Rich Results Test before publishing — invalid schema is silently ignored by Google but visible to crawlers.

    Check for: 4xx/5xx response, redirect chains, missing title or meta, duplicate H1, blocked-by-robots resources, oversized images. Fix all blocking issues before approving for publish.

Internal Linking and Authority

    Identify the topic cluster's pillar and supporting pages in Ahrefs Site Explorer or Search Console; add contextual links pointing to the new page using descriptive anchor text. New pages without internal links can take weeks to get crawled.

    Anchor text should be descriptive but varied — exact-match anchors on every internal link looks manipulative. Mix branded, partial-match, and topic-related anchors.

    Outbound links to high-authority sources (research papers, government data, industry publications) signal that the content is well-researched. Open in a new tab; check that targets aren't 404 or paywalled.

Publish and Index Verification

    Loop back with the writer or developer on flagged items. Re-run Screaming Frog and PageSpeed Insights on the corrected staging URL before re-submitting for approval.

    Use the URL Inspection tool to request indexing on the live URL. Confirm the page is included in the XML sitemap and that robots.txt isn't blocking it. Indexing can still take days — don't assume immediate.

    Open the page with GA4 DebugView or the Tag Assistant extension. Confirm the page_view event fires and any CTA click events map to the correct conversion. Mis-mapped events distort attribution and budget allocation.

    Pull the target keyword position from Ahrefs or Semrush, impressions and CTR from Search Console, and engagement metrics from GA4. Decide: refresh, expand, or leave alone. Pages that haven't broken the top 50 by day 30 usually need a content gap fix, not more time.