Reportagentrelay.com·checked 2026-05-24 17:00 UTC·methodology v0.1 (preview)·canaifind.com/r/852AFP3E
PartialSome fundamentals in place; high-leverage gaps identified.

This is a static-scan check (robots.txt + llms.txt + schema.org + headers). Live engine probes across ChatGPT, Claude, Gemini, and Perplexity arrive in a future build — currently in queue. Real visibility lives in category and comparison queries, which we measure with a 100-prompt stratified set on the Audit tier.

╴ Check your own domain

Same scan, free, no signup. Results in ~5 seconds at your own permanent canaifind.com/r/{slug} URL.

AI crawler robots.txt audit

§1 of 4

Content Signals declared in robots.txt.Found `Content-Signal: search=yes, ai-train=no` — declarative AI-usage preferences (IETF draft + contentsignals.org). Distinct from User-agent rules: it expresses *intent* even when crawlers are allowed.

OpenAI
GPTBotTraining crawler for future OpenAI models.✗ Disallowed
OAI-SearchBotChatGPT Search index. Disallowing makes you invisible to ChatGPT Search.✓ Allowed
ChatGPT-UserUser-initiated retrieval. Ignores robots.txt by design.— Ignores robots.txt
Anthropic
ClaudeBotTraining crawler for Anthropic models.✗ Disallowed
Claude-UserRetrieves pages when a Claude user asks about them. Respects robots.txt (unlike OpenAI's ChatGPT-User).✓ Allowed
Claude-SearchBotSearch index for Claude. Disallowing reduces Claude search quality.✓ Allowed
claude-codeClaude Code CLI / IDE retrieval. Documentation-targeted.✓ Allowed
Perplexity
PerplexityBotPerplexity indexing. Disallowing removes you from Perplexity retrieval.✓ Allowed
Perplexity-UserUser-initiated retrieval. Ignores robots.txt by design.— Ignores robots.txt
Google
Google-ExtendedTraining opt-out for Gemini / Bard. Disallowing opts you out of Google AI training.✗ Disallowed
GoogleOtherCatch-all for non-Search Google crawlers.✓ Allowed
Meta
Meta-ExternalAgentMeta AI crawler. Disallowing opts you out of Meta AI training/retrieval.✗ Disallowed
Apple
Applebot-ExtendedApple Intelligence training opt-out (separate from Applebot Search).✗ Disallowed
ByteDance
BytespiderByteDance / TikTok AI crawler.✗ Disallowed
Common Crawl
CCBotCommon Crawl. Heavily used as a training-corpus source by every major model.✗ Disallowed

Structured data & discovery files

§2 of 4
ArtifactStatusNote
llms.txtA markdown index of the site's most important pages, served at /llms.txt. Anthropic Claude Desktop and Claude.ai fetch this. IDE tooling (Cursor, Claude Code, GitHub Copilot, Cline, Aider) routinely retrieves it. Google has explicitly confirmed it does NOT support it (Gary Illyes, July 2025). OpenAI is unconfirmed.✗ MissingAnthropic Claude respects this; Google has confirmed it does not; OpenAI is unconfirmed.
llms-full.txtOptional full-content companion to llms.txt. Useful for agents with large context windows that prefer a single fetch over crawling. Doesn't replace llms.txt — both can coexist.✗ MissingOptional full-content companion file.
ArtifactStatusNote
schema.org OrganizationThe brand-identity anchor LLMs use to disambiguate the site. Without it, profile links on LinkedIn, Wikidata, Crunchbase, GitHub etc. aren't bound to the homepage's entity in the AI's knowledge graph. The sameAs array is the load-bearing field.✗ MissingEntity anchor for the sameAs graph.
schema.org FAQPagePages with FAQPage JSON-LD show 2.7× citation rate vs without — 41% vs 15% in the Relixir 2025 study. The JSON-LD must mirror visible Q&A content on the page; Google penalises mismatch. Single highest-leverage fix in the audit.✗ Missing2.7× citation rate vs without (Relixir 2025) — highest-leverage single fix.
schema.org ArticleFor journalistic/editorial pages. Declares author, datePublished, dateModified, and section to AI engines. They preferentially cite recent, dated, authored content in answer-engine results.✗ MissingFor editorial pages.
schema.org HowToFor step-by-step procedural content. AI engines preferentially cite HowTo markup when answering procedural queries ("how do I X"). Maps directly to retrieval intent.✗ MissingFor tutorials.
schema.org SoftwareApplicationFor product/app pages. Maps to vendor-evaluation queries ("best X for Y"). Effectively required for B2B SaaS visibility in AI citations — 89% of B2B buyers now use AI for vendor research (Averi 2026).✗ MissingFor product pages.
Person (author entity)Author entity on bylines, linked to the Article entity. E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness) signal — AI engines weight content authored by named, credentialed people higher than anonymous content.✗ MissingE-E-A-T signal on bylines.

