An SEO audit earns its cost in one way: it changes what someone does next week. Everything else in the document is a description of the site, and the site already knew that. Most audits fail here, and they fail in a predictable way — hundreds of issues, a score out of 100, and no decision attached to any single line.
We’ve run these on export websites since 2017, for clients and for our own three domains. The version below is the triage we use: which findings force a change, which ones are noise, and how to tell the difference before you spend a month on the wrong list.
Why the standard audit deliverable misses
A crawler can produce 400 findings on a 200-page site without breaking a sweat: 212 images missing alt text, 37 titles over 60 characters, nine duplicate meta descriptions. All of that can be true while the site is invisible, because the crawler cannot see the three things that decide an export site’s fate — whether Google is indexing the pages that sell, whether the pages that rank are the ones a buyer would land on, and whether an enquiry submitted from the site reaches a human.
Our own numbers make the point. Over 16 months, our own sites recorded 543,305 impressions and 7,460 clicks, a 1.37% CTR at an average position of 15.8. A crawler audit of that site comes back healthy. The Search Console table says something else: most of those impressions landed on pages with no connection to the service. The audit that matters starts from that table.
The one question that turns a finding into a decision
For each line in a report, ask a single question: if this were true, what would we do differently? If the honest answer is “nothing”, the line gets parked. If there’s an action, the line carries three things — who owns it, how long it takes, and what evidence proves it was fixed.
Sorting findings through that question produces four buckets, and only two of them deserve this month’s attention.
| Bucket | Example | What to do |
|---|---|---|
| Blocking | Product pages not indexed; the enquiry form fails silently | Fix this week, before anything else |
| Misdirected | Impressions land on blog posts instead of service pages | Reassign pages to queries, add internal links |
| Cosmetic | Alt text on decorative images; meta description length | Batch later if ever |
| Unknown | “Content quality” with no query data behind it | Get the data or drop the claim |
The checks that almost always change a decision
Index coverage by URL type, not in total
Open Search Console, go to Pages, and read the “Not indexed” reasons rather than the total. The failure pattern on an export site is specific: the blog is fully indexed and the product pages sit at “Crawled – currently not indexed”. Compare the indexed rate of product URLs against blog URLs. A single number hides exactly the split that matters.
Crawl attention also varies between sites on the same server, which most audits never check. On 22 September 2026 we inspected our own three properties: one homepage had been crawled the previous day and its new pages were indexed the same day; another homepage had last been crawled ten days earlier, its sitemap fourteen days earlier, and three new pages published in between were still “Google can’t recognize this URL”. Same server, different crawl outcomes. Only a per-URL inspection surfaces that.
One URL per buying query
Filter a single commercial query in Performance, then read the Pages tab. If three URLs alternate week to week, Google is choosing for you, and it usually settles on the weaker page. Our full 12-point audit treats this as its third check for that reason.
The share of impressions from buyer queries
Export the top 500 queries and label each as buyer, job-seeker, student or noise. On industrial sites, buyer intent is often a small minority of impressions. That one ratio tells you whether the problem is content or technology, and it’s the fastest way to stop a client from buying more traffic into a leaky page.
The enquiry path, end to end
Submit the form from a phone. Check the inbox and the spam folder. Open the WhatsApp link. Send an email to the address in the footer. We audited one site where the form had been failing silently for 12 days because the reCAPTCHA site key was registered to a different domain; 207 paid clicks landed on a form that could not send. No crawl report shows this. Only the test does, and it takes ten minutes.
Language and region markup, if there’s more than one language
Every language version needs a self-referencing canonical and reciprocal hreflang tags, and every URL in the set has to return 200. These break during redesigns and migrations, and the damage is quiet. When the tags disagree, the wrong language can be served to the wrong market.
URL form on English pages
Check for percent-encoded characters in English URLs. We measured this by accident on our own archive — pages with Latin slugs were indexed, pages with encoded non-Latin slugs were not, across the same site and the same publishing pipeline. The write-up is in the 63-versus-0 indexing test.
The checks that rarely change anything
These are the lines that fill page 40 of an audit and produce no action on a B2B export site.
- Meta description length. Google rewrites descriptions often. A description over the pixel limit is not a ranking problem.
- Alt text on decorative images. Worth fixing for accessibility, not for rankings. Images that carry product information are a different case.
- A lab PageSpeed score on the homepage. The score moves with throttling settings and device profiles. What matters is field data on the template that carries the money pages.
- Keyword density. There is no useful target. Write for the question; a density figure adds no information.
- Domain authority scores. Proprietary, vendor-specific and non-comparable. They’re a sorting device, not evidence.
- “Thin content” as a verdict. Thin relative to what query? Without a query attached, it’s an opinion.
One caveat on performance. The homepage score is usually fine even when the site is slow where it counts. On one site we took over, the product template loaded a 15 MB hero image, so every product page failed Core Web Vitals at once. Google’s thresholds are LCP at or under 2.5 seconds, INP at or under 200 milliseconds and CLS at or under 0.1, measured on real users where data exists (web.dev: Web Vitals). The homepage was never the problem.
A one-day audit order
If Search Console access is in place, these six steps fit into a working day for a site under 500 URLs. The order matters more than the tooling.
| # | Check | Where | Decision it produces |
|---|---|---|---|
| 1 | Indexed rate by URL type | Pages report + URL Inspection sample | Fix indexing before content |
| 2 | Enquiry path test | Phone, inbox, WhatsApp | Emergency fix or proceed |
| 3 | Query ownership | Performance → query → Pages | Merge or reassign pages |
| 4 | Buyer-intent share | 500-query export, hand-labelled | Content or technology focus |
| 5 | Language markup | View source on each version | Fix canonical or hreflang |
| 6 | Field vitals on the money template | PageSpeed Insights field data | Fix template or leave it |
What an audit can’t see, and why it matters for priority
An audit reads the website. It doesn’t read the quote book, the margin, or what happens to an enquiry after it arrives. That gap changes priority, because a fix is only worth doing in proportion to what it protects.
Take two findings of equal technical severity. A missing canonical on thirty blog posts, and a broken form on the one page that carries the product with the best margin. The first is louder in the crawl. The second is the one that costs money every day, and only the commercial context makes that visible. We’ve watched teams spend a quarter on the loud finding while the quiet one kept failing.
Two questions belong in the kickoff, before the crawl runs. Which pages carry revenue, and what happens to a message once it arrives? If nobody can answer the second, the audit should stop and find out. A form that sends into an unmonitored inbox is functionally the same as a form that doesn’t send.
The 90 days that follow an audit
An audit without a plan becomes a document nobody opens twice. The sequence we use is deliberately boring, and it’s ordered by how fast each step produces evidence.
Week one: blocking fixes only — indexing faults that can be reversed, the enquiry path, and anything that returns an error to a user. The test message should arrive before the week ends.
Weeks two to four: page assignment and internal links. Decide which URL owns each buying query, merge where two compete, and build links from pages that are already indexed to the pages that need discovery. That last step is the one with the shortest measured feedback loop in our own work.
Month two: content only where the query data asks for it. If a cluster of buyer queries has no page, publish one. If a page already ranks for the query and converts poorly, rewrite that page instead of adding another.
Month three: re-measure the same six checks and compare. Indexed rate, query ownership, buyer-intent share, enquiry path, field vitals, and error-free URLs. If a check hasn’t moved, the fix didn’t do what the plan assumed, and that’s information worth having.
The plan stays short on purpose. Six checks, four phases, one owner per action. An audit that produces anything longer than that is usually describing the site rather than changing it.
What the handover should look like
The output should fit on a page and read like a work plan, not a diagnosis. Each row names the finding, the action, the owner and the evidence that closes it.
| Finding | Action | Owner | Evidence of done |
|---|---|---|---|
| 48% of product URLs not indexed | Add internal links from indexed category pages | Developer | Indexed rate re-checked after 14 days |
| Form fails on mobile | Re-register reCAPTCHA key to the correct domain | Developer | Test message received from a phone |
| Two pages alternate for one query | Merge, keep the stronger URL, redirect the other | Content | One URL in the Pages tab for 4 weeks |
| English URLs percent-encoded | Rewrite slugs, map old URLs to new | Developer | Zero encoded characters in the sitemap |
Anything that doesn’t fit this shape is context. Keep it in an appendix, where it can inform without competing for attention.
When there’s no Search Console access
Be explicit about what can’t be done. Indexing rate, query ownership, buyer-intent share and crawl behaviour all require first-party data. A report that claims them from the outside is guessing with confidence. What remains without access — URL form, language markup, field vitals, the enquiry path, on-page structure — is enough for a preliminary triage, and it should be labelled as one.
How to challenge an audit you were handed
Ask for the raw evidence behind the top three findings: the Search Console screenshot, the URL, and the date it was checked. A credible audit can produce all three in minutes. If it can’t, the finding is unverified regardless of the tool that printed it.
Then check one number yourself. Open the Pages report, pick a money page, and run URL Inspection on it. That single probe will tell you whether the audit’s central claim about indexing is accurate. It’s also the cheapest way to find out whether the person who wrote the report opened the data at all. Google’s own guidance on whether you need SEO is blunt on the same theme: no one can guarantee a ranking, and a report that promises one is selling the wrong thing.
The studies behind these checks are collected on the research index, including the AI Overview coverage count that now sits alongside classic ranking checks on our list.
Questions about SEO audits
What should an SEO audit actually deliver?
A short decision list, not a score. Every row should name a finding, the action it triggers, the owner, and the evidence that proves it was fixed. If a line has no action attached, it belongs in an appendix as context.
Which checks change a decision most often?
Index coverage by URL type, one URL owning each buying query, the share of impressions from buyer-intent queries, and the enquiry path tested end to end. Those four have produced a concrete action on every export site we have audited.
Can I run an SEO audit without Search Console access?
Only a preliminary one, and it should be labelled that way. Indexing rate, query ownership, buyer-intent share and crawl behaviour need first-party data. URL form, language markup, field vitals and the enquiry path can be checked from outside.
How do I verify an audit someone else wrote?
Ask for the raw evidence behind the top three findings: the Search Console screenshot, the URL and the date. Then run URL Inspection on one money page yourself. If the central indexing claim is wrong, the rest of the report is unverified.
Who wrote this and how to check it. Written by Liu Yu, founder of Tianwenseo (Henan Tianwenseo Technology Co., Ltd., registered 3 May 2017; Zhengzhou, China; UTC+8). Tianwenseo has built and maintained WordPress export websites and run Google SEO for B2B manufacturers since 2017, and currently maintains 30–40 client sites plus its own research domains. Every figure on this page is measured on a site we run, or linked to the source it came from. We don’t promise rankings or a number of enquiries. Contact: WhatsApp +86 135 2681 6415.