The short version

  • A useful audit is not a list of 300 warnings. It is ten decisions ordered by impact.
  • Audit in four layers: crawler access, indexing, performance, content value. In that order.
  • Roughly 70% of what automated tools return is noise that will not move a single position.
  • Without a baseline there is no audit: you need to know what was happening before you touch anything.
  • Everything described here can be set up with Semalt's free layer plus two hours of manual work.

Every few weeks the same document lands in our inbox: a forty-page PDF generated by a tool, listing 312 "critical errors", 1,400 warnings and a large red traffic light on the cover. The client is worried and wants to know where to start. The honest answer is almost always: with hardly any of them.

An SEO audit is not an inventory of defects. It is a prioritisation exercise. The question to answer is not "what is broken?" — something always is — but "what is stopping this site from winning more customers, and in what order do we fix it?". This article describes the process we run at ValenciaSEO, the logic behind each layer, and how to build the measurement side with tools that cost nothing, starting with the free Semalt stack.

The rule that orders everything: four layers

Website problems stack in layers, and a broken layer invalidates all the work above it. Auditing out of order is the number one cause of audits that produce no results.

The four layers, in strict order of resolution
LayerQuestion it answersIf it is broken...
1. AccessCan the crawler reach and read the page?Nothing else matters. The page does not exist.
2. IndexingHas Google included it, and under which canonical URL?The content exists but competes with itself or never surfaces.
3. PerformanceDoes it load and behave reasonably well?You lose clicks you already earned and degrade quality signals.
4. ValueDoes this page deserve to sit ahead of the other ten?Everything technical is perfect and you still do not rank.
Why the order is non-negotiable

Optimising content on a page blocked in robots.txt is 100% wasted work. So is improving Core Web Vitals on a duplicate that will never be canonical. Each layer assumes the one below it works.

Layer 1: crawler access

The fastest layer to audit and the one that produces the biggest shocks. Four checks and you are done.

robots.txt: read the whole file, line by line

Sounds obvious; it is not. We find inherited staging blocks at least once every couple of months. The typical patterns: a Disallow: / that survived launch, blocks on asset directories that stop CSS and JS loading — so Google renders a broken page — and AI-crawler blocks copied from a template nobody consciously decided on.

Status codes on the URLs that matter

You do not need to crawl all 4,000 URLs. Take the fifty that generate traffic or that you want to generate traffic, and confirm they return 200. The usual findings are redirect chains (301 to 301 to 301, diluting and slowing), 302s used where a permanent 301 belonged, and soft 404s: pages returning 200 while displaying "product unavailable".

Rendering

If the main content is injected by JavaScript, confirm it exists in the served HTML or renders without user interaction. Quick test: disable JavaScript and see whether the text survives. If it disappears, you have work to do.

Has anyone actually been here?

The decisive check is observational rather than theoretical: have the bots visited these URLs? The crawl log shows live GoogleBot, BingBot and OpenAIBot visits with their response codes. If a whole section of the site receives no visits, you know where the problem sits without speculating.

Layer 2: indexing and canonicalisation

This is where most serious problems live on mid-sized sites, and where automated tools are least useful, because they do not understand the intent behind the business.

Template duplication

Area or service pages identical apart from a place name. Twenty URLs that, to the index, are one.

Uncontrolled parameters

Filters, sorting and pagination generating thousands of variants that eat the crawl budget.

Misdirected canonicals

The most expensive case: good pages pointing at another URL, removing themselves from the index.

The practical diagnosis uses two numbers: URLs submitted in the sitemap versus URLs actually indexed. On a healthy local-business site that ratio exceeds 85%. At 45%, you do not have an isolated technical fault: you have content Google has seen and declined to include, which is a conversation about quality, not about tags.

A common trap

Neighbourhood pages generated from one template with only the place name swapped. It is the most repeated local SEO tactic and one of the least effective today. If an area page contains nothing that applies only to that area — real references, travel times, cases, the particular character of its commercial fabric — it is not a page. It is a variable.

Layer 3: performance, in perspective

Web performance has become the area where the most budget is spent for the least return, because it is measurable, carries a numeric score and produces satisfying graphs. Worth putting in its place.

Performance affects rankings modestly and conversion considerably. In other words: it is worth fixing, for the right reason. Moving a lab score from 45 to 92 rarely moves positions; cutting the time until a user sees something useful from 6 seconds to 2.5 genuinely changes how many people stay.

2.5 starget perceived load on 4G
<0.1cumulative layout shift
70%of local traffic arrives on mobile
3causes cover nearly every case

Those three causes, by frequency: images neither compressed nor sized (the classic 3 MB JPEG in a header), third-party scripts — chat widgets, maps, ad pixels, cookie banners — blocking rendering, and web fonts loaded without a fallback strategy, leaving text invisible for seconds.

Our practical recommendation: measure with real user data rather than lab scores, and fix only what affects templates with traffic. Optimising the page of a discontinued product is entertaining and pointless.

Layer 4: content value, where it is decided

Once the three layers below are reasonably sound — and on most sites they are, after a week of work — everything else is content. This is the part no automated tool can audit, and the part that determines the outcome.

