On-Page SEO Checklist for 2026
This checklist covers every on-page SEO factor you should review before publishing or updating a webpage. Work through each item to ensure your page is fully optimised for search engines. You can verify most of these automatically by running a free audit with RankNibbler.
Title Tag
| Check | Details |
| 1 | Page has a title tag | Every page must have a <title> element in the head. |
| 2 | Title is 30-60 characters | Titles outside this range get truncated or appear thin in search results. |
| 3 | Primary keyword is near the start | Front-loading keywords improves relevance signals and visibility in SERPs. |
| 4 | Title is unique across the site | No two pages should share the same title tag. |
| 5 | Brand name at the end | Use a separator like | or - before your brand name. |
Meta Description
| Check | Details |
| 6 | Page has a meta description | Without one, search engines generate their own snippet. |
| 7 | Description is 120-160 characters | Short enough to avoid truncation, long enough to be useful. |
| 8 | Includes target keyword | Matching keywords are bolded in search results. |
| 9 | Contains a call to action | Phrases like "Learn how" or "Get started" encourage clicks. |
| 10 | Unique per page | Duplicate descriptions confuse search engines. |
Heading Structure
| Check | Details |
| 11 | Exactly one H1 tag | The H1 should contain the primary keyword and describe the page topic. |
| 12 | H2 tags for major sections | Break content into scannable sections with descriptive H2 headings. |
| 13 | No skipped heading levels | Do not jump from H1 to H3. Maintain a logical hierarchy. |
| 14 | Headings are descriptive | Avoid vague headings like "More info". Each should describe the section. |
Content
| Check | Details |
| 15 | At least 300 words | Thin content under 300 words is unlikely to rank for competitive queries. |
| 16 | Text-to-HTML ratio above 10% | Very low ratios suggest the page is code-heavy with little visible content. |
| 17 | Content matches search intent | Informational queries need guides, transactional queries need product pages. |
| 18 | No duplicate content | Each page should offer unique value not found elsewhere on your site. |
Images
| Check | Details |
| 19 | All images have alt text | Every meaningful image needs a descriptive alt attribute. |
| 20 | Alt text is descriptive | "Red mountain bike on trail" is better than "bike" or "image1". |
| 21 | Decorative images use alt="" | Spacers and design elements should have empty alt to skip screen readers. |
Links
| Check | Details |
| 22 | Internal links to related pages | Every page should link to relevant content within your site. |
| 23 | Descriptive anchor text | "Read our SEO guide" is better than "click here". |
| 24 | External links to credible sources | Linking to authoritative references builds trust and context. |
| 25 | No broken links | Links to 404 pages waste crawl budget and harm user experience. |
Technical SEO
| Check | Details |
| 26 | Canonical URL set | Prevents duplicate content when the page is accessible at multiple URLs. |
| 27 | HTTPS enabled | Google uses HTTPS as a ranking signal. HTTP sites are flagged as insecure. |
| 28 | Clean URL structure | Lowercase, hyphenated, no excessive parameters, under 100 characters. |
| 29 | Viewport meta tag present | Required for mobile-responsive design and mobile-first indexing. |
| 30 | HTML lang attribute set | Tells search engines and screen readers the page language. |
| 31 | Robots directives correct | Ensure the page is not accidentally set to noindex. |
| 32 | Favicon present | Appears in browser tabs, bookmarks, and some search results. |
Structured Data and Social
| Check | Details |
| 33 | JSON-LD structured data added | Enables rich results like star ratings, FAQs, and breadcrumbs in Google. |
| 34 | Open Graph tags complete | og:title, og:description, og:image, og:url as a minimum. |
| 35 | Twitter Card tags set | twitter:card, twitter:title, twitter:description, twitter:image. |
Performance
| Check | Details |
| 36 | Scripts use async or defer | External scripts without these attributes block page rendering. |
| 37 | Minimise external scripts | Each script adds latency. Remove any that are not essential. |
How to Use This Checklist
Work through each item for every important page on your site. Start with your homepage and top landing pages, then expand to blog posts and product pages. For the fastest results, run each page through RankNibbler's free audit — it checks most of these items automatically and gives you a score out of 100.