How to Use This Checklist
This checklist reflects the audit process we run on every new client engagement. It is organised into seven sections, each corresponding to a distinct technical domain. Work through each section systematically before moving to the next — issues in earlier sections often cause apparent problems in later ones.
For each item, record: pass, fail, or not applicable. For every fail, note the URL or element affected, the severity (critical / high / medium / low), and the recommended fix. Prioritise by severity and estimated traffic impact.
Section 1: Crawlability
1. robots.txt exists and is accessible at `/robots.txt`
2. robots.txt does not accidentally block important pages or directories
3. robots.txt references the sitemap URL
4. XML sitemap exists and is submitted to Google Search Console
5. Sitemap contains only indexable URLs (no noindex, no redirects, no 404s)
6. Sitemap is within Google's 50,000 URL limit per file
7. Sitemap is accessible to crawlers (not blocked by robots.txt)
8. All important pages are reachable within 3 clicks from the homepage
9. No orphan pages (pages with zero internal links pointing to them)
10. Crawl depth of important content pages is under 4 levels
Section 2: Indexability
11. No important pages have ``
12. No important pages are blocked in robots.txt
13. Canonical tags are present on all pages
14. Canonical tags point to the correct URL (self-referencing where appropriate)
15. No canonical conflicts (page A canonicals to B, B canonicals back to A)
16. Paginated content is handled correctly (no rel="next/prev" needed since Google dropped support — use canonical to series root or keep as-is)
17. Parameter URLs that generate duplicate content are handled (canonical or noindex)
18. All important pages return HTTP 200 status
19. Redirect chains do not exceed one hop (A→B, not A→B→C)
20. No redirect loops
Section 3: Architecture and Internal Linking
21. URL structure is logical, descriptive, and consistent
22. URLs are lowercase only (no mixed case)
23. URLs use hyphens, not underscores, as word separators
24. No dynamic parameters in URLs for important pages
25. Breadcrumb navigation is present and matches URL structure
26. Internal links use descriptive anchor text (not "click here")
27. Important pages receive internal links from multiple authoritative pages
28. No broken internal links (404s in anchor hrefs)
29. No internal links to redirected pages (link to final destination directly)
30. Footer and header links do not dilute PageRank with excessive linking
Section 4: On-Page Technical Signals
31. Every page has a unique, descriptive title tag
32. Title tags are under 60 characters (to avoid truncation in SERPs)
33. Every page has a unique meta description
34. Meta descriptions are between 120–160 characters
35. Every page has exactly one H1
36. H1 contains the primary keyword
37. Heading hierarchy is logical (H1 → H2 → H3, no skipped levels)
38. No duplicate title tags across the site
39. No duplicate meta descriptions across the site
40. Canonical URL is correct on every page
Section 5: Core Web Vitals and Performance
41. LCP is under 2.5s on mobile (field data from Search Console)
42. INP is under 200ms
43. CLS is under 0.1
44. All images have explicit `width` and `height` attributes
45. Hero/above-fold images use `` or the framework equivalent
46. Images are served in AVIF or WebP format
47. Images are appropriately sized (not serving 3000px images at 300px display size)
48. No render-blocking CSS in `
` (inline critical CSS, defer the rest)49. No render-blocking JS in `
` (use `defer` or `async`)50. Third-party scripts are loaded with `defer` or loaded post-interaction
51. Total page weight under 1MB on initial load
52. Time to First Byte (TTFB) under 600ms
53. Server response is gzip or Brotli compressed
Section 6: Structured Data
54. Organisation schema on homepage with NAP data
55. BreadcrumbList schema on all pages with breadcrumbs
56. Article schema on all blog posts with datePublished, dateModified, author
57. FAQPage schema on pages with FAQ content
58. Service/Product schema on service and product pages
59. LocalBusiness schema if applicable (address, hours, phone)
60. No schema markup errors (validate in Google Rich Results Test)
61. No schema markup on noindex pages
62. JSON-LD format used (not Microdata or RDFa)
63. Schema entities are linked to Wikidata/Wikipedia where applicable
Section 7: International and Mobile
64. Site passes Google Mobile-Friendly Test
65. Viewport meta tag is present: ``
66. No horizontal scrolling on mobile at 375px viewport width
67. Tap targets (buttons, links) are at least 44x44px on mobile
68. Text is readable at default zoom (no 10px fonts)
69. If serving multiple languages: hreflang tags are present and correct
70. If serving multiple regions: correct regional canonicals or hreflang in place
71. No mixed content (HTTP assets on HTTPS pages)
72. SSL certificate is valid and not expiring within 30 days
73. HTTPS redirect is in place (all HTTP URLs redirect to HTTPS)
74. www/non-www is consistent and the non-preferred version redirects
Section 8: Search Console Hygiene
75. Google Search Console is verified and has data
76. No manual actions reported in Search Console
77. No security issues reported in Search Console
78. Core Web Vitals report shows no "Poor" pages
79. Coverage report shows no unexpected "Excluded" or "Error" pages
80. No pages with "Discovered – currently not indexed" that should be indexed
81. Crawl stats are healthy (no dramatic drops in crawl rate)
82. Sitemap submission shows no errors
Section 9: Content Quality Signals
83. No thin content pages (under 300 words of meaningful body content)
84. No duplicate content from URL parameters or session IDs
85. No content copied from other sites (check with Copyscape or similar)
86. All pages have a clear, single primary topic
87. Contact, About, and Privacy/Terms pages exist and are linked from footer
After the Audit
Categorise every fail by severity:
A completed audit is a prioritised fix list, not a report. The value is in the remediation, not the documentation.