The audit we ran on ourselves — and what it caught.
Most agencies won't show you what's inside their audit. Here is ours, section by section — including the silent sitewide failure it found on brandinglab.io that Google's own tools missed.
On 20 July 2026, we ran our own audit against brandinglab.io.
It found:
- Every page on the site was serving the homepage's title tag.
- No meta descriptions.
- No canonicals.
- No BlogPosting or FAQPage schema on any article — even though a 2,218-word article with a full FAQ block rendered perfectly for humans.
- Every invented URL returned 200 as an indexable page.
Google's Rich Results Test passed the broken site, because valid sitewide organisation schema masked the dead per-page layer. The cause was a head-management library that loaded without error and silently never applied a single tag.
The fix shipped the same day. Every article now emits its own title, description, canonical, and BlogPosting + FAQPage + BreadcrumbList schema — verified in the DOM.
We publish this because the audit is the product, and the find is the proof.
The six dimensions we test.
Every audit runs the same six passes. Below: our own audit, 20 July — before the fix.
Technical foundation
Red: Fails on delivery
On-page SEO
Red: Titles, meta, canonicals dead
Structured data
Amber: Entity strong, page-level absent
Content and extractability
Green: Citation-ready
Authority
Amber: Absent from roundups
Measurement
Amber: No citation log running
How findings are ranked.
Every finding gets evidence, impact, a named fix, and a P1–P4 priority. On our own audit, one dependency fix closed four P1 findings at once — that is the ranking's real job.
Actively blocking citation or indexing. Fix this week.
Costing visibility now. Plan for month one.
Compounding gains. Schedule when capacity allows.
Hygiene. Batch with other work or defer.
Anatomy of a finding.
Four real findings from our 20 July self-audit — evidence, fix, verify.
D2-01 — Every page serves the homepage title tag
Evidence: rendered DOM on 4 pages, raw HTML on 37 routes. Fix: repair the head-management layer. Verify: document.title changes per page.
D1-09 — llms.txt lists 11 articles; the sitemap lists 16
Evidence: both files fetched and diffed. Fix: regenerate llms.txt from the CMS at build time. Verify: lists match.
D5-03 — No Wikidata or Crunchbase entity claim
Evidence: entity lookup. Fix: claim both profiles, align descriptions. Verify: knowledge-graph presence.
D2-07 — meta keywords tag present
Evidence: page head. Fix: remove — ignored by every engine since 2009. Verify: gone after next deploy.
Effort vs impact.
Findings land on a 2×2 with a phased roadmap. Naming what we chose not to do is part of the methodology.
Do this week
- Fix the head layer
- Verify robots and llms.txt
- Fix footer sameAs
Plan for month one
- Consolidate duplicate pages
- Roundup outreach
- Legacy article audit
Easy wins
- Canonical format
- OG image fallback
- Remove meta keywords
Deliberately deferred
- Review platform listings
- Glossary build
- Testimonial schema
What you receive.
Findings report with named evidence per finding
Ready-to-paste JSON-LD pre-filled from your real site data
Effort-vs-impact matrix (Do this week / Month 1 / Easy wins / Deferred)
Phased roadmap where every item names the change AND its verification step
Citation baseline across ChatGPT, Claude, Perplexity, Gemini and AI Overviews
How updates are tracked.
Monthly citation log
10 buyer queries run manually across Google, ChatGPT and Perplexity. For each: is your answer present? Are you cited? If not, who is instead?
GA4 AI-referrer segment
A dedicated segment for chatgpt.com, perplexity.ai, claude.ai and gemini.google.com referrers, so AI-sourced traffic stops hiding inside 'direct'.
Quarterly re-audit
Every 90 days the same six dimensions are re-tested — because the fix that worked in Q1 can regress the moment a template changes.
"Monitoring watches the metrics you chose. The audit re-tests the assumptions underneath them."