AI Agent Visibility: be readable to ChatGPT, Perplexity and Gemini

An AI assistant does not look at your website. It fetches specific files, parses what it finds, and answers from that. If those files do not exist, it answers about your competitor instead, or invents something about you. AI Agent Visibility is the work of making a business legible to those programs, and it is mostly a question of what you publish, not how you write.

What an AI agent actually reads

Six files, in roughly this order of usefulness to the agent. None of them are new inventions; they are conventions that have settled over the last two years, and they are cheap to publish and almost never published.

01

llms.txt

A plain-text index of the site at a fixed address, following the convention at llmstxt.org.

A model that finds it reads one file instead of crawling, and gets your own description of the business rather than an inference.

02

llms-full.txt

Every page inlined as one document.

An assistant answering a question right now has one fetch to make, not fifteen.

03

A Markdown twin of every page

The same content at the same path with a .md extension, announced by a Link header.

No scripts to execute and no layout to interpret. Anything your site renders with JavaScript is invisible to most agents; Markdown is not.

04

schema.org JSON-LD

Structured data in the page: the organization, the author, the service, the area served, the FAQs.

It states what kind of thing the page is. Without it a model has to guess whether you are a business, a blog or a directory listing.

05

Named rules in robots.txt

A block per AI crawler by product token, not just a wildcard.

A crawler looks for a rule addressed to itself first. Businesses that only write User-agent: * are making one decision for crawlers that do very different things.

06

A Content-Signal declaration

A line in robots.txt and a header on every response, separating search, live answers and training.

It is the difference between refusing to be trained on and refusing to be found. Most sites make neither choice explicitly.

The pattern underneath all six is one content store with many renderings. The page you are reading, its Markdown twin, its entry in the index, its structured data and its entry in the sitemap are all generated from one source at build time, which is the only way they stay consistent. A business maintaining six files by hand will have six files that disagree within a month.

The six surfaces, on this site

Rather than describe them, here they are. This is leverageaisearch.com's own output: the index and crawler rules are generated by the same function that writes the published files, and the Markdown twin and the response headers are fetched live from this site as you look at them.

What an AI agent reads on this site

Live data

These are this site's own agent surfaces, not a mock-up. Three of them are generated from the same code that writes the published files; two are fetched from this site while you read.

/llms.txt

A plain-text index of the whole site, so a model can see every page and what it covers in one request.

/llms.txt
# LEVERAGEAI Search

> LEVERAGEAI LLC builds Local Demand Systems for service businesses on Oregon's I-5 corridor: pages that people, Google Maps and AI agents can read, proof that wins the comparison, follow-up that answers in seconds, and Rank Above Replacement (RAR) and Value Above Replacement (VAR) analytics that measure the result in dollars.

Office: 744 NW Bellevue Pl, Grants Pass, OR 97526. Phone: (541) 450-2082. Parent site: https://leverageai.network

## Pages

