Directory · Web data and extraction
Exa — what a crawler receives from exa.ai
Website measurement, not a product review. This page records what machine clients received from exa.ai. It does not evaluate Exa software, features, pricing or support.
Answer engines can reach and read this site. It needs more it can quote.
AI visibility 81/100, measured 2026-10-06 17:19 UTC from outside its network, as each named AI and search crawler and as a browser. An engine can reach and read this site. What is left is giving it something specific to say.
Held at C A medium-severity finding sets the letter.
5
findings
✓
llms.txt on its host
✗
entity map on its host
5
scans on record since 2026-09-18
The three stages, in the order an engine hits a site
Each stage gates the next. An engine that cannot reach a page never reads it; one that cannot read it never quotes it. That is why reach is a ceiling and not just a weight.
Stage 1 · 40% of the score
Reach
Can a named answer-engine crawler get your pages at all?
Every named crawler was served the same page a browser gets.
Stage 2 · 30% of the score
Read
Once it has the bytes, can it find the words?
The content is buried in markup, or the files that guide a crawler are missing.
Stage 3 · 30% of the score
Quote
Is there a specific fact it can state and attribute?
An assistant would have to paraphrase your page instead of quoting a fact.
The stage to fix first is quote, because the three run in order.
What to fix
5 findings on this site, 2 of them scored serious. Every one is named below; the top one is shown in full, free. What we saw, why each matters, how to fix it and the bytes behind it are what a licence buys — or we implement the whole list for you.
2 Medium 3 Note
1Two business records on this page claim the same identity1 identity collision in this page's structured data: two nodes share the same url.MediumDeveloper
What we saw
1 identity collision in this page's structured data: two nodes share the same url.
Why it matters
A system resolving which business this page is about has more than one candidate for one identity. Two LocalBusiness or Organization nodes sharing a phone number, an @id or a coordinate pair give a retrieval system no way to decide which record is the entity, so it may pick either or neither. This reads only what the page declares - it does not assert the business is duplicated or wrongly located.
How to fix it
Merge the duplicate business nodes into one, keep a single @id, and remove any plugin that emits a second empty LocalBusiness record.
Developer: a template, theme or application change — a developer touches it
On Next.js (detected)
- Render one <script type="application/ld+json"> per entity in the layout or page (JSON.stringify of the object), with a stable @id.
Why this was decided
| Rule | ENTITY_COLLISION · rule pack sv27 · scope route |
|---|---|
| Evaluated | 2026-10-06 17:19:50 UTC |
| Decision | d1:35cef6cae91b1383d2d6 · finding f1:b390eb8ea6cde4ba8a71 resolve either at /api/graph/<id> with a key |
| Observer | crawlcheck-worker build 087699c7 · audit v4 |
What it rests on
| Identity | Status | Bytes | sha256 | Kept |
|---|---|---|---|---|
| read: / | 200 | 208,396 | 03d25999465c | kept |
23 more in the manifest.
Artifacts: manifest:84d60c234dbf840f502b3c53075a3b3877c74a8e161fc2db32884a1fd28ce0de
Grade effect Caps the letter at C together with 1 other medium-severity finding; the letter rises only when all of them are gone. Moves no points.
Rule ENTITY_COLLISION under scoring rules v31 · fingerprint ENTITY_COLLISION|/ · persisting (5 scans)
Verify the fix Re-scan after the change. This finding is cleared when ENTITY_COLLISION is no longer reported at /; if it comes back after clearing, it is marked a regression, not a new finding.
ENTITY_COLLISION · full transcript
Open the other 4
What we saw, why it matters, how to fix it, and the evidence bytes for every finding — on this report and every re-scan. From $29 a month.
Unlock the findingsOr have them fixed
We implement the list on your site and re-measure, with a sealed before and after. One site, $749 once.
Get this fixed — $749The main product
We fix the 5 findings on exa.ai. $749, once.
2 of them are scored serious. One site. You keep the grade for free — this is the part where the list stops being a list.
- Every finding implemented on the site itself: machine files, schema, NAP, the lot
- An entity map authored for your business, not a template with the name swapped
- Measured again afterwards — the before and the after, sealed, so it is evidenced rather than claimed
- Thirty days of monitoring included
- Work starts within two business days
What it covers · one payment, nothing recurring
The chain a crawler follows
The chain breaks at entity graph. Everything after that point is only reachable by a crawler guessing the conventional path.
A machine file that does not parse is worth less than one that is absent, because it looks present. Rows behind this.
Where the bytes go
Of the 208,349 decompressed bytes the homepage delivers, 2.9% is text a reader or a model can actually use. Most of what a crawler downloads here is not words.
- Readable text 2.9% · 5,994 B
- Markup & attributes 58.3% · 121,495 B
- Structured data (JSON-LD) 0.7% · 1,375 B
- Inline CSS 3.7% · 7,755 B
- Inline JavaScript 16.4% · 34,178 B
- Inline SVG 17.8% · 37,018 B
- HTML comments 0.3% · 534 B
The individual blocks that weigh the most, so the fix is a search rather than a hunt:
- Inline JavaScript · 6,703 B (3.2%) — unnamedopens
self.__next_f.push([1,"(({protect:a})=\u003e{function b(a){return new - Inline JavaScript · 6,179 B (3%) — unnamedopens
(({protect:a})=>{function b(a){return new Promise((b,c)=>{if(document. - Inline JavaScript · 4,382 B (2.1%) — unnamedopens
self.__next_f.push([1,"e:I[98896,[\"62168\",\"static/chunks/c2b750b4-3 - Inline SVG · 3,677 B (1.8%) —
.h-fullopens<path d="M59.8019 52L29.9019 0L0.00190544 52H59.8019ZM89.9593 49.6328L - Inline SVG · 3,079 B (1.5%) — unnamedopens
<defs><linearGradient id="brave-mobile-accuracy-legend" x1=".419" x2="
What changed
- 2026-10-06a stale edge copy was served againreturned
- 2026-10-03score moved 78 → 80score-up
- 2026-10-03the stale edge copy clearedresolved
- 2026-09-26a new finding appeared: an entity is missing geographic coordinatesappeared
- 2026-09-21a stale edge copy was servedappeared
5 scans on record, first 2026-09-18. Score movements are shown only between readings taken under the same score version; finding codes are comparable across all of them.
Is this your site?
This listing reads the public record. Claim it and Watch keeps that record on your terms: every list this page holds back, finding age, and twice-daily re-measurement. Free for 30 days, no card.
Claim the record for exa.aiIs this your company?
This listing came from a fetch, not a submission, so nobody was asked. If exa.ai is yours you can prove it in a minute and for nothing — a DNS TXT record or one meta tag on the home page, both checkable by anyone.
Claiming marks you as the verified owner and lets you correct the category and the company name. It moves no score, no rank and no position.
Claim this listing — free or ask about a verified profile
Dispute or re-scan
If a reading here is wrong, it is our instrument that is wrong, and we want to know. Tell us what is wrong and the site is re-measured; the result is published as measured. Nothing about a listing, a payment or a request changes a number.
By email instead: hello@crawlcheck.io. Category “Web data and extraction” is our label for what the product is primarily sold as; it is not scored. Back to the directory.