Type “on-page SEO checklist” into Google and you’ll get AI Overviews, a handful of tool round-ups, and maybe two articles that were actually written by someone who has shipped a page one ranking. On-page SEO didn’t get less important when AI search showed up: it got more important, because AI Overviews, ChatGPT search, and Perplexity all lean on the same signals classic Google ranking has always used: clear structure, unambiguous topical focus, and pages that answer the query without forcing the reader to hunt. If your HTML is a mess, no amount of backlinks or AI-generated “helpful content” will save you. The good news is that on-page SEO is the one part of the ranking equation you fully control. You don’t need permission from another webmaster to fix a title tag or restructure your headers. This checklist walks through every lever, with the reasoning behind each one so you’re not just following a rulebook.
Title Tags and Meta Descriptions That Actually Earn Clicks
The title tag is still the single highest-leverage on-page element you have. Google typically displays 50-60 characters before truncating, so front-load the primary keyword and the value proposition, then let the brand name trail at the end if it fits. Compare “Best Running Shoes for Flat Feet (2026 Buyer’s Guide)” against “Home | Acme Athletic | Running Shoes, Apparel & More”, the first tells a searcher exactly what they’ll get and matches intent; the second is a homepage title that could belong to any retailer. Google now rewrites roughly a third of title tags it deems mismatched to query intent, and over 60% of meta descriptions, usually because the original was stuffed with keywords instead of written for a human. Avoid duplicate titles across category and filter pages: a classic e-commerce mistake where “Men’s Shoes,” “Men’s Shoes: Page 2,” and “Men’s Shoes, Nike” all end up nearly identical.
Meta descriptions aren’t a direct ranking factor, but they are your ad copy in the SERP. Keep them to 150-160 characters, include the keyword naturally, and write toward the click: state the benefit, add a reason to choose this page over the other nine blue links. A bad example: “Shoes for sale online. Free shipping. Buy now. Cheap prices, discounts, deals.” That’s keyword soup with no reason to click. A better one: “Compare 40+ running shoe models for flat feet, ranked by arch support and price, updated for 2026.” One sentence, one clear promise.
Header Tag Hierarchy: Building a Logical H1 Through H3 Structure
Use exactly one H1 per page, and make it describe the page’s core topic in language a reader would actually type into a search box: it doesn’t need to match the title tag word-for-word, but it should be close. From there, H2s should map to the subtopics a thorough answer requires, and H3s break those down further. Think of headers as an outline you’d hand to someone skimming on a phone: if they only read your H2s, they should understand the full scope of the page.
A common mistake is using headers for visual styling rather than structure, making a paragraph bold and enlarged and calling it an “H2” in the theme’s visual editor without ever checking the underlying tag. Screen readers and crawlers both rely on the actual heading hierarchy, so skipping levels (jumping from H1 straight to H3) or using six H2s that are really just bolded sentences undermines both accessibility and topical clarity. Keep the nesting logical: H2 for major sections, H3 for sub-points within a section, and don’t create H4s and H5s unless the content genuinely needs that many layers of depth.
Keyword Placement and Semantic, NLP-Driven Relevance
Exact-match keyword density stopped being the game years ago. Modern ranking systems use natural language processing to understand entities, synonyms, and related concepts, which means the goal shifts from “how many times does the keyword appear” to “does this page comprehensively cover the topic using the vocabulary a subject-matter expert would use.” For a page targeting “on-page SEO checklist,” that means naturally including related terms like meta tags, canonical URLs, structured data, crawlability, and Core Web Vitals: not because a density calculator demands it, but because a genuinely complete answer touches on all of them.
Practically: put the primary keyword or a close variant in the H1, in the first 100 words, in at least one H2, and in the URL. After that, write for topical completeness rather than repetition. If you find yourself repeating the exact phrase five times in three paragraphs to “reinforce relevance,” you’re writing for an algorithm from 2012, and it reads as robotic to a 2026 reader, which is itself a negative signal through engagement metrics.
Content Quality, Depth, and E-E-A-T Signals
Google’s own quality rater guidelines lean heavily on E-E-A-T: Experience, Expertise, Authoritativeness, and Trustworthiness. For most topics, “Experience” is the newest and most overlooked piece, did the author actually do the thing they’re writing about? A running shoe review with the author’s own mileage, a photo of the worn-out tread, or a specific anecdote about blisters on mile 14 signals real experience in a way a generic spec-comparison article can’t. Add author bylines with real credentials, link to an author bio page, and where relevant cite primary sources or your own data rather than paraphrasing someone else’s blog post.
On depth: the average word count among first-page results tends to land somewhere around 1,400-1,800 words for competitive informational queries, but that’s a correlation, not a target to hit mechanically. A 900-word page that answers the query completely will outrank a 3,000-word page padded with restated introductions. The test is coverage: list every sub-question a searcher with this intent would have, and make sure your page answers each one without requiring them to click away. Update dates matter too, a “2023” guide left untouched signals staleness; revisit and visibly update evergreen content at least annually.
Internal Linking That Actually Helps Users and Crawlers
Internal links do two jobs: they help search engines discover and understand the relationship between your pages, and they help users find the next thing they need. A sensible density is roughly 3-5 contextual internal links per 1,000 words, enough to build topical clusters without turning the page into a link farm. The pillar-and-cluster model works well in practice: one comprehensive pillar page (say, a full “SEO Guide”) links out to focused cluster pages (on-page SEO, technical SEO, link building), and each cluster page links back to the pillar and sideways to its siblings.
Avoid generic anchor text like “click here” or “read more”: use descriptive anchors that tell both the user and the crawler what the destination page is about, e.g., “our guide to structured data markup” rather than “learn more here.” Also avoid orphan pages: every important page on your site should be reachable through at least one contextual link from another page, not just from the XML sitemap. A quick audit trick is to pull a crawl and check for any indexable URL with zero internal inlinks.
Image Optimization: Alt Text, Compression, and File Names
Images are routinely the biggest single contributor to page bloat, and they’re also a missed opportunity for both accessibility and image-search traffic. Three things matter: file names, alt text, and compression. Rename “IMG_4821.jpg” to something descriptive like “flat-feet-running-shoe-arch-support.jpg” before upload (search engines do parse file names as a weak relevance signal, and it costs nothing to fix. Alt text should describe the image for someone using a screen reader, and naturally include relevant context without keyword-stuffing: “Runner wearing stability shoes with visible arch support insert” is useful; “running shoes flat feet best shoes buy cheap” is not) that’s an alt-text spam pattern that actively hurts accessibility.
For compression, serve modern formats (WebP or AVIF) with appropriate fallbacks, set explicit width and height attributes so the browser doesn’t cause layout shift while the image loads, and lazy-load anything below the fold. A hero image that ships as an uncompressed 4MB PNG is one of the most common reasons a page fails Largest Contentful Paint thresholds.
URL Structure That Stays Clean and Stable
Good URLs are short, readable, and stable over time. Compare “shazzseo.com/blog/on-page-seo-checklist” to “shazzseo.com/index.php?p=4821&cat=12&session=8a3f1c”, the first tells a human and a crawler exactly what the page is about before they even click; the second is opaque and untrustworthy-looking in a SERP snippet. Use hyphens (not underscores) to separate words, keep URLs lowercase, strip stop words where reasonable, and avoid deep unnecessary nesting like “/blog/2026/08/17/category/subcategory/post-title” when “/blog/post-title” does the job.
Once a URL is published and indexed, avoid changing it without a 301 redirect in place, URL changes without redirects are one of the most common self-inflicted traffic drops on the migrations we see. If you must restructure, map every old URL to its new equivalent and keep the redirect chain to a single hop.
Readability and Formatting for Skimmers
Most readers skim before they commit to reading. Short paragraphs (2-4 sentences), descriptive subheadings every 200-300 words, bullet lists for anything enumerable, and bolded key terms for scanning all reduce bounce rate by helping the reader confirm quickly that they’re in the right place. Avoid walls of text under a single H2 that run 600+ words with no visual break: even if the writing is good, the format alone will push skimming readers to hit back.
Write at a reading level appropriate to your actual audience rather than an arbitrary “grade 6” target chased by some SEO tools; a highly technical B2B audience doesn’t need dumbed-down prose, and forcing overly simple sentences onto a complex topic makes an article read as thin rather than accessible.
Structured Data Basics: Helping Machines Understand the Page
Schema.org markup (implemented as JSON-LD) doesn’t directly boost rankings, but it does two useful things: it can win rich results (star ratings, FAQ dropdowns, breadcrumbs) that improve click-through rate, and it gives AI Overviews and other LLM-based answer engines an unambiguous, machine-readable summary of your content to pull from. For a blog post like this one, Article schema with author, datePublished, and dateModified is the baseline. Where genuinely applicable, FAQPage schema for a real Q&A section and BreadcrumbList for site hierarchy round out the basics. Don’t mark up content that isn’t visibly present on the page: Google’s guidelines explicitly prohibit “invisible” structured data used purely to game rich results, and doing so risks a manual action.
Page Speed and User Experience Signals
Core Web Vitals (Largest Contentful Paint, Interaction to Next Paint, and Cumulative Layout Shift) remain part of Google’s page experience signals, and they correlate strongly with lower bounce rates regardless of their direct ranking weight. Practical wins that cover most sites: compress and lazy-load images, defer non-critical JavaScript, use a caching layer or CDN, minimize third-party scripts (a single ad-tech or chat-widget script can add a full second to load time), and reserve space for elements that load asynchronously so the layout doesn’t jump around while the page settles. Mobile experience should be the baseline you design for, not an afterthought you test at the end, since Google indexes and ranks based on the mobile version of your page.
The Complete On-Page SEO Checklist
Use this as a working audit list for every page you publish or update.
- Title tag is 50-60 characters and includes the primary keyword near the front
- Title tag is unique across the entire site, no duplicates
- Meta description is 150-160 characters with a clear value proposition
- Single, descriptive H1 that matches search intent
- Logical H2/H3 hierarchy with no skipped levels
- Primary keyword appears in the first 100 words
- Related entities and synonyms used naturally throughout (semantic coverage)
- Content answers every sub-question a searcher with this intent would have
- Author byline with real credentials and a linked bio page
- Firsthand experience signals included where relevant (data, photos, anecdotes)
- Publish and “last updated” dates visible and accurate
- 3-5 contextual internal links per 1,000 words with descriptive anchor text
- No orphan pages, every page reachable via at least one internal link
- Pillar and cluster pages link to and from each other appropriately
- Descriptive, keyword-relevant image file names before upload
- Alt text describes the image for accessibility, without keyword stuffing
- Images compressed and served in WebP/AVIF with explicit width/height
- Images below the fold are lazy-loaded
- URL is short, lowercase, hyphenated, and human-readable
- URL structure avoids unnecessary deep nesting
- 301 redirects in place for any changed URLs
- Paragraphs kept short (2-4 sentences) for skimmability
- Subheadings appear at least every 200-300 words
- Bullet or numbered lists used for enumerable content
- Bold used sparingly to highlight genuinely key terms
- Reading level matches the actual target audience
- Article schema (JSON-LD) implemented with author and date fields
- FAQPage schema used only where a real, visible Q&A exists on the page
- BreadcrumbList schema reflects the actual site hierarchy
- No structured data marks up content that isn’t visibly on the page
- Largest Contentful Paint under 2.5 seconds
- Interaction to Next Paint under 200 milliseconds
- Cumulative Layout Shift under 0.1
- Non-critical JavaScript deferred; third-party scripts minimized
- Caching or CDN configured for static assets
- Mobile layout tested and treated as the primary experience, not an afterthought
- Canonical tag present and self-referencing (or pointing correctly for duplicates)
- Page is included in the XML sitemap and not blocked by robots.txt
- Internal search results and thin filter pages are noindexed where appropriate
- Outbound links to authoritative sources included where they strengthen trust
- No broken links or images (404s) on the page
- Content reviewed and refreshed at least annually for evergreen topics
- Table of contents included for long-form guides over ~1,500 words
- Social share and Open Graph tags set with a proper title/description/image
- Favicon and basic branding elements present for trust signals
- No intrusive interstitials blocking content on mobile
- Font sizes and tap targets meet mobile usability minimums
- HTTPS enforced sitewide with no mixed-content warnings
- Duplicate or near-duplicate content consolidated or canonicalized
- Keyword cannibalization checked, no two pages competing for the same query
- Page load tested from a real mobile device, not just DevTools throttling
Bringing It Together
None of these fifty-plus factors is exotic, and that’s the point: on-page SEO rewards the sites willing to do consistent, unglamorous work across every page rather than chasing the one trick that supposedly beats the algorithm this quarter. Run this checklist against your five highest-traffic-potential pages first, fix what’s broken, and then fold it into your standard publishing workflow so every new page ships compliant from day one. The sites that will keep winning clicks as AI search reshapes the SERP are the ones whose pages were already clear, well-structured, and genuinely useful before anyone had to optimize for a chatbot at all.
Related
Want this checked on your own site?
A 20 minute review, no obligation. I will tell you honestly which of this actually applies to you and which does not.
Written by Shahzaib Ul Hassan, senior AI SEO consultant and founder of ShazzSEO. Ranking sites since 2009.
Of everything on this list, titles and descriptions are the fastest to change and the most often left stale. A title and meta rewrite is the smallest job here with the quickest read on whether it worked.