An SEO audit should explain why valuable demand is not becoming useful visibility and action. A crawler can list response codes, headings and canonicals; it cannot decide which market matters, whether a page satisfies the query or whether the business can implement the proposed fix. Use tools for coverage and human review for diagnosis.
1. Before you crawl: frame the audit
Begin with business context. Otherwise every issue appears equally important and the final document becomes a backlog no team can use.
- Define priority products, services, margins, markets, languages and locations.
- List the conversion actions that represent real value: qualified form, call, booking, sale or assisted step.
- Record migrations, redesigns, domain changes, CMS releases, manual actions or tracking changes.
- Identify page types: home, categories, products, services, locations, editorial, filters, search, account and utility pages.
- Agree the question: growth plateau, traffic loss, indexation, migration readiness, content opportunity or full baseline.
Take a dated baseline of organic landing pages, search queries, indexed-page signals, conversions and important rankings. Export raw data where possible so the comparison remains available after interfaces change.
2. Verify measurement before trusting performance
An audit can reach the wrong priority when analytics contains duplicate events, missing consent states, cross-domain breaks or bot traffic. Inspect the implementation rather than assuming the dashboard is true.
- Test forms, calls, ecommerce transactions and key events on desktop and mobile.
- Check whether one action fires more than once or on a page view rather than completion.
- Compare analytics landing sessions with Search Console clicks directionally; explain major gaps.
- Segment brand and non-brand demand, country, device and landing-page group.
- Confirm that revenue or lead values reflect contribution rather than an arbitrary number.
- Annotate site releases, campaign changes and tracking changes before interpreting trends.
3. Crawling and discovery
Robots and access
- Fetch
/robots.txt; confirm important assets and sections are not unintentionally blocked. - Review status codes for internal URLs: 200, redirects, 404, soft 404, 5xx and intermittent failures.
- Check whether authentication, cookies, geolocation or JavaScript is required to see core content.
- Inspect XML sitemaps for indexable canonical URLs, accurate modification dates and useful segmentation.
Internal discovery
- Measure click depth from primary navigation, not only crawler depth from an arbitrary starting list.
- Find orphaned valuable pages using sitemap, analytics, Search Console and backlink data.
- Test pagination, infinite scroll, filters and “load more” states for crawlable links.
- Identify parameter combinations, calendar loops, internal search or faceted routes creating crawl waste.
- Review anchor text and whether links describe the destination clearly.
Rendering
For JavaScript sites, compare initial server HTML with the rendered DOM. Verify that titles, canonical, robots directives, primary content, structured data and internal links are present consistently. Test representative templates under slower mobile conditions and with failed third-party resources.
4. Indexation, duplicates and canonical selection
Indexation is a selection problem, not a target to maximise. Every page in the index should have a clear role and enough distinct value to justify maintenance.
- Compare canonical tags, redirect targets, sitemap URLs and internal-link destinations.
- Sample Search Console URL Inspection and index coverage by template, not only site totals.
- Find duplicate paths caused by case, trailing slashes, protocols, hosts, print views, parameters or sorting.
- Review thin search, filter, tag, author, location or product variants for a deliberate index policy.
- Check that non-indexable pages do not dominate internal links or sitemaps.
- Identify soft 404s, expired products, removed services and discontinued content; define lifecycle rules.
- For language versions, use self-referencing canonicals and reciprocal hreflang between genuine equivalents.
| Pattern | Likely diagnosis | Next evidence |
|---|---|---|
| Crawled, not indexed | Low distinct value, duplication, weak discovery or temporary processing | Template sample, internal links, canonical cluster, rendered content |
| Duplicate, Google chose different canonical | Conflicting canonical signals or stronger alternative URL | Links, redirects, sitemap, content and selected canonical |
| Discovered, not indexed | Crawl prioritisation, scale, access or weak site signals | Logs, link depth, sitemap freshness, server stability |
5. Templates, semantics and page experience
Audit representative templates and reusable components. A single component change often delivers more impact than editing hundreds of URLs.
- Unique, descriptive titles and meta descriptions within sensible lengths; no boilerplate replacing the differentiating term.
- One clear primary heading and a logical hierarchy that reflects content structure rather than font size.
- Primary content in HTML, useful image alternatives, descriptive links and keyboard-accessible controls.
- Breadcrumbs and contextual links that reinforce page relationships without forced exact-match repetition.
- Structured data that matches visible content and a genuinely supported entity or page type.
- Mobile layouts without intrusive overlays, hidden critical content or tap targets that block tasks.
Core Web Vitals
Use field data where available and segment by template. Investigate the largest contentful element for LCP, long main-thread tasks and event handlers for INP, and unsized or late-inserted elements for CLS. Prioritise perceptible user improvements and reusable causes rather than chasing a laboratory score in isolation.
6. Content, intent and differentiation
Evaluate pages against the actual search results and customer decision. Word count is not a quality measure.
- Map one primary purpose to every indexable commercial page.
- Identify cannibalisation where several URLs compete for the same intent without distinct roles.
- Compare format, depth, proof, freshness and task completion with the strongest result alternatives.
- Look for first-hand evidence: process details, examples, data, original visuals, expert explanation and transparent limitations.
- Check whether introductions answer quickly and whether supporting sections follow natural questions.
- Review dates and factual claims; update, consolidate, redirect or retire content using clear criteria.
- Ensure the next action fits the stage: learn, compare, calculate, contact, book or buy.
7. Internal authority, backlinks and trust
Internal links
Map which pages receive sitewide, navigational and contextual links. Important commercial pages should not rely only on a sitemap. Consolidate repeated weak links, repair broken destinations and create editorial connections where they genuinely help the reader.
External authority
- Review referring-domain relevance, editorial context, destination pages and suspicious growth patterns.
- Find strong pages with lost links or redirects that no longer preserve intent.
- Compare linkable assets and expert visibility with competitors, not only domain-level scores.
- Check business identity, authorship, contact, policies, reviews and external references for consistency.
- Avoid interpreting a third-party authority metric as Google's ranking score.
8. Prioritise findings into implementation
Score every material issue across four dimensions:
| Dimension | Question |
|---|---|
| Impact | How much valuable demand or risk could this affect? |
| Confidence | How strong is the evidence that the change addresses the cause? |
| Effort | What development, content, design, legal and QA capacity is required? |
| Dependency | What must happen first, and can this be bundled with another release? |
Build a 30/60/90-day roadmap. The first period should establish measurement and remove high-confidence constraints. The second should improve priority templates and pages. The third should scale what the earlier data supports. Give every item an owner and acceptance criteria.
Finally, re-crawl and re-test after release. An audit is complete only when the team knows whether the implementation behaves as specified and which signal will be monitored next.