This guide is for SEO practitioners, developers, and technical site owners who already understand basic crawl and indexation concepts but need a repeatable method for proving why a technical problem exists. The finished audit should identify the affected URL group, preserve the evidence that demonstrates the failure, assign severity based on impact and scope, name the owner of the underlying system, describe the corrective action, and define the live validation test that will close the issue.
The same method can be applied to a 500-page site or a 50,000-page catalog because the unit of diagnosis is usually a template, directive, routing pattern, rendering dependency, or URL class rather than every page individually. Scale changes how much sampling, automation, and log analysis you need, but it does not change the diagnostic order.
A crawler supplies observations about what it can request and parse. Search Console supplies evidence about how Google has processed representative URLs. Browser and rendering tools show what the server delivers before and after scripts execute. The audit connects those sources so that a warning becomes a causal hypothesis that can be tested rather than a standalone task.
Work through crawl access, indexation status, and rendering fidelity in that order. If a URL is blocked, resolve access before debating content quality. If a page is crawlable but excluded or canonicalized elsewhere, resolve the indexation signals before treating rendering as the primary fault. If crawl and indexation signals are sound, then compare source and rendered output.
Evidence: retain representative URLs, crawl exports, relevant Search Console output, response headers, rendered output, and release history. Severity: rate findings by the importance and breadth of the affected URL set. Owner: name the team that controls the rule, template, application, or infrastructure. Corrective action: change the common source rather than patching symptoms page by page. Validation: rerun the same tests on the same representative URLs after deployment and confirm the expected signal changed without creating a new conflict.