We apply four questions to every important page:

  1. Does it answer one real, unique intent?If two pages answer the same intent, one is surplus. If one page answers three, two are missing.
  2. Does it contain anything the competing ten do not?Prices or ranges, timeframes, conditions, concrete cases, your own photography, data from your experience. If it is interchangeable with the competition, there is no reason to prefer it.
  3. Is it structured to be read and extracted?Headings that mirror the real question, direct answers up front, short blocks. This no longer matters only for the reader: it determines whether an AI system can cite you.
  4. Is it connected to the rest of the site?A page with no relevant internal links pointing at it tells Google that you yourself do not consider it important.
A shortcut that works

Sort your pages by impressions and keep the top twenty. Apply the four questions to those only. On a typical thirty-to-two-hundred-page site, that is where 80% of the potential lives, and the exercise fits in a morning.

The measurement that makes an audit verifiable

An audit without a baseline is a well-argued opinion. Before touching anything, freeze the current state — otherwise you will never separate the effect of your work from market noise.

The minimum we record before the first intervention:

Baseline before intervening
Data pointSourceWhat it is for afterwards
Clicks and impressions per URL, last 90 daysSearch Console analyticsIsolating the real effect of each change
Positions across the target query setGoogle SERPTelling your movement apart from the market's
Bot visits by sectionIndexing logConfirming the layer 1 fixes worked
Presence in generated answersAI AnalyticsMeasuring the layer Search Console cannot see
Submitted / indexed ratioSitemap versus indexQuantifying the layer 2 problem

All five are free and take an afternoon to set up. The advantage of holding them in one account is not the saving: it is that they share a period and a domain, so when someone asks three weeks later "did this help?", the answer comes with a graph rather than a feeling.

From report to plan: how we deliver an audit

A useful report fits in five pages and is organised by decision, not by error type. This is the exact structure we hand over:

One page of diagnosis. Which layer holds the main problem and why. No jargon, with the figure that proves it.

Three to five priority interventions. Each with: what gets done, how many hours it costs, what is expected to happen, and how we will verify it. If the last column cannot be written, the intervention does not make the list.

A maintenance list. Things that need fixing but are not urgent, to be worked through without blocking what matters.

An explicit list of dismissals. Items the tool flags red that we have decided not to touch, with the reason. This section prevents the awkward conversation three months later when someone runs the same scanner again.

Warning sign when buying

If an audit you are handed has no dismissals section and no hour estimate per intervention, what you bought is a tool run, not an analysis. You could have generated that yourself in ten minutes.

How often to repeat it

A full audit every month makes no sense. The site does not change that much and the team burns out. Our calendar:

Full audit every 12 months, or whenever there is a redesign, migration or platform change. Layers 1 and 2 quarterly: they break on their own through deployments and plugin updates. Layer 4 on the top twenty pages every six months, because competitors publish and what was differentiating stops being so. And a continuous fifteen-minute weekly check on sharp drops, which is what prevents discovering a disaster three months late.

Build the baseline before touching anything

Search analytics, rankings, crawl log and AI visibility — all free, no time limit. It is the step that turns an audit into something verifiable.

Sign in to Semalt See plans

Frequently asked questions

How long does a serious audit take?

Between 8 and 20 hours for a site of up to two hundred pages, depending on how much digging layers 2 and 4 require. What takes an hour is a tool run, not an audit.

Are automated tools useful at all?

Yes, for layers 1 and 3, which are mechanical. Layer 2 requires understanding the business and layer 4 requires reading. No tool knows whether two of your pages compete for the same customer.

Must everything be fixed before publishing new content?

No. Only layer 1 and the serious layer 2 problems. The rest can run in parallel, and waiting for technical perfection is a common way to lose six months.

How long until fixes show an effect?

Layer 1: days, as soon as crawling resumes. Layer 2: two to six weeks. Layer 3: immediate on conversion, slow and modest on rankings. Layer 4: six weeks to several months.

Can a site be audited without Search Console access?

It can, but it is guesswork. Third-party data estimates; Search Console measures. If someone audits without asking for access, they are working blind.

Conclusion

The difference between an audit that changes a business and a PDF that gets filed is not the number of checks. It is the order — layers, bottom up — and the discipline to dismiss. A report flagging three hundred problems forces the client to prioritise, which is precisely the work they were paying to delegate.

To start on your own, the order is: read your entire robots.txt, check the status of your top fifty URLs, calculate your submitted-versus-indexed ratio, and apply the four layer-4 questions to your twenty highest-impression pages. With the free analytics layer connected you also get the before and after, which is what makes the exercise demonstrable.

And if you would rather we ran it on your site, the initial audit is free and delivered within 48 hours, with all five sections described above — dismissals included. Get in touch and we will tell you frankly which layer your problem sits in.

Semalt Dashboard

Free analytics for Google Search, SERP rankings and AI answers - plus fast indexing for your new pages.

Sign in to Semalt semalt.com
← Back to the blog

Need help with your SEO?

Get in touch for a free audit