# The SEO-Ready Website Checklist (80 Points)

Machine-readable edition for AI coding agents. Pair this file with `SKILL.md`, which tells your agent how to apply it. Human-friendly PDF: https://calibreconsulting.ca/assets/lead-magnets/seo-ready-website-checklist.pdf

**How scoring works:** every item is pass/fail, 1 point each, 80 total. Score a site under 60 and it is leaving search traffic on the table; fix the failing items in section order (A → H), because earlier sections gate the later ones — schema on a page Google can't crawl is wasted work.

By Calibre Consulting · Calgary IT studio · calibreconsulting.ca

---

## A. Discovery & Crawlability (10)

- [ ] **1.** robots.txt exists and doesn't block important pages. Check `/robots.txt`; no stray `Disallow` on real content.
- [ ] **2.** An XML sitemap exists and lists only canonical, indexable URLs. No redirects, 404s, or noindex pages in it.
- [ ] **3.** The sitemap is referenced in robots.txt and submitted in Google Search Console + Bing Webmaster Tools.
- [ ] **4.** Every important page is reachable in 3 clicks from the homepage.
- [ ] **5.** No orphan pages (pages with zero internal links pointing to them).
- [ ] **6.** Internal links use descriptive anchor text, not "click here" or bare URLs.
- [ ] **7.** AI crawlers are allowed in robots.txt: GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot. Blocking them opts you out of AI search.
- [ ] **8.** No crawl traps: infinite calendars, faceted-filter URL explosions, or session IDs in URLs.
- [ ] **9.** Search Console shows no major "Crawled, not indexed" spikes. Coverage report is clean.
- [ ] **10.** Pagination and "load more" content is crawlable (real links, not script-only).

## B. Indexation & Canonicals (10)

- [ ] **11.** Each page has a self-referencing canonical tag pointing to its own clean URL.
- [ ] **12.** One canonical host: http redirects to https; www and non-www resolve to a single version.
- [ ] **13.** Trailing-slash behavior is consistent (either always or never) and enforced by redirect.
- [ ] **14.** No accidental noindex on pages you want ranked. Check the meta robots tag and the HTTP header.
- [ ] **15.** Thank-you, cart, and admin pages are noindexed on purpose.
- [ ] **16.** No duplicate content across URLs without a canonical pointing to the primary.
- [ ] **17.** Redirect chains are collapsed to a single hop; no redirect loops.
- [ ] **18.** 404s return a real 404 status (not a 200 "soft 404") and a helpful page.
- [ ] **19.** Old removed URLs 301-redirect to the closest live equivalent, not all to the homepage.
- [ ] **20.** Parameter and tracking URLs don't create indexable duplicates.

## C. On-Page & Content (12)

- [ ] **21.** Every page has a unique title tag, 50–60 characters, primary keyword near the front.
- [ ] **22.** Every page has a unique meta description, 150–160 characters, with a reason to click.
- [ ] **23.** Exactly one H1 per page, describing that page's topic.
- [ ] **24.** Headings nest logically (H1 → H2 → H3); no skipped levels for styling.
- [ ] **25.** The primary keyword appears in the first 100 words, naturally.
- [ ] **26.** One clear search intent per page; no page trying to rank for everything.
- [ ] **27.** No two pages competing for the same keyword (keyword cannibalization).
- [ ] **28.** Content depth matches intent: money pages thorough, guides genuinely complete.
- [ ] **29.** Images have descriptive alt text and meaningful file names.
- [ ] **30.** URLs are short, lowercase, hyphenated, and readable.
- [ ] **31.** A visible "Updated [date]" on time-sensitive pages, and it's truthful.
- [ ] **32.** Author or business is identifiable (named author, About page, real credentials) for E-E-A-T.

## D. Technical & Rendering (10)

