Order matters more than length
A checklist that lists everything at once produces a report nobody works. Sort by what each finding blocks, and fix the blocking ones first.
The checks
reachability
- pages in the sitemap that no internal link reaches
- redirect chains longer than one hop
- urls that used to exist and now return 404
indexation
- pages with noindex that should be indexed
- two urls serving one page with no canonical
- canonicals pointing at another host
on-page
- titles that repeat across pages
- descriptions missing or auto-generated
- more than one h1, or none
- heading order that skips a level
links and media
- internal links with anchor text like click here
- pages with no internal links pointing at them
- images without alt text that carry meaning
- structured data that describes something the page does not show
rendering
- pages that need javascript to show their content
- resources blocked by robots.txt
- layout shift on a phone
A completed audit
Ridgeline Roofing, 41 pages, one afternoon.
reachability
- 6 pages sitemap-only, no internal links fix: link from /services
- 1 chain of 4 hops from the home page fix: point the old path at the page
indexation
- 1 noindex on the pricing page, a leftover fix: remove the tag
- 0 duplicate urls nothing to fix
on-page
- 6 pages share one description fix: write six descriptions
- 1 page has no h1 fix: render the title as h1
links and media
- 3 images without alt text fix: describe each image
- 0 markup mismatches nothing to fix
rendering
- every page renders without javascript nothing to fix
order chosen: the noindex tag, the redirect chain, then the descriptions.
the first two block indexing. The descriptions do not.
Acceptance: the audit is complete when
- every finding names at least one URL
- every finding names the rule it breaks
- every finding has an owner and a rough effort
- the checks that passed are recorded too
- the crawl date is on the report
- the first three fixes are ordered by what they block
Troubleshooting
| Symptom | Likely cause | What to do |
|---|---|---|
| The crawl finds few pages | Links are rendered client side | Render the crawl, or add static links |
| Every page has one finding | A template problem | Fix the template, then re-crawl |
| Two crawls disagree | The site changed, or the cap applied | Record the cap, and crawl the same start |
| Nobody works the list | Findings were not grouped by fix | Group by template, not by page |
| The audit finds nothing | The audit is shallow | Add the response-level checks |
Limits
A crawl sees what a crawler sees. It cannot judge whether a page deserves to exist, and it cannot see traffic or intent.
Treat the audit as the floor of the technical work, not the whole plan.