HTML SEO Audit Checklist
html seo audit checklist html seo audit checklist operationalizes google search requirements into automat html seo audit checklist is the
Introduction
HTML SEO audit checklist is the staff engineer's repeatable framework before launches and after migrations — combining automated crawls, Search Console data, CrUX field metrics, and manual URL Inspection against Google Search Central requirements.
Business problem
SEO regressions slip through when teams treat audits as marketing spreadsheets instead of CI-gated HTML contracts. Post-migration traffic cliffs are preventable with checklist discipline tied to deploy gates.
- Scale: Manual spot-checks miss template bugs affecting 100k URLs.
- Ownership: Without engineering checklist, SEO findings become backlog debt.
- Compliance: Regulated industries need audit trails of HTML validation.
Why this feature exists
Google Search Central documents technical requirements; Lighthouse SEO category automates subset; staff audits bridge gap with business-specific rules (hreflang reciprocity, JSON-LD parity, facet noindex) codified in CI.
- Lighthouse: Lab SEO score — necessary not sufficient.
- Crawl tools: Screaming Frog, Sitebulb — full site HTML analysis.
- Search Console: Ground truth for indexation and CWV field data.
Browser internals
Audit tools simulate crawler HTML parse: extract title, meta, headings, links, canonical, hreflang, JSON-LD, status codes, redirect chains — compare against rule engine.
- Rendered vs raw: Run crawls with JS on/off to detect two-wave indexing gaps.
- Mobile: Google uses mobile-first indexing — audit mobile HTML variant.
Rendering workflow
Audit sequence: (1) Crawl raw HTML, (2) Lighthouse CI on templates, (3) Search Console export, (4) CrUX p75 check, (5) URL Inspection sample on tier-1 URLs, (6) Rich Results Test on structured templates.
- Priority tiers: Tier-1 revenue URLs get manual Inspection every release.
- Diff audits: Compare crawl export pre/post deploy for title/canonical changes.
Feature deep dive
Staff HTML SEO audit checklist — automate where possible:
- Head: Unique title, meta description, one canonical, correct robots, viewport, charset.
- Structure: One H1, logical heading order, descriptive internal links.
- Media: alt on informative images, width/height for CLS, LCP hero in HTML.
- International: lang, hreflang reciprocity, x-default.
- Schema: Valid JSON-LD matching visible content.
- Technical: 200/301/404 semantics, HTTPS, no redirect chains >1 hop.
- Performance: CrUX Good thresholds on money URLs.
# seo-audit-gate.sh — run in CI on stagingnpx lighthouse https://staging.example.com/pdp/sample --only-categories=seo,performance --fail-on-score=90node scripts/audit-canonical.js --sitemap https://staging.example.com/sitemap.xmlnode scripts/audit-hreflang-reciprocity.jsnode scripts/audit-jsonld-parity.js --template pdp
Accessibility analysis
Combined audit: Run axe-core alongside SEO crawl — overlapping rules on alt text, lang, headings, link text. WCAG 2.2 AA failures on money pages block release same as missing canonical.
- Tool merge: Pa11y CI + custom SEO linter in one pipeline stage.
SEO impact
Audit is the feedback loop for all prior SEO lessons. Search Console coverage diff weekly; quarterly full crawl; pre-launch checklist sign-off by engineering + SEO lead.
- Regression budget: Zero tolerance for accidental noindex on prod tier-1 templates.
- Documentation: Audit results archived per release for postmortem traceability.
Security considerations
Security audit overlap: Check for indexed sensitive URLs, mixed content, inline script without CSP, user content in title/meta — XSS and SEO intersect in head injection.
- Search Console: URL prefix audit for /admin, /api, token params indexed.
Performance impact
Audit performance budget: Lighthouse performance + CrUX in same gate — SEO without CWV Good is incomplete for Google page experience.
- Budget file: max JS weight, LCP element rules in HTML template linter.
Real production example
Release gate checklist (abbreviated) used at enterprise scale:
- Sign-off: Engineering manager + SEO lead before prod promote.
- Rollback: Defined if indexed count drops >5% in 72h post-launch.
## Pre-prod SEO HTML audit — release v2.4- [ ] Crawl diff: 0 unexpected title changes on tier-1 URLs- [ ] 0 duplicate canonicals (automated)- [ ] hreflang reciprocity pass (automated)- [ ] JSON-LD parity pass on PDP/Blog templates- [ ] URL Inspection: 10 tier-1 URLs indexed, correct canonical- [ ] CrUX p75 LCP/INP/CLS Good on /, /category, /pdp samples- [ ] Rich Results Test: 0 Product errors- [ ] Staging noindex verified; prod robots index on tier-1
Enterprise usage
Platform team maintains seo-lint rules as code — extends on every production SEO incident. New rule = new CI check within sprint.
- Dashboard: Weekly SEO health score from crawl + GSC API metrics.
- Training: On-call runbook links audit scripts for incident response.
Common production failures
Audits skipped on "minor" CSS deploy — template change duplicated H1 sitewide. Quarterly audit caught hreflang drift 3 months late — EU revenue impact.
- False green: Lighthouse 100 on homepage only — PDP template broken unchecked.
- Staging parity: Staging lacked hreflang — prod-only bug missed until launch.
Architecture review questions
- Is full crawl automated weekly with diff alerts on title/canonical?
- Do tier-1 URLs have manual URL Inspection each release?
- Are CrUX field metrics in release gate — not lab-only Lighthouse?
- JSON-LD parity and hreflang reciprocity in CI?
- Post-launch 72h monitoring runbook assigned?
Hands-on project
Project: Build seo-audit script checking sitemap URLs for: title present, one canonical, one H1, valid lang — output CSV for triage.
- Integrate: Run on staging in CI; fail PR on regression vs baseline.
- Report: Top 10 issue categories with URL counts.
Interview questions
Design an SEO audit process for a site migration from subdomain to path.(Advanced)
Pre: crawl old + new staging; map 301 matrix; validate canonical/hreflang on new templates; block old subdomain indexation after cutover. During: monitor GSC coverage, crawl stats, CrUX. Post: diff indexed URL counts; URL Inspection on tier-1; fix soft 404s and redirect chains within 72h.
Follow-up: How long until traffic stabilizes?
Lighthouse SEO 100 but traffic dropped — what do you check?(Advanced)
Lighthouse covers subset — check GSC coverage (noindex? canonical?), CrUX regression, manual actions, algorithm updates, hreflang breaks, rendered vs raw HTML diff, competitor SERP changes. Lab score isn't ground truth.
Follow-up: Role of log file analysis?
How codify SEO audit rules so 50 devs don't regress?(Advanced)
Custom HTML linters in CI per template type; crawl diff on staging vs prod baseline; CODEOWNERS on head partials; incident-driven new rules; Search Console API alerts to Slack; no merge without automated pass + tier-1 manual sample.
Follow-up: Balance audit strictness vs deploy velocity?
Try it yourself
Edit the HTML, CSS, or JS panels — the preview updates as you type.
Try it yourself
Summary
HTML SEO audit checklist operationalizes Google Search requirements into automated crawls, CI gates, Search Console monitoring, and release sign-offs — preventing template-level regressions that silently deindex revenue URLs at scale.