On-page SEO checklist
📖 8 min readUpdated 2026-04-19
The complete on-page SEO checklist, organized by the 10 stages of a page's life. Use it before publishing any new page, during any content refresh, and as a recovery audit for pages that aren't ranking. If you've read the rest of this subsection, every item here should look familiar. The checklist is the condensed, actionable version of everything above. Don't publish without running it.
The 10 stages to check
Go top to bottom. Don't skip steps. If you catch yourself skipping Strategy because "it's just a quick post," that's the post that won't rank.
Strategy
- [ ] Primary keyword + intent identified
- [ ] Target cluster documented (primary keyword + 2-5 supporting)
- [ ] Top 5 competitors analyzed (format, structure, depth, gaps)
- [ ] Angle that differentiates this page from competitors identified
Title tag
- [ ] Primary keyword near the front
- [ ] Under 60 characters
- [ ] Promises value / earns click
- [ ] Brand at end (if applicable)
- [ ] Unique vs, other pages on the site
Meta description
- [ ] 150-160 characters
- [ ] Primary keyword included naturally
- [ ] One-sentence unique value prop
- [ ] Subtle CTA
- [ ] Not duplicate of title tag
URL
- [ ] Short (<60 characters)
- [ ] Primary keyword in slug
- [ ] Hyphenated, lowercase
- [ ] No query strings or IDs
- [ ] Folder structure consistent with site
Headings
- [ ] One H1 with primary keyword
- [ ] H2s for each major section (3-8 per page typical)
- [ ] Primary keyword or variation in at least one H2
- [ ] PAA questions included as H2s where relevant
- [ ] H3s used for sub-sections (not for styling)
- [ ] Hierarchy doesn't skip levels
Content
- [ ] Primary keyword in first 100 words (natural)
- [ ] Supporting/semantic keywords woven throughout
- [ ] Direct answer to the query in the first section
- [ ] Depth matches the top 5 competitors' average (+/- 20%)
- [ ] No padding or filler
- [ ] Original examples, data, or screenshots included
- [ ] Author bio with credentials visible
- [ ] External links to 2-4 authoritative sources
- [ ] FAQ section covering PAA questions
Images
- [ ] All images have descriptive alt text
- [ ] File names are hyphenated + descriptive
- [ ] WebP or AVIF format (or justified alternative)
- [ ] Compressed (photos <200KB, illustrations <100KB)
- [ ] Responsive srcset for key images
- [ ] Width + height attributes set
- [ ] Lazy-load below-the-fold images
- [ ] Hero image is NOT lazy-loaded
Internal linking
- [ ] 3-10 internal links to related content
- [ ] Descriptive anchor text (not "click here")
- [ ] Link to at least one pillar page / hub
- [ ] This page linked from at least one high-authority page
Schema markup
- [ ] Article (or appropriate type) schema in JSON-LD
- [ ] Author, datePublished, dateModified, image populated
- [ ] Passes Rich Results Test
- [ ] BreadcrumbList schema if on a deep URL
Technical
- [ ] Canonical tag set (self-canonical for most pages)
- [ ] No unintended noindex
- [ ] Page loads <2.5s LCP
- [ ] Mobile-responsive design
- [ ] HTTPS
Post-publish
- [ ] Submitted via Search Console (or waits for crawl)
- [ ] Internal links from other pages added
- [ ] Social share hooks set (OG image, Twitter card)
- [ ] Tracked in analytics
- [ ] Calendar reminder set for 90-day performance review
The 90-day review
Ninety days after publish, open Search Console and check the page. If it's ranking in the top 10 on its primary query, keep the page as-is and add internal links to reinforce it. If it's between positions 11 and 30, run the optimization workflow in content optimization. If it's not ranking at all, the query match or intent was wrong. Revisit strategy.
What to do with this
Bookmark this page. Use it as the template for every new piece of content and every refresh. A real checklist you actually run beats a mental model you think you remember. That's the whole game.
Up next: the Technical SEO section, starting with crawling and indexability, the foundation that has to be in place before any on-page work matters.