Overview

Run the quick pass before every launch and the full pass every quarter, and treat each row as pass-fail. Numeric pass conditions not tied to a documented Google metric (the 10 percent index gap, the JS budget, title and description lengths, the three-click depth) are house targets, not engine rules; Google rewrites titles and snippets and sets no character limit. The topic pages in this folder explain the why.

Crawl and index

CheckPass ifTool
robots.txt at rootReturns 200; no Disallow: /curl -I
sitemap.xmlReturns 200; lists every canonical URL with accurate <lastmod>Browser, GSC Sitemaps
Sitemap submittedGSC shows “Success” with discovered URLs above 0GSC Sitemaps
Indexed count vs sitemapWithin 10% of sitemap countGSC Pages report
No noindex on indexable pagesNo <meta name="robots" content="noindex"> in productionView source
Canonical self-referentialEvery page declares its own URLView source
RedirectsEvery old URL reaches a 200 page in one hop; no loopscurl -sIL

See technical, redirects, and sitemaps-deep.

Performance

Google’s page experience signals use CrUX field data, not lab scores.

CheckPass ifTool
LCP at p752.5 s or lessGSC Core Web Vitals, PageSpeed
INP at p75200 ms or lessGSC Core Web Vitals
CLS at p750.1 or lessGSC Core Web Vitals
TTFB at p750.8 s or less (not a Core Web Vital)PageSpeed Insights
JS shippedUnder 200 KB compressed on content pagesDevTools Coverage
LCP imagePreloaded or fetchpriority="high"; not lazy-loadedView source

See core-web-vitals and optimize-core-web-vitals.

On-page elements

CheckPass ifTool
One <h1>Exactly one; matches page intentView source
Heading orderNo skipped levelsaxe DevTools
Title tagUnique; 50-60 characters; primary keyword earlyView source
Meta descriptionUnique; 130-160 charactersView source
Image altEvery content image has descriptive textaxe DevTools
Anchor textDescriptive, not “click here”Screaming Frog

See title-tags.

Content quality

Google’s core ranking systems absorbed the helpful content system in March 2024.

CheckPass ifTool
Original informationAt least one number, screenshot, or command output per editorial pageManual review
Intent matchH1 answers the target querySERP comparison
Topical focusEach section has 5 or more pages on one topicFolder count
last_updated honestDate matches the latest meaningful body changeGit log
AI-assisted draftsFacts checked; adds value beyond existing pages; AI use disclosed where readers would askManual review
No scaled thin pagesNo batch of templated or lightly rewritten pagesManual review

See core-updates and e-e-a-t.

Internal linking

CheckPass ifTool
DepthEvery page within 3 clicks of homeScreaming Frog
No orphansEvery URL has an inbound internal linkScreaming Frog
Anchor varietyNo bulk identical anchors to one URLScreaming Frog
MOC coverageEach folder index lists every pageManual review

See internal-linking and site-architecture.

Structured data

CheckPass ifTool
Valid JSON-LD per page typePasses Rich Results Test and schema.org validatorBoth
BreadcrumbList below rootPresent; labels match visible crumbsRich Results Test
Schema matches bodyNo FAQPage or Product markup for content the page lacksManual review
GSC enhancementsErrors: 0GSC

See structured-data and schema-markup-deep.

Discoverability files

CheckPass ifTool
/llms.txtReturns 200; lists primary pages with summariescurl
/ai.txtReturns 200; states crawl preferencescurl
/favicon.icoReturns 200 without a redirectcurl -I

See discoverability-files.

Mobile

CheckPass ifTool
Viewport tagwidth=device-width, initial-scale=1View source
Content paritySame content, structured data, and links as desktopGSC URL Inspection
UsabilityNo horizontal scroll; touch targets at least 24 px (WCAG 2.2), 48 px as the design targetLighthouse, DevTools

See mobile-first.

Security

CheckPass ifTool
HTTPS everywhereEvery http:// URL 301s to https://curl -I
CertificateNo warning; expiry over 30 days outopenssl s_client
Mixed contentNoneDevTools Console
HSTSStrict-Transport-Security: max-age=31536000curl -I

Analytics

CheckPass ifTool
GSC Domain propertyVerifiedGSC
Bing Webmaster ToolsVerified; sitemap submittedBWT
AI citationsBWT AI Performance report (introduced February 2026) reviewed for Copilot citationsBWT
Web analyticsTag fires on every pagePlausible, GA4
Server logsRetained 90+ days; bot traffic by user-agent extractableHosting dashboard

Run the 30-minute quick pass before every deploy

Skip rows that did not change in this release.

  1. Confirm sitemap.xml and robots.txt return 200.
  2. Run PageSpeed Insights on the home page and one content page; both pass.
  3. Spot-check one new page for one H1, a unique title, and alt text.
  4. Run Rich Results Test on one new page; no errors.
  5. curl /llms.txt and curl /ai.txt return 200.
  6. URL Inspection on one new page shows “URL is on Google” or “Submitted and indexed” after the next crawl.

Run the full pass every 90 days

  1. Crawl the whole site with Screaming Frog or Sitebulb; export depth, orphan, and broken-link reports.
  2. Pull 90 days of GSC Performance, Pages, Core Web Vitals, and Enhancements data, plus the BWT AI Performance report.
  3. Walk every table, mark pass or fail in a shared sheet, and open one ticket per fail by category.
  4. Schedule the next audit before closing this one.