- [Local Demand System](https://leverageaisearch.com/index.md): What a Local Demand System is, how LEVERAGEAI builds one on Cloudflare (Get Found, Get Chosen, Get the Customer), and how it is measured with RAR, VAR, AAA and MAR.
- [AI Agent Visibility](https://leverageaisearch.com/ai-agent-visibility.md): The six surfaces an AI agent reads a business through, the ones this site publishes, and a free readiness check that scores any website 0 to 6.
- [AI Brand Visibility Audit](https://leverageaisearch.com/ai-brand-visibility-audit.md): What an AI Brand Visibility Audit measures: four models answering real local questions, scored named-first, named or not named, and summed as Mention Above Replacement.
- [Rank Above Replacement](https://leverageaisearch.com/rank-above-replacement.md): Definitions of LEVERAGEAI's Rank Above Replacement (RAR), Value Above Replacement (VAR) and Alpha Above Average (AAA), with Daley Organics' measured Grants Pass grid as the worked example.
- [Mention Above Replacement](https://leverageaisearch.com/mention-above-replacement.md): Definition of LEVERAGEAI's Mention Above Replacement (MAR) metric for AI answer visibility, with a weekly live measurement for Daley Organics in Grants Pass, Oregon.
- [Speed-to-Lead Automation](https://leverageaisearch.com/speed-to-lead-automation.md): How LEVERAGEAI's durable Cloudflare Workflow stores, acknowledges, drafts, waits for owner approval and follows up on every inquiry, with the cost of slow replies modeled.
- [Client Scoreboard](https://leverageaisearch.com/client-scoreboard.md): What LEVERAGEAI reports to a client every month: RAR, VAR, AAA, Mention Above Replacement, the AI agent funnel and median lead response time, previewed on live data.
- [Replacement Level Is Rising](https://leverageaisearch.com/replacement-level-is-rising.md): Why a local business's Rank Above Replacement falls without its own rankings changing, with a 36-month simulator for competitor adoption and the cumulative VAR gap.
- [Agent-Ready Product Catalog](https://leverageaisearch.com/agent-ready-product-catalog.md): How LEVERAGEAI turns a merchant's raw product specs into agent-readable descriptions and an llms.txt catalog with Workers AI, shown on Daley Organics' Grants Pass soil and fertilizer catalog.

## Optional

- [Privacy](https://leverageaisearch.com/privacy.md): What data leverageaisearch.com collects from inquiries and automated agent requests, and how to request deletion.
- [Full text of all pages](https://leverageaisearch.com/llms-full.txt): every page above inlined as Markdown.
- [JSON index](https://leverageaisearch.com/index.json): the same pages with FAQs as structured data.
# LEVERAGEAI Search
The site's name. A model quoting this page attributes it here.
> LEVERAGEAI LLC builds Local Demand Systems for service busines
One paragraph that says what the business does. This is the line a model paraphrases when asked about you.
Office: 744 NW Bellevue Pl, Grants Pass, OR 97526. Phone: (541)
Address and phone as text, not an image and not a script. An agent can read these without rendering the page.
## Pages
Every page, each with its Markdown address and a one-line summary, so a model can pick the right one to fetch.

/rank-above-replacement.md

Any page as Markdown, with no scripts to run and no layout to interpret. This tab fetches the real file from this site.

GET /rank-above-replacement.md
Fetching this surface from the live site…

/ai-agent-visibility

schema.org structured data: who publishes the page, who wrote it, what the business is and where it operates.

/ai-agent-visibility
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebSite",
      "@id": "https://leverageaisearch.com/#website",
      "url": "https://leverageaisearch.com/",
      "name": "LEVERAGEAI Search",
      "publisher": {
        "@id": "https://leverageai.network/#organization"
      },
      "inLanguage": "en-US"
    },
    {
      "@type": [
        "Organization",
        "ProfessionalService"
      ],
      "@id": "https://leverageai.network/#organization",
      "name": "LEVERAGEAI LLC",
      "alternateName": "LEVERAGEAI",
      "url": "https://leverageai.network",
      "telephone": "+15414502082",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "744 NW Bellevue Pl",
        "addressLocality": "Grants Pass",
        "addressRegion": "OR",
        "postalCode": "97526",
        "addressCountry": "US"
      },
      "areaServed": [
        {
          "@type": "City",
          "name": "Grants Pass, OR"
        },
        {
          "@type": "City",
          "name": "Medford, OR"
        },
        {
          "@type": "City",
          "name": "Ashland, OR"
        },
        {
          "@type": "City",
          "name": "Roseburg, OR"
        },
        {
          "@type": "City",
          "name": "Eugene, OR"
        }
      ],
      "founder": {
        "@id": "https://leverageaisearch.com/#founder"
      }
    },
    {
      "@type": "LocalBusiness",
      "@id": "https://leverageaisearch.com/#business",
      "name": "LEVERAGEAI Search",
      "parentOrganization": {
        "@id": "https://leverageai.network/#organization"
      },
      "url": "https://leverageaisearch.com/",
      "telephone": "+15414502082",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "744 NW Bellevue Pl",
        "addressLocality": "Grants Pass",
        "addressRegion": "OR",
        "postalCode": "97526",
        "addressCountry": "US"
      },
      "areaServed": [
        {
          "@type": "City",
          "name": "Grants Pass, OR"
        },
        {
          "@type": "City",
          "name": "Medford, OR"
        },
        {
          "@type": "City",
          "name": "Ashland, OR"
        },
        {
          "@type": "City",
          "name": "Roseburg, OR"
        },
        {
          "@type": "City",
          "name": "Eugene, OR"
        }
      ]
    },
    {
      "@type": "Person",
      "@id": "https://leverageaisearch.com/#founder",
      "name": "Mike Schlottig",
      "jobTitle": "Founder, LEVERAGEAI LLC",
      "description": "Mike Schlottig founded LEVERAGEAI LLC in Grants Pass, Oregon. He builds local search analytics and Cloudflare-based lead systems for service businesses along the I-5 corridor, and created RAR Grid Lab, the instrument behind Rank Above Replacement.",
      "worksFor": {
        "@id": "https://leverageai.network/#organization"
      }
    },
    {
      "@type": "WebPage",
      "@id": "https://leverageaisearch.com/ai-agent-visibility#webpage",
      "url": "https://leverageaisearch.com/ai-agent-visibility",
      "name": "AI Agent Visibility: Be Readable to ChatGPT and Gemini | LEVERAGEAI",
      "description": "AI Agent Visibility is whether ChatGPT, Perplexity and Gemini can actually read your business. Check any website against the six files agents look for.",
      "isPartOf": {
        "@id": "https://leverageaisearch.com/#website"
      },
      "breadcrumb": {
        "@id": "https://leverageaisearch.com/ai-agent-visibility#breadcrumbs"
      },
      "inLanguage": "en-US"
    },
    {
      "@type": "Article",
      "@id": "https://leverageaisearch.com/ai-agent-visibility#article",
      "headline": "AI Agent Visibility: be readable to ChatGPT, Perplexity and Gemini",
      "description": "AI Agent Visibility is whether ChatGPT, Perplexity and Gemini can actually read your business. Check any website against the six files agents look for.",
      "datePublished": "2026-10-06",
      "dateModified": "2026-10-07",
      "author": {
        "@id": "https://leverageaisearch.com/#founder"
      },
      "publisher": {
        "@id": "https://leverageai.network/#organization"
      },
      "mainEntityOfPage": {
        "@id": "https://leverageaisearch.com/ai-agent-visibility#webpage"
      },
      "speakable": {
        "@type": "SpeakableSpecification",
        "cssSelector": [
          ".speakable-intro",
          ".tldr-block",
          ".faq-answer"
        ]
      }
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://leverageaisearch.com/ai-agent-visibility#breadcrumbs",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Local Demand System",
          "item": "https://leverageaisearch.com/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "AI Agent Visibility",
          "item": "https://leverageaisearch.com/ai-agent-visibility"
        }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://leverageaisearch.com/ai-agent-visibility#faq",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "What is AI agent visibility?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "AI agent visibility is whether an AI assistant can retrieve and parse your business facts without rendering a page. It depends on specific published files: an llms.txt index, Markdown versions of pages, schema.org JSON-LD, crawler rules in robots.txt and a Content-Signal declaration."
          }
        },
        {
          "@type": "Question",
          "name": "What is the difference between AI agent visibility and SEO?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Classic SEO optimizes a page for a human who will click a ranked link. AI agent visibility optimizes for a program that will read your facts and answer on your behalf, often without a click. The same content serves both, but agents need it in plain, labeled, fetchable form."
          }
        },
        {
          "@type": "Question",
          "name": "Which files do AI crawlers actually request?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "The ones LEVERAGEAI installs and measures are /llms.txt, /llms-full.txt, a Markdown twin of every page, JSON-LD embedded in the HTML, /robots.txt with named rules for each AI crawler, and a Content-Signal header on every response."
          }
        },
        {
          "@type": "Question",
          "name": "Does blocking AI crawlers protect my business?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Blocking training crawlers and blocking assistant fetches are different decisions. Content-Signal separates them: a business can allow search and live answers while refusing training. Blocking everything removes you from the answers your customers are already reading."
          }
        },
        {
          "@type": "Question",
          "name": "How does the Agent Readiness Check work?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "It fetches your llms.txt, llms-full.txt, robots.txt, your homepage and one Markdown twin, then reports which of the six surfaces exist and what an agent can read about you today. It only ever makes public GET requests to the address you enter."
          }
        },
        {
          "@type": "Question",
          "name": "Why does LEVERAGEAI publish its own agent surfaces?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Because a page claiming agent visibility should be agent-visible. Every page on leverageaisearch.com has a Markdown twin listed in /llms.txt, emits JSON-LD, and carries a Content-Signal header, and the Surface Explorer on this page shows the real files."
          }
        }
      ]
    },
    {
      "@type": "Service",
      "@id": "https://leverageaisearch.com/ai-agent-visibility#service",
      "name": "AI Agent Visibility installation",
      "serviceType": "AI search optimization",
      "description": "AI Agent Visibility is whether ChatGPT, Perplexity and Gemini can actually read your business. Check any website against the six files agents look for.",
      "provider": {
        "@id": "https://leverageai.network/#organization"
      },
      "areaServed": [
        {
          "@type": "City",
          "name": "Grants Pass, OR"
        },
        {
          "@type": "City",
          "name": "Medford, OR"
        },
        {
          "@type": "City",
          "name": "Ashland, OR"
        },
        {
          "@type": "City",
          "name": "Roseburg, OR"
        },
        {
          "@type": "City",
          "name": "Eugene, OR"
        }
      ]
    }
  ]
}
"telephone": "+15414502082",
A machine-readable phone number, so an agent can act and not just summarise.
"areaServed": [
The cities served, as named places. This is how a business becomes a candidate for "near me".
"@type": "LocalBusiness",
States this is a local business, not a blog. Maps and assistants both read this.
"@type": "FAQPage",
Questions and answers as data. An assistant can lift an answer verbatim.

/robots.txt

Named rules for each AI crawler plus a Content-Signal line stating what the content may be used for.

/robots.txt
# leverageaisearch.com
# AI agents are welcome. Every page has a Markdown version listed in /llms.txt.

User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=yes
Allow: /
Disallow: /api/

User-agent: ChatGPT-User
User-agent: OAI-SearchBot
User-agent: GPTBot
User-agent: Claude-User
User-agent: Claude-SearchBot
User-agent: ClaudeBot
User-agent: Perplexity-User
User-agent: PerplexityBot
User-agent: MistralAI-User
User-agent: cohere-ai
User-agent: meta-externalfetcher
User-agent: meta-externalagent
User-agent: DuckAssistBot
User-agent: Amazonbot
User-agent: YouBot
User-agent: Bytespider
User-agent: CCBot
Content-Signal: search=yes, ai-input=yes, ai-train=yes
Allow: /
Disallow: /api/

Sitemap: https://leverageaisearch.com/sitemap.xml
Content-Signal: search=yes, ai-input=yes, ai-train=yes
Three separate permissions: appear in search, be used to answer a question now, be used for training. Stated, not guessed.
Disallow: /api/
The API is closed to crawlers; the content is open. The distinction has to be stated or it is not made.
User-agent: GPTBot
Each AI crawler named explicitly. A crawler that finds no rule for itself falls back to the wildcard.
Sitemap: https://leverageaisearch.com/sitemap.xml
Every indexable page, with its last-modified date.

/llms.txt

The same permissions as a header, which an agent sees without parsing anything. This tab reads the real response.

GET /llms.txt
Fetching this surface from the live site…

Score your own site out of six

Enter any public website. The check fetches the same six surfaces, exactly as an agent would, and shows you what an agent can read about that business today. Most local businesses score zero or one, and the result is usually the first time an owner has seen what an assistant has to work with.

Agent Readiness Check

Live data

Enter any website. We fetch the six surfaces an AI agent looks for, exactly as an agent would, and show you what it finds. Public pages only, no login, nothing stored except the result for a day so a repeat check doesn't re-crawl the site.

What this check does and doesn't do

It makes five ordinary public GET requests: /llms.txt, /llms-full.txt, /robots.txt, the home page, and /index.md. It identifies itself as LEVERAGEAI-ReadinessCheck, gives up after five seconds per request, and reads at most 512 KB of each response. It only accepts public https domain names, so it cannot be pointed at an address inside your network. It does not log in, submit anything, or judge your content, only whether these files exist.

Agents are already reading this

A page about agent visibility should be able to prove agents visit it. Every request from a known AI crawler or assistant is identified at the edge and counted, including which surface it asked for.

AI agents reading this site, last 7 days

Live data

Loading counts from the edge…

Counted at the edge by matching published crawler User-Agent tokens, then stored for 90 days. This site serves every page as HTML and as Markdown, plus /llms.txt.

The number that matters in that table is not the total but the share asking for Markdown. A crawler taking the HTML is building an index for later. An assistant taking the Markdown is answering someone's question now.

What LEVERAGEAI installs

The install is a build step and an edge Worker, not a plugin. It runs on Cloudflare, costs nothing per request at the volumes a local business sees, and fails the deploy rather than shipping a broken surface.

  • A generator that derives the index, the full text, the Markdown twins, the structured data and the sitemap from your pages.
  • A Worker that serves the right content type per surface, adds the Content-Signal header, and announces the Markdown twin.
  • Crawler identification at the edge, so you can see which agents read you and what they asked for.
  • Build-time checks that refuse to deploy if a page loses its twin, its structured data or its key phrase.
  • For merchants, the product catalog as agent-readable text too. See the Agent-Ready Product Catalog.

Being readable is necessary and not sufficient. Once a model can read you, the question becomes whether it names you when someone asks who to hire, which is a different measurement: the AI Brand Visibility Audit.

Frequently asked questions

What is AI agent visibility?

AI agent visibility is whether an AI assistant can retrieve and parse your business facts without rendering a page. It depends on specific published files: an llms.txt index, Markdown versions of pages, schema.org JSON-LD, crawler rules in robots.txt and a Content-Signal declaration.

What is the difference between AI agent visibility and SEO?

Classic SEO optimizes a page for a human who will click a ranked link. AI agent visibility optimizes for a program that will read your facts and answer on your behalf, often without a click. The same content serves both, but agents need it in plain, labeled, fetchable form.

Which files do AI crawlers actually request?

The ones LEVERAGEAI installs and measures are /llms.txt, /llms-full.txt, a Markdown twin of every page, JSON-LD embedded in the HTML, /robots.txt with named rules for each AI crawler, and a Content-Signal header on every response.

Does blocking AI crawlers protect my business?

Blocking training crawlers and blocking assistant fetches are different decisions. Content-Signal separates them: a business can allow search and live answers while refusing training. Blocking everything removes you from the answers your customers are already reading.

How does the Agent Readiness Check work?

It fetches your llms.txt, llms-full.txt, robots.txt, your homepage and one Markdown twin, then reports which of the six surfaces exist and what an agent can read about you today. It only ever makes public GET requests to the address you enter.

Why does LEVERAGEAI publish its own agent surfaces?

Because a page claiming agent visibility should be agent-visible. Every page on leverageaisearch.com has a Markdown twin listed in /llms.txt, emits JSON-LD, and carries a Content-Signal header, and the Surface Explorer on this page shows the real files.

Run the readiness check on your whole site

The check on this page looks at six surfaces on one domain. The full version covers every page, your Google Business Profile, and what the models currently say about you, and comes back as a written report with the fixes in priority order.

Prefer to talk? Call (541) 450-2082, or visit the office at 744 NW Bellevue Pl, Grants Pass.

About the author

Mike Schlottig, Founder, LEVERAGEAI LLC

Mike Schlottig founded LEVERAGEAI LLC in Grants Pass, Oregon. He builds local search analytics and Cloudflare-based lead systems for service businesses along the I-5 corridor, and created RAR Grid Lab, the instrument behind Rank Above Replacement.

Reach him at (541) 450-2082 or at the LEVERAGEAI office, 744 NW Bellevue Pl, Grants Pass, OR 97526. More at leverageai.network.