- [ ] **33.** The whole site is HTTPS with a valid certificate; no mixed-content warnings.
- [ ] **34.** Mobile-friendly and responsive, one URL serving all devices.
- [ ] **35.** Critical content is in the HTML, not rendered only by JavaScript a crawler may skip.
- [ ] **36.** Search Console's URL Inspection confirms Google renders the real content.
- [ ] **37.** A custom, helpful 404 page that links back into the site.
- [ ] **38.** hreflang tags if you serve multiple languages or regions.
- [ ] **39.** Favicon and a default social/OG image set site-wide.
- [ ] **40.** Open Graph + Twitter Card tags on every page, with a real title, description, and image.
- [ ] **41.** No render-blocking errors in the console that break layout or content.
- [ ] **42.** The site is served with sane caching + compression (gzip/brotli) headers.

## E. Core Web Vitals & Speed (10)

- [ ] **43.** LCP under 2.5s on mobile (largest element loads fast). Measure in PageSpeed Insights.
- [ ] **44.** INP under 200ms (the page responds quickly to taps and clicks).
- [ ] **45.** CLS under 0.1 (nothing jumps around as the page loads).
- [ ] **46.** Images are compressed and next-gen (WebP/AVIF) with width and height set.
- [ ] **47.** Below-the-fold images lazy-load; the hero image is prioritized.
- [ ] **48.** CSS and JS are minified; unused code is trimmed.
- [ ] **49.** Fonts load without blocking (`font-display: swap`) and are preconnected.
- [ ] **50.** A CDN serves static assets where traffic is geographically spread.
- [ ] **51.** TTFB is low (fast server or good caching layer).
- [ ] **52.** The field-data (CrUX) report passes, not just the lab test.

## F. Structured Data / Schema (9)

- [ ] **53.** Organization (or LocalBusiness) schema with name, logo, URL, and sameAs profiles.
- [ ] **54.** WebSite schema, with SearchAction if you have site search.
- [ ] **55.** BreadcrumbList schema matching the visible breadcrumb trail.
- [ ] **56.** Product / Service / Offer schema where you sell something, with price where shown.
- [ ] **57.** FAQPage schema that matches a real, visible FAQ on the page.
- [ ] **58.** Article / BlogPosting schema on posts, with author and dateModified.
- [ ] **59.** The nodes are connected in one `@graph` by `@id`, not scattered loose blocks.
- [ ] **60.** Every type validates in Google's Rich Results Test with no errors.
- [ ] **61.** No schema for content that isn't on the page (a Google penalty risk).

## G. AI Search Readiness — AEO / GEO (9)

- [ ] **62.** Key pages open with a self-contained 40–60 word answer to the question they target. This is what AI engines lift.
- [ ] **63.** Some H2s are phrased as the actual question a person would ask.
- [ ] **64.** Key facts are stated as quotable, standalone sentences with a number or date where possible.
- [ ] **65.** An `llms.txt` file at the root with a short answer map (query → URL).
- [ ] **66.** Brand disambiguation so AI doesn't confuse you with a similarly named entity.
- [ ] **67.** A comparison or "alternatives" page in the format AI engines preferentially cite, and it's fair.
- [ ] **68.** Content is genuinely fresh, with real dateModified and periodic review.
- [ ] **69.** A named author with a bio and sameAs to LinkedIn (the E-E-A-T node AI weighs).
- [ ] **70.** You've spot-checked your target questions in ChatGPT, Perplexity, and Google AI Overviews to see who gets cited.

## H. Local, Links & Maintenance (10)

- [ ] **71.** Name, address, phone (NAP) are identical across the site, Google Business Profile, and directories.
- [ ] **72.** Google Business Profile is claimed, complete, and in the right category (local businesses).
- [ ] **73.** LocalBusiness schema with GeoCoordinates and hours where you have a location or service area.
- [ ] **74.** Location or service-area pages instead of one generic page, where it fits.
- [ ] **75.** No toxic or spammy inbound links; a clean backlink profile.
- [ ] **76.** A few quality, relevant inbound links from real sites in your space.
- [ ] **77.** No broken internal or outbound links (run a crawler monthly).
- [ ] **78.** Search Console + Bing Webmaster connected, with alerts on.
- [ ] **79.** Analytics is installed and PII-clean (no emails or names in event data).
- [ ] **80.** A quarterly re-audit is scheduled. SEO is a maintenance habit, not a one-time launch task.

---

**Score: ___ / 80.** Under 60? Work the failing sections in order, A first. Want a second set of eyes from the people who wrote this list? https://calibreconsulting.ca/contact/
