What We Learned Auditing Our Own Site for AI Visibility

CrawlTide Team
6 min read

Last updated: September 16, 2026

Organized sealed volume on a stone plinth beneath an unclaimed gold laurel, representing AI visibility readiness without guaranteed recognition.
Table of Contents

The crawl came back with a number we did not want to see on our own domain: structured data present on 17 of 43 pages. Forty percent. We build an SEO platform that flags exactly this problem for other people's sites, and here was crawltide.com missing Organization and WebSite schema across most of it, the exact AI visibility foundation we tell customers to fix.

So we did the obvious thing. We ran our own AI Citation Readiness audit against ourselves, fixed what it found, re-crawled, and watched the score move. The score moved. What we expected to happen next mostly did not. Here is the full account, including the part that made us rewrite how we talk about AI visibility to customers.

Why 40% schema coverage was worse than it sounds

Structured data is how a machine reads your site without guessing. When an AI system tries to answer "what is CrawlTide and who makes it," it wants a clean, declared answer: this is an Organization, here is the name, here is the WebSite it operates. Without that, the model is left inferring identity from prose, navigation, and whatever else it can scrape together.

Our 40% was not random. The pages that had schema were the ones where someone had remembered to add it. The pages that lacked it were everything built before we cared, plus everything added by people who did not know the convention existed. That is the normal failure mode: identity schema gets treated as a per-page task, so it gets applied unevenly and then rots.

Coverage that depends on human memory will always drift toward incomplete. The 17 pages were not a strategy. They were an accident that happened to be positive.

The fix was one shared component, not 43 edits

The tempting reading of "26 pages are missing schema" is "we have 26 things to fix." We almost scoped it that way. The better reading is that identity schema describes the whole site, not any single page, so it belongs somewhere that renders on every page exactly once.

We put a single shared Organization and WebSite block in the footer layout. It renders one time per page, everywhere, because the footer is everywhere. No page-level edits. No checklist for future authors to forget. When we re-crawled, coverage went from 40% to 98%, which is 42 of 43 pages. The one straggler was a page that renders outside the shared layout, which is a fair thing for an audit to keep flagging.

This is the practical argument for treating identity schema as infrastructure: you fix it once in the layer that already touches every page, and it stops being a recurring maintenance debt.

Two honest compromises we shipped anyway

We did not ship a perfect object, and pretending otherwise would undercut the point of dogfooding. Two things are worth naming because you will hit them too.

First, our @graph wrapper has no @type on the wrapper itself. Validators will warn about this. It is valid to use @graph as a container for multiple typed nodes, but the warning is legitimate noise you should expect and be ready to explain, rather than something to panic-fix into a worse shape.

Second, we left out sameAs. That property links your entity to authoritative profiles elsewhere, and it genuinely helps machines confirm identity. We do not actively maintain social profiles, and we were not going to invent URLs to fill a field. An empty-but-honest schema beats a complete-but-fabricated one, because the fabricated version breaks the moment anything checks it.

Open tabbed volume being consulted on a stone plinth while the gold laurel remains unclaimed, showing that AI visibility readiness earns consideration, not selection.

The score went up. Then the reality check.

The AI Readiness Score rose from roughly 104 to roughly 134 out of 230, close to a one-third gain from a single shared block. On the scorecard, this was our best-return fix of the quarter. If the story ended here it would be a tidy before-and-after.

One caveat we owe you, because it cuts against our own headline. Structured data coverage is itself one of the twelve factors the readiness score measures, worth up to 20 of the 230 points. Fixing schema moved that factor mechanically. So part of the rise was the scorecard doing exactly what it is built to do, not independent evidence that anything outside our own tooling had started reading the site differently. That is worth holding on to before you treat any readiness gain as proof of progress, including ours.

It does not end here. When we checked our own AI visibility tracking, the part that watches whether we actually show up in AI answers, the site was still absent from most of them. More machine-readable, same near-invisible presence in the responses that matter.

Schema made us legible, not recommended. Those are different problems, and we had quietly been hoping they were the same one.

What schema does and does not buy you

The clean way to hold this: structured data is table stakes for being understood, not a lever for being chosen. It removes a reason for an AI system to misread or skip you. It does not give the system a reason to put you forward as the answer.

Here is the split we now use internally.

Schema fixes this

Schema does not fix this

Whether machines can parse who you are

Whether machines consider you worth citing

Consistent identity across every page

Depth and usefulness of your actual content

Eligibility for rich understanding

Authority and third-party brand mentions

Being recommended by an AI system tracks the same signals that have always compounded slowly: content that answers real questions with real specificity, authority earned over time, and other people mentioning your brand in places the model has read. None of that arrives in a re-crawl. A schema block is a one-day fix. The rest is a long game with no shortcut we found.

How to run this audit on your own site

If you want to repeat what we did, the sequence is short and the order matters.

  1. Crawl for structured data coverage first and get the honest percentage. A single low number across many pages usually means the schema lives per-page instead of in a shared layout.

  2. Fix identity schema in the one shared component that renders on every page. Resist scoping it as N page edits.

  3. Re-crawl and confirm coverage, then read the validator warnings instead of reflexively clearing them. Some, like a typeless @graph wrapper, are acceptable and worth understanding.

  4. Do not fabricate to complete a field. Skip sameAs before you invent profiles.

  5. Check actual AI visibility separately from your readiness score, and expect a gap. Treat the readiness gain as removing an obstacle, then point your real effort at content and authority.

The reason we published our own numbers instead of a cleaner hypothetical is that the gap between 134 out of 230 and being cited by an AI system is the honest shape of this work. Schema got us in the door; it was never going to walk us across the room. We would rather tell customers that up front than sell a readiness score as if it were the destination.

CrawlTide Team

CrawlTide is an AI-powered SEO platform that helps teams find and fix technical SEO issues, track keyword rankings, and optimize search performance.