← All Insights

What We Check in an SEO Audit

What We Check in an SEO Audit

When traffic drops the usual response is to publish more. On a site with an unresolved indexing problem that mostly produces more pages that do not get indexed. The checking comes first.

1. Crawling and indexing

Search Console's page indexing report is the starting point, since it reports what Google decided and why rather than what a crawler thinks should happen.

From there: robots.txt rules blocking something that should be open, noindex tags left behind after a staging push, canonical tags pointing at the wrong version or applied inconsistently, and parameter URLs or http and www variants competing with each other as separate pages.

Those first two have to be dealt with in that order. A URL disallowed in robots.txt never gets crawled, so its noindex tag is never read, and the page can sit in the index anyway. Unblock first, then let the noindex be seen, then block if you still want to.

Then redirects. After a redesign these tend to chain two and three hops deep, or resolve to a page that looks like a 404 but returns a 200. Both waste crawl, and both are quick to fix once you can see them.

Then rendering, if the site leans on JavaScript. Whether the content and the internal links exist in the served HTML or only appear after scripts run.

2. Performance

Core Web Vitals from field data where there is enough traffic for it to exist, since the field numbers are what Google actually reads. On a low-traffic site there is no field data and a lab score is all you get, which is worth saying out loud rather than pretending the number means more than it does.

In practice one of the three is usually the problem and the other two are fine. LCP is normally slow server response, or a hero image the browser finds too late because it is lazy-loaded or injected by script, or render-blocking CSS and script in the head. INP is normally third-party script. CLS is normally images without dimensions, or a banner injected late.

3. Queries against what you sell

Export what the site already ranks for and map it against the actual service list. Two patterns come up almost every time. Pages ranking for informational terms that never turn into anything, and several pages competing for the same term, where Google keeps picking a different one and none of them ever settles.

The fix is more often consolidation and internal linking than new content.

Structured data gets checked in this pass: whether Organization or LocalBusiness markup exists, whether it validates, and whether it matches what is actually on the page.

4. Off-site and measurement

The link profile, and for anyone with a physical location, the Google Business Profile and whether the name, address and phone match across the places the business is listed.

Measurement last, and it is worth doing before anyone panics. A fair number of the drops we get called about are not drops. A data filter excluding internal traffic and a tag that quietly stopped firing both remove real volume. GA4's unwanted referrals list does something different: it does not delete sessions, it reattributes them, so a channel can look dead while the totals hold steady. Worth knowing which of those you are looking at before anyone acts on it.

What should come out of it

Not a sixty-page tool export with everything flagged red. A short list in priority order: what to fix, roughly what each one takes, and who should do it. Some of it is work worth quoting on. Plenty of it is not, and you should be told which is which.

The first one is on us

Send us a URL and we will run the four passes above at no cost, then spend 20 or 30 minutes going through what we found, on a call or in person. Nothing to prepare, and whoever looks after the site, HubSpot or sales is welcome to join. Afterwards we will follow up with a proposal for anything worth paying for, with no obligation attached.

Book your free audit.

Marketing that gets a reaction.