81 checks across nine phases, in the order a real audit runs them. What makes this one different: every phase ends with the trap, the finding that looks urgent in a crawl report and turns out to be nothing. Chasing those is how audits waste a fortnight and lose the client's trust.
Skip this phase and you will produce a flat list of pages instead of a diagnosis. Everything category-level depends on work you do before the crawler starts.
A flat URL structure gets treated as "no categories exist". They exist, they are just not in the URL. Report the flat structure as its own finding, then go and build the groups by hand. An audit that skips this hands over a page list and calls it analysis.
The unglamorous foundation. A site can have excellent content and stay invisible because the first two files a crawler looks for are missing or contradict each other.
A robots.txt naming twenty AI crawlers looks like a site that has blocked them all. Read the groups properly before you write that finding. Naming a bot is not the same as disallowing it, and several popular platforms ship a file that reads exactly this way by default.
Every internal link should land on a 200. Where it does not, the useful half of the finding is the page containing the bad link, not the broken URL.
Assuming the platform handles redirects for you. On WordPress, for example, the automatic old-slug redirect fires for posts and not for pages, so renaming a page slug can leave the old URL returning a hard 404 with no warning. Always test the old URL yourself, with a cache-buster, before calling a slug change done.
Title length is measured in pixels, not characters, and no tool can tell you what Google is actually doing with your title. For that you go and look.
Rewriting every flagged title. Half the time the same four words are being trimmed on every page because the template appends them, so one setting change fixes the lot. Look at the live results before you commission a title rewrite nobody needed.
Two separate jobs here: find what is missing, and throw out the validation errors that do not actually matter.
Copying the validator's error message into the report. Google's parser is lenient and reports the damage downstream of the actual break, so a warning about a price field is often an unescaped character several lines earlier. Parse the block yourself, find the character offset, and fix the real fault.
Two failure modes: equity leaving faster than it circulates, and links carrying no signal because they have no anchor text.
Treating domain authority scores as quality. They are third-party estimates, useful only for like-for-like comparison, and a low trust score often just means the site attracts scrapers. Put the caveat next to the number every time, or somebody will make a budget decision on it.
Separate what you measured from what you estimated, and say which is which in the report.
Reporting a blocked resource warning without checking the rendered page. If the page renders correctly, the warning is noise. Compare rendered against raw before anything goes in the report, and label every estimated number as estimated.
The reports no crawler can see, and the analysis that turns findings into a business case. Report the clean ones too, because that is how a client sees the audit was thorough rather than selective.
Reporting unindexed video as a defect. A site that embeds other people's videos will show a pile of "not indexed" against almost nothing indexed, because the video result belongs to the original host. That is expected behaviour, not a fault. Chase video indexing only on video the client actually owns.
The newest section and the oldest discipline. One is about being retrievable by machines, the other is about whether any of your work gets implemented.
Delivering observations. "Some titles are too long" changes nothing. "38 titles exceed the pixel limit, rewrite to the values in column D, the suffix comes from the theme so change the setting not the pages" gets done this week. Record the clean checks as well, so the client can see what was examined and found healthy.
Plain text, one item per line, ready to paste into a doc, a spreadsheet or a ticket. Your ticks are saved in this browser only, on this device, and nothing is sent anywhere.
All free, all built here, none of them ask for an email address.
Desktop crawler for phases 2 through 7. Custom extraction, response codes, titles, schema, images.
Get the crawler →Parses the groups properly, including the AI crawler stack that catches people out in phase 2.
Test a file →Fix phase 4 at scale. Bulk edit Yoast and Rank Math titles, descriptions and alt text over the REST API.
Get the plugin →All 81 checks, plus the Search Console analysis and the modelled upside, delivered as a prioritised fix list with the affected URLs attached.
Free to use, free to copy, no signup and no email wall.