A semantic SEO audit that ends in concrete changes.
An audit does not end with 100 generic line items. Each finding is tied to the business goal, a URL, the impact, the evidence and a completion criterion.
What gets checked?
| Layer | Check | Deliverable |
|---|---|---|
| Intent and map | URL boundaries, gaps and overlaps | A topical and impact map |
| Content | Answers, evidence, sources and information gain | Finished replacements for the critical parts |
| Links | Crawlability, anchor text, hub and spoke relations | A link map |
| Schema | @id relations and alignment with visible content | A corrected JSON-LD example |
| Technical | Canonicals, sitemap, dates, mobile rendering, images | A prioritised backlog |
| AI visibility | Extractability of answers, share of impressions in AI features, AI crawler arrivals | Findings per URL and a list of gaps |
What makes a finding complete?
Every finding states six things: the surface, an example, the impact, the priority, who owns the task and the completion criterion. Without a completion criterion a finding cannot be closed, only abandoned.
“Improve the content” is not a finding. “No internal link points to the old URL” is, because it can be verified with a single command. The audit example shows the full shape on two real findings from a live project.
| Element | Content |
|---|---|
| Surface | Two URLs: the price guide and the national fare page |
| Example | Both target the query for taxi prices in Serbia, under near-identical titles |
| Impact | The guide at position 9.35 with 25 clicks, the fare page with 354 |
| Priority | P0 — it hits the commercially most important query |
| Owner | Project owner, plus a change in the city fare template |
| Completion criterion | The guide returns a 301, no internal link points to the old URL, the URL is removed from the sitemap and the sitemap is resubmitted |
Priority follows the consequence, not the effort: a finding fixed in five minutes can be P0, while one that takes a week can be P2.
How priority is decided
| Level | Criterion |
|---|---|
| P0 | Blocks indexing or conversion, or splits signal on the commercially most important query |
| P1 | Weakens credibility or dilutes signal, but does not block the task |
| P2 | Degrades accessibility or maintainability with no immediate loss |
Priority follows the consequence, not the difficulty of the fix. A finding resolved in five minutes can be P0; one that takes a week can be P2.
What does the audit cost?
The final figure depends on the number of URLs and languages. It is confirmed before work starts and does not change during the audit.
What is included
- Findings at URL level, each with its impact and a completion criterion — not a generic checklist.
- A "what would refute this" field on every finding, so you can test the conclusion yourself.
- Ready replacements for critical content and a corrected JSON-LD example.
- A prioritised backlog and an explicit list of what was not checked.
- One round of questions and clarifications after delivery.
What is not included
- Implementing the changes on your site — that is a separate engagement.
- Writing new content beyond the examples given in the findings.
- Ongoing monitoring after delivery.
What is not promised: the audit shows what is wrong and on what criterion, but the outcome depends on execution and on the context of the site. No position is guaranteed.
What the result looks like
See the public audit example. It documents findings, their impact and the implemented solution — including two findings on a live project, without invented client results.
Does the audit cover visibility in AI answers?
Yes. The check covers three things: whether pages offer an answer that can be lifted out without the rest of the text, how the share of impressions in AI features stands by page type in Search Console, and which AI crawlers arrive according to server or CDN logs. Findings are reported per URL, like the rest of the audit.
| Check | Data source | What comes out as a finding |
|---|---|---|
| Extractability of answers | The site itself | Pages where the answer does not stand as a self-contained unit |
| Share of impressions in AI features | Search Console, your account | The difference between page types, with period and basis stated |
| AI crawler arrivals | Server or CDN logs | Which agents arrive, which paths most often, what is blocked |
What is not promised here: not a citation in an AI answer, not an impression, not a position. What is measured is what exists on the site now and which component is missing. No structured data type guarantees entry into an AI answer, and Search Console for generative features reports impressions without the queries behind them.
What preparing for AI search involves exactly, with our own measurement on two projects, is set out on the page about AI search and SEO.
When does an audit not make sense?
An audit assumes the site exists, is indexed, and has a business goal to measure against. Without those, findings have nothing to be prioritised by.
- The site is less than two months old. There is not enough Search Console data to put a number on impact, so every finding would be an estimate.
- The site is being rebuilt anyway. Designing the map upfront is cheaper than repairing the existing one — that is a site build, not an audit.
- Nobody will implement the changes. An audit delivers findings; if no one works on the site, the document stays unread.
- Organic search is not the primary channel. For a local service that wins work through its business profile, auditing the site measures a secondary channel — measured on one project.
In those four cases we say so before you send any money, not in the report.
Send your site for review
Describe the project and you will get a proposed next step, not a generic package.