Start with the business question and a page inventory
Write down the offer, buying roles, markets and languages before opening a crawler. A page can attract many visits from people who will never buy your service. Agree which buyer questions the website should answer and what a useful next step looks like.
Inventory canonical public URLs, their purpose, language, linked service and most recent substantive change. Keep service pages, evaluation guides, pricing explanations and customer evidence as separate cohorts. Compare equivalent dates and search surfaces; annotate launches, migrations and changes to tracking. A newly published page needs discovery and time before its performance can be judged.
Turn a finding into a verifiable action
Build a URL-level register with evidence, alternative explanations, responsibilities and retests. Load the six-page fictional example to see the complete output, then replace it with your own non-sensitive notes.
Record the URL, dated observation and affected buyer question.
Describe the smallest useful repair or test, with dependencies.
Name the owner and the next check; keep unknowns explicit.
Private, ungated workbook. Add up to 50 entries, load the complete fictional example, build a report and export CSV or print. Inputs stay in this page and disappear on reload. No automatic audit, score or verified outcome is produced.
Entry 1
Entry 1
No completed entries. Unknown is not zero.
No account, upload or data collection. Inputs disappear when this page reloads. Build and export the report before leaving. Without JavaScript, use the blank fields and the completed example in the article manually.
Check discovery, indexability and the selected canonical
Sample important templates and every business-critical URL. Inspect the response status, redirects, robots rules, meta robots, canonical, sitemap inclusion and internal links. Search Console can distinguish discovery, crawling and indexing; an accepted sitemap submission establishes none of the later stages by itself.
Compare the declared canonical with Google’s selected canonical where that information is available. A real duplicate, blocked response or inaccessible stylesheet calls for a specific repair. “Discovered, not indexed” calls for investigation of quality, duplication, linking and crawl evidence; it does not automatically justify deleting the page.
- Check that the final HTTPS URL loads useful HTML and required assets.
- Test reciprocal language alternatives, self-referencing canonicals and relevant links within each language.
- Record the affected URL, observed response, date and reproduction steps. Retest the same failure after repair.
Assign buyer questions before changing titles or content
Use page-filtered Search Console queries to see what Google currently associates with a URL. Record impressions, clicks, CTR and position with the date range, country, device and row coverage. Position is an average across different searches; it is not a single stable rank. Missing query rows are unknown, not proof that nobody searched.
For a page losing clicks, separate lost impressions from changes in CTR. Check which queries and countries changed, whether the average position moved and whether the results page now serves a different intent. A broader impression mix can reduce aggregate CTR without making every existing query worse. Compare the same query/page cohort before rewriting a successful answer.
Give each important question a primary page. Improve the title, concise answer, evidence or internal links only where the observed search intent supports it. Similar keywords do not always need new URLs; a genuinely different buying job sometimes does.
Review content, proof and the path to a decision
Read the page as a potential buyer: does it answer the question quickly, explain limits and help you decide? Check factual accuracy, current service scope, dated sources, concrete examples, responsibilities and the next sensible action. A long article that avoids the decision can still be incomplete.
Inspect actual competing results for the question, noting their format and useful decision help. Add what the buyer needs that your page lacks; do not copy their claims, fabricate credentials or expand into unrelated subtopics merely to increase word count. Review the whole translated journey, including tools, pricing links and booking handoff.
Test mobile usability and genuine lead measurement
Check navigation, readable headings, tables, contact controls and the booking path on desktop and narrow screens. Diagnose measured loading or interaction problems on representative templates before changing shared styles. Browser zoom and accessibility settings belong to visitors; production CSS should not compensate for a tester’s changed zoom.
Keep impressions, organic landing sessions, calendar opens, genuine new bookings, calls held and qualified outcomes separate. A confirmation-page visit alone does not prove a booking. Reconcile booking identifiers and original creation dates with the scheduling system where permission and data permit.
Exclude identified internal and audit visits before interpreting traffic growth. Preserve unknown attribution rather than classifying all Direct traffic as testing. When the cohort or source coverage is incomplete, report the limitation instead of calculating a confident conversion forecast.
Prioritize an evidence-backed work queue
Fix confirmed access or booking failures on important pages before cosmetic changes. Next, address demonstrated intent gaps and internal journeys. Treat uncertain explanations as tests with a baseline, owner, expected observation and review date. Estimate effort and dependencies separately from potential buyer value.
The following queue is fictional. Its order follows the specific evidence described; it is not a universal SEO ranking formula.
| Page | Evidence | Decision | Verification |
|---|---|---|---|
| Core service | Returns a server error in the observed test | Repair access first; preserve content | Retest response, HTML and assets |
| Buyer guide | Relevant queries appear; answer omits buyer responsibilities | Add a scoped responsibility section | Check copy and later matched-query results |
| New language page | Recently published; no crawl evidence yet | Check discovery and links; retain page | Review crawl/index state after a recorded interval |
Know what a useful agency audit should deliver
Ask for a reproducible URL-level issue register, the data period, access limitations and a clear distinction between confirmed failures and hypotheses. Each recommendation should name the proposed change, responsible person and how success will be checked. A checklist export without interpretation leaves prioritization with you.
An audit does not establish that implementation is included. Confirm who changes code or content, who approves commercial claims, and who validates the live release. If you need ongoing implementation, discuss that scope separately. No responsible audit can guarantee a number-one position or a fixed number of meetings.
A reproducible technical audit: observation, alternative, repair and retest
Choose an important URL and record the exact test before expanding to the whole template. The same symptom can have different causes. An error on your connection is not proof of a universal outage; a declared canonical is not proof that Google selected it. Keep the raw evidence reference and access limitation in the register.
In URL Inspection, Google-selected canonical belongs to the indexed data. A live test cannot predict which version Google will select as canonical. Record the exact evidence type instead of treating a successful live fetch as canonical or indexing proof.
| Check | Where to inspect | Meaning and alternative | Action and retest |
|---|---|---|---|
| Final response and redirects | Browser Network panel and a script-free response check | A 5xx may be intermittent; a redirect may be deliberate | Reproduce important failures; repair the route or destination; retest final HTML and assets |
| Crawl versus index controls | robots.txt, page robots/X-Robots-Tag and URL Inspection | A crawl block and noindex do different jobs; robots is not privacy protection | Confirm intended public state; fix the actual rule and inspect again |
| Canonical selection | Source canonical plus Google-selected canonical where available | A different selected URL may reflect real duplication or conflicting signals | Compare content, redirects, sitemap and internal links before changing signals |
| Discovery and links | Rendered navigation, relevant articles, sitemap and crawl evidence | Sitemap acceptance is discovery input, not indexation | Repair broken or orphaned paths; verify relevant crawlable links |
| Language alternatives | Each equivalent page’s canonical and reciprocal language links | Missing return links or a non-equivalent translation can confuse relationships | Restore complete equivalent pages and reciprocal links; retest each locale |
| Useful rendered content | Compare initial HTML with the rendered main content | An empty shell can be a rendering problem; short text is not itself a defect | Make the actual answer and controls accessible; retest the affected template |
| Performance and interaction | Representative mobile and desktop tests; field data if available | A fast synthetic run is not field performance; a slow request may be third party | Identify the actual blocking resource or interaction and repeat the same conditions |
| Booking path and measurement | Real page controls and authorized event-source records | A button click is not a created booking; missing tracking is not zero bookings | Repair the demonstrated break and verify legitimate source records; never make fake production bookings |
Worked example: a six-page site and the decisions it supports
Every path, count and event in this example is invented. Imagine a small industrial consultancy. Its core service returns an error, its guide attracts a new broader query mix, and a French equivalent was just published. Those are three different problems; “rewrite everything” does not follow.
| URL | Buyer job and evidence | Competing explanation | Decision | Owner and check |
|---|---|---|---|---|
| /services/inspection/ | Hire an inspection partner; repeated 503 in this test | Deployment failure, not necessarily copy quality | Repair access first; preserve existing text | Developer; response and assets after release |
| /guides/inspection-cost/ | Understand scope; query cohort below | Broader exposure can lower aggregate CTR | Retain the accurate answer; inspect the new query’s result type | SEO owner; matched query review |
| /fr/services/inspection/ | Evaluate delivery in French; new URL, no crawl record | Age and discovery unresolved | Retain; verify links, canonical and language returns | Editor; dated discovery check |
| /downloads/preparation-list/ | Prepare a site visit; few clicks but linked in a real buyer journey | Low volume does not prove low usefulness | Keep; review source evidence and next step | Commercial owner; usefulness review |
| /guides/vendor-selection/ | Choose a supplier; old safety reference | Outdated facts, not automatically duplicate intent | Verify primary source and update the affected advice | Subject owner; factual approval |
| /guides/inspection-basics/ | Learn the same question as a second basic guide | Overlap possible but unique links not checked | Hold consolidation pending intent and incoming-link review | SEO/editor; compare both URLs first |
Separate a changing query mix from a failing answer
For this fictional guide, compare the same country, device and complete 28-day windows. Query A moves from 100 impressions and 5 clicks to 100 impressions and 5 clicks: 5% CTR in both. Query B moves from 0 impressions and 0 clicks to 400 impressions and 0 clicks. The combined total changes from 100/5 to 500/5, so CTR falls from 5% to 1% while clicks stay at five. That arithmetic does not prove that the existing answer deteriorated.
Inspect Query B’s actual results: does it ask for a calculator, service, definition or a different buying stage? If it belongs here, improve the missing answer. If another existing URL owns it, improve the internal relationship. If disclosed query rows do not reconcile with page totals, state the coverage gap instead of inventing an explanation for the remainder.
For an actual click decline, compare impressions and CTR within the stable named-query cohort, then inspect country, device, position and result-format changes. Annotate the release; observe mature results after the change. A concurrent booking or ranking movement is not a causal experiment.
Audit authority and corroboration without chasing a score
Inspect relevant referring pages, their actual destination, whether the link is live and whether it helps a buyer corroborate a claim. Compare lost links with changed destinations, redirects and removed source pages. Vendor authority metrics can help prioritize investigation but do not verify a penalty, expertise or ranking benefit.
Check whether public company facts, named expertise, permitted case evidence and editorial sources agree. A real gap may be an accurate reference that points to a retired URL; the first fix is a working destination. Do not buy links, invent reviews, contact publishers or submit a disavow file from an unexplained backlink spike.
From diagnosis to implementation acceptance
Ask the agency to show one completed issue before accepting a long report: affected URL, dated observation, alternative explanation, buyer impact, proposed repair, dependency, owner and retest. Confirm the access needed, the scope of the sample and which data was unavailable.
Agree who can edit templates, who approves facts and who validates the release. Acceptance needs the response or behavior that failed to pass under documented conditions, plus preservation of useful URLs, languages, tracking and buyer paths. The later business review asks a different question: did mature relevant search exposure and genuine qualified conversations improve?
Choose the next fix by evidence and buyer impact
Leave with a short work queue, not a large unranked export. Preserve working URLs and recent improvements while testing the specific constraint.
- Name the affected page and buying question.
- Keep observed facts, inferences and missing evidence distinct.
- Assign an owner and a verification date.
- Review mature search and booking cohorts before expanding the change.
Frequently asked questions
What should a B2B SEO audit include?
A defined buyer and page inventory, crawl and index checks, page/query evidence, content and proof review, internal journeys, mobile usability and source-aware lead measurement. Its output should be a prioritized action register with owners and verification steps.
Is an SEO audit the same as a content audit?
They overlap. An SEO audit diagnoses search discovery and performance across technical and content factors. A content audit decides what the existing portfolio should keep, improve, combine or retire and where a new page is justified.
How often should we repeat the audit?
Review critical access and measurement after meaningful releases. Revisit the wider diagnosis after substantial site changes or when sufficiently mature page/query evidence changes. Use comparable periods rather than repeatedly reacting to daily noise.
Will fixing every issue guarantee higher rankings?
No. Fixes can remove barriers and improve usefulness, but demand, competition, search presentation and evaluation change. Record what changed and assess mature query-level exposure and genuine business outcomes.
Sources and methodology
The provider sources inform the scope comparison; they do not validate Beespoke results. The checklist and worksheet are Beespoke planning methods. All queue examples are invented. Search exposure and booking outcomes must be measured separately. Sources reviewed October 27–28, 2026.