HTTP headers

§3 of 4
HeaderValue
X-Robots-TagPage-level crawler directives. The proposed `noai` / `noimageai` values request AI crawlers skip the page (publisher hint — honored by some, ignored by others). Not enforced; combine with explicit robots.txt rules for layered defense.— not set
Cache-ControlTells crawlers how aggressively to cache the response. Aggressive `no-store` or `private no-cache` directives hurt retrieval freshness signaling — AI engines may distrust the page or refresh it less often. For public pages, prefer `public, max-age=300` or longer.s-maxage=3492, stale-while-revalidate=2592000
Link: canonicalCanonical URL declared as an HTTP response header (RFC 8288 + RFC 6596). Processed earlier in the retrieval pipeline than the HTML `<link rel="canonical">` tag, so it works for crawlers that don't fully render HTML.— not set
Content-TypeDeclares the response format. `text/html; charset=utf-8` is the standard for pages. If the site supports Markdown negotiation, the same URL can serve `text/markdown` when `Accept: text/markdown` is sent.text/html; charset=utf-8
Agent-content probeStatusNote
Markdown negotiationEmerging Cloudflare-led standard. When an agent sends Accept: text/markdown, the site returns a markdown rendering of the page instead of HTML. Sibling of llms.txt. Reduces token cost for downstream AI usage and lets agents consume the site without rendering.✗ Returns HTMLNo text/markdown response when Accept: text/markdown is sent.
Agent-discovery Link relsRFC 8288 Link-header relations that let agents find machine-readable surfaces of the site without scraping HTML. We look for api-catalog (RFC 9727), service-desc (OpenAPI), describedby (RDF / JSON-LD), and agent-card (emerging convention).✗ NoneNo api-catalog / service-desc / describedby / agent-card rels.
Endpoint Context ProtocolCommunity spec (endpointcontextprotocol.io) for agent-vs-browser content negotiation. Two signals: a /.well-known/ecp.json manifest listing available representations, and a Vary header listing Sec-Fetch-Dest so caches handle the negotiation correctly. Pre-standards but emerging.✗ Not detectedNo /.well-known/ecp.json; Vary does not list Sec-Fetch-Dest.

Top findings

§4 of 4
╴ Fix everything in one paste

Single prompt covering all 6 actionable findings, ordered by severity. Paste into Claude Code, Cursor, or any AI dev tool — the agent walks through each fix in sequence, groups changes by file, and reports what it touched.

  1. 1

    No JSON-LD schema.org markup on the homepage.

    Pages with 15+ recognized entities show 4.8× higher AI Overview selection probability. The baseline is shipping at least an Organization entity on the homepage.

    High
  2. 2

    No llms.txt found.

    Anthropic Claude Desktop and Claude.ai respect llms.txt; IDE tooling (Cursor, Claude Code, GitHub Copilot, Cline, Aider) routinely fetches it. Google's official May-2026 AI optimization guide formally tells site owners NOT to create one — see developers.google.com/search/docs/fundamentals/ai-optimization-guide. OpenAI is unconfirmed. Ship one if you want Anthropic + dev-tool visibility — do NOT expect it to move ChatGPT or Gemini.

    Med
  3. 3

    No Link: rel="canonical" HTTP header.

    Most CMSs handle canonicalization via `<link rel="canonical">` in HTML. Adding the HTTP header version too is processed by retrieval crawlers that don't fully render HTML. Optional.

    Tip
  4. 4

    No Markdown negotiation support.

    The homepage returned HTML in response to `Accept: text/markdown`. Emerging Cloudflare-led standard: serve a markdown rendering of the page when agents ask for it. Easy to add via a transform at the edge (Cloudflare Workers, middleware) and reduces token cost for downstream AI usage.

    Tip
  5. 5

    No Endpoint Context Protocol signals.

    Endpoint Context Protocol (endpointcontextprotocol.io) is an emerging community spec: agents send `Sec-Fetch-Dest` + an Accept header, and the server returns content negotiated for the caller. Two signals to publish: (1) `Vary: Accept, Sec-Fetch-Dest, User-Agent` on the homepage response, and (2) `/.well-known/ecp.json` listing your available representations. Voluntary and pre-standards, but cheap to ship and overlaps with our Markdown-negotiation finding.

    Tip
╴ Share this report

This report has a permanent URL: canaifind.com/r/852AFP3E. Screenshot, drop in Slack, quote-tweet, or send to whoever's going to ask. That's how this tool finds the next person who needs it.