We sell an AI-visibility product. This week we shipped an Agent Readiness checker inside it — a scanner that grades any store on the protocols AI agents actually use to read the web: llms.txt, Content Signals, markdown negotiation, api-catalog, Link headers, agent cards, MCP discovery.
Then we pointed it at rynex.io. If you build a GEO product, your own domain is the one audit you can't argue with — and publishing the result, gaps included, is better proof than any landing-page claim. Here's the full before/after, with every fix as a copy-paste snippet.
The Before: 28 Checks, Honest Grades
Our scanner runs the classic technical checks (robots.txt, sitemap, HTTPS, structured data, AI-crawler access) plus an agent-protocol layer, graded with one honesty rule: a missing optional protocol is a warning, never a failure, and anything we can't verify passively gets no invented status. rynex.io's baseline scan came back like this:
| Check | Before | What it means |
|---|---|---|
| llms.txt | Pass | AI-readable site overview at /llms.txt |
| robots.txt + AI crawler access | Pass | GPTBot, ClaudeBot, PerplexityBot & co. explicitly allowed |
| Sitemap, HTTPS, crawlability | Pass | The SEO-era basics |
| Content Signals | Warn | No machine-readable usage policy in robots.txt |
| Markdown negotiation | Warn | Agents requesting text/markdown got HTML |
| llms-full.txt | Warn | No extended AI reference document |
| auth.md | Warn | No access guide for automated agents |
| api-catalog (RFC 9727) | Warn | No machine-readable API discovery |
| Link headers | Warn | No agent-facing discovery hints on the homepage |
| A2A agent card / MCP card / OAuth discovery | Warn | No agent-to-agent endpoints advertised |
Translation: the 2023-era AI hygiene was in place, and the 2026-era agent layer was missing — which is exactly what we find on most stores we scan. Physician, heal thyself.
The Fixes We Shipped (Steal These)
1. Content Signals in robots.txt
Three lines declare how content may be used (contentsignals.org). Our policy is deliberately permissive — a visibility company that blocks AI would be performing satire:
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=yes
Allow: /
If you're setting up robots.txt for AI crawlers from scratch, our robots.txt guide has the full template.
2. llms-full.txt
Our llms.txt stays concise; the new llms-full.txt carries the full reference — products, exact pricing, FAQ answers, machine-readable surface index. If an AI is going to summarize your pricing, feed it the numbers, in plain text, yourself. (New to llms.txt? Start here.)
3. auth.md
A short markdown file at /auth.md telling agents what's publicly readable, where the rate-limited public API lives, how merchant login works, and an etiquette line (≤1 req/s). Agents increasingly fetch this before interacting; answering the question beats letting them guess.
4. api-catalog + Link Headers
/.well-known/api-catalog (RFC 9727) now serves a linkset pointing at our public GEO-audit API and the docs above, and every HTML page carries a Link header advertising llms.txt and the catalog — discovery hints an agent sees without parsing a byte of HTML.
5. Markdown Content Negotiation
Request our homepage with Accept: text/markdown and you now get clean markdown instead of a JavaScript application — more than 40× fewer bytes for an agent to reason over. Try it:
curl -H "Accept: text/markdown" https://rynex.io/
What We Deliberately Did Not Add
The scanner still shows warnings on A2A agent cards, MCP server cards, and OAuth discovery — on our own site, by choice. Those files advertise live agent endpoints, and we don't run public A2A or MCP servers today. Publishing an mcp.json pointing at an endpoint that 404s would score a point on our own checklist by lying to every agent that reads it. Our scanner's honesty rule — absence is a warning, fabrication is a failure — applies to us first. When we ship real agent endpoints, the discovery files follow the same day.
The After
| Check | Before | After |
|---|---|---|
| Content Signals | Warn | Pass |
| Markdown negotiation | Warn | Pass |
| llms-full.txt | Warn | Pass |
| auth.md | Warn | Pass |
| api-catalog | Warn | Pass |
| Link headers | Warn | Pass |
| A2A / MCP / OAuth discovery | Warn | Warn — intentionally |
Six warnings cleared in an afternoon, zero fabricated. Every fix above is static files and a few headers — no framework surgery, no vendor required. That's rather the point: this layer is cheap to build and most stores simply haven't heard of it yet.
Do the Same for Your Store
- Measure first. The free audit runs this same scanner on any domain, no account needed — you'll get the same table we did.
- Fix the level-1 items (robots access, llms.txt, Content Signals) — an hour of work on any platform; our GEO guide explains why each matters.
- Rynex customers: the console's AI Visibility → Agent Readiness tab tracks every item with copy-paste artifacts prefilled for your store, and re-scans weekly so regressions surface themselves.
FAQ
What is llms.txt?
A markdown overview of your site at /llms.txt written for AI consumption — robots.txt's constructive sibling. llms-full.txt is the extended version with full detail.
What are Content Signals?
A robots.txt extension declaring usage policy: search, ai-input (answers), ai-train (training). A policy signal rather than an access control — it makes intent machine-readable.
Does this technical layer actually move AI recommendations?
It's table stakes: it decides whether AI systems can read and correctly represent you at all. Content, reviews and third-party mentions do the rest. With Shopify reporting AI-originated orders up ~13× year-over-year, being unreadable means being absent from a channel that's compounding.
Why no agent card or mcp.json on rynex.io?
We don't run public A2A/MCP endpoints yet, and advertising endpoints that don't exist would be lying to agents. Absence is a warning; fabrication is a failure.