Directory · SEO suite
Moz — what a crawler receives from moz.com
Answer engines can reach and read this site. It needs more it can quote.
AI visibility 81/100, measured 2026-09-03 01:17 UTC from outside its network, as fifteen named crawler identities and one unnamed client. 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.
4
findings
✗
llms.txt on its host
✗
entity map on its host
7
scans on record since 2026-08-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 read, because the three run in order.
What to fix, in order
Findings first: each one holds the grade down until it is gone (the top one sets the letter). Then headroom: each one lifts the score by the points shown. Open a card for what we saw, why it matters and how to fix it.
Files, generated from this scan
Each file says at its top exactly what was changed or filled and what was left as a TODO. Publish, then re-scan: done is measured.
1robots.txt rules do not apply to named agents2 named User-agent groups (4 agents) declare no Disallow rules while the `*` group carries 19. A crawler obeys only its own most-specific group and ignores `*` Medium
What we saw
2 named User-agent groups (4 agents) declare no Disallow rules while the `*` group carries 19. A crawler obeys only its own most-specific group and ignores `*` entirely, so those rules do not apply to any of the named agents. Worst group: `rogerbot, ahrefsbot, gptbot` bypasses /products/content/, /local/enterprise/confirm, /researchtools/ose/, /page-strength/*, /thumbs/*, /api/user?*, /checkout/*, /purchase/*, /local/search/, /local/details/, /messages/, /content/audit/*, /content/search/*, /marketplace/, /cpresources/, /vendor/, /community/q/questions/*/view_counts, /admin-preview/*, /community/q/socket.io/*. /robots.txt
Why it matters
A crawler reads only the User-agent group that matches it best and ignores every other group, including `*`. Naming an agent and giving it only `Allow: /` therefore deletes all of your `*` Disallow rules for that agent. The file still parses and the agent still reaches your homepage, so this is invisible on inspection — but the paths you meant to keep out of search are open, and search engines will crawl and may index them.
How to fix it
Every User-agent group that names a crawler must repeat the Disallow rules you want applied. A named group with no rules means 'allow everything' for that crawler.
ROBOTS_RULES_SHADOWED · full transcript
2Two business records on this page claim the same identity1 identity collision in this page's structured data: two nodes share the same url.Medium
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.
ENTITY_COLLISION · full transcript
3Visitors and crawlers are being served an old copy of this pagethe copy served to us was built 216 hours 13 min agoLow
What we saw
the copy served to us was built 216 hours 13 min ago
Why it matters
The page handed to us carried a cache age older than an hour. Nothing is broken today — the copy matches what the origin produces. It matters the moment you change something: an edit, a new price, a corrected phone number stays invisible to every visitor and every crawler for about that long, and nothing in your dashboard says so.
How to fix it
Lower the cache lifetime on HTML (an hour or less), or purge the edge and origin caches after every publish so crawlers see the current copy.
STALE_CACHE_SERVED · full transcript
4No llms.txtNot present.Note
What we saw
Not present. /llms.txt
Why it matters
Not a defect. llms.txt is an emerging convention for telling AI systems what a site is and which pages matter.
How to fix it
Publish /llms.txt: a short Markdown file naming the business, what it does, and the pages worth reading, served as text/plain or text/markdown.
NO_LLMS_TXT · full transcript
Headroom +17 points if every row passes
Nothing here is broken. Each row is a measure that currently fails its optimal range, and what fixing it is worth to the score.
Watch this domain
Twice-daily scans, the date each finding first appeared, and a change receipt when something moves. Free for 30 days, no card.
Start watching moz.comGet this fixed for you
Every finding above fixed on your site, then re-measured - done is measured, not asserted. One-time, from $750.
See the fix serviceThe chain a crawler follows
The chain breaks at llms.txt. 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 167,611 decompressed bytes the homepage delivers, 9.9% is text a reader or a model can actually use. Most of what a crawler downloads here is not words.
- Readable text 9.9% · 16,659 B
- Markup & attributes 81.8% · 137,072 B
- Structured data (JSON-LD) 1.5% · 2,571 B
- Inline JavaScript 2.4% · 4,066 B
- Inline SVG 4.3% · 7,243 B
What changed
- 2026-09-02score moved 85 → 83score-down
- 2026-09-02score moved 83 → 85score-up
- 2026-09-01a named-agent group shadowed the wildcard rulesappeared
- 2026-09-01two schema nodes shared one identifierappeared
7 scans on record, first 2026-08-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 moz.comDispute or re-scan
If a reading here is wrong, it is our instrument that is wrong, and we want to know. Email hello@crawlcheck.io and the site is re-measured; the result is published as measured. Nothing about a listing, a payment or a request changes a number.
Category “SEO suite” is our label for what the product is primarily sold as; it is not scored. Back to the directory.