Close-up of Python code on a computer screen

How to Get Your Small Business Cited by AI Search: A robots.txt, llms.txt, and Schema.org Walkthrough

TL;DR
  • If your robots.txt blocks AI crawlers, you can’t be cited by them — full stop. Check yours first.
  • An llms.txt file gives AI tools a clean, structured summary of your site instead of forcing them to parse your HTML.
  • Organization and FAQPage schema.org markup help AI engines disambiguate who you are and lift your Q&A content directly into answers.
  • None of this requires a developer team — it’s a few text files and a script tag.
  • Setup is a one-time job; recheck it whenever you change hosting or add a new AI crawler to the allowlist.

Why this is a setup problem, not a content problem

Our post on what GEO actually is covers the strategy: write clear, structured, citeable content and AI engines are more likely to quote you. But strategy doesn’t matter if the AI can’t reach your site in the first place. Before an engine like ChatGPT or Perplexity can cite you, it has to be able to crawl you, parse you, and confidently identify who you are. That’s a technical setup problem, and it’s usually a smaller lift than people expect — three files, roughly an afternoon.

This is the walkthrough: robots.txt, llms.txt, and schema.org, in that order, because each one only matters if the one before it is right.

Step 1: Check your robots.txt for AI crawlers

Your robots.txt file lives at yoursite.com/robots.txt and tells every crawler — search engines and AI tools alike — what they’re allowed to access. If you’ve never touched it, there’s a real chance it’s either wide open (fine) or has a blanket disallow rule left over from a site migration (not fine, and easy to miss).

The crawlers that matter for AI citation:

A minimal robots.txt that explicitly allows all of them looks like this:

User-agent: GPTBot
Allow: /

User-agent: ClaudeBot
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Google-Extended
Allow: /

User-agent: *
Allow: /

Sitemap: https://yoursite.com/sitemap.xml

If you already have a robots.txt, don’t overwrite it blindly — check for a Disallow: / under any of these user-agents, or a catch-all disallow that predates AI crawlers even existing. That’s the single most common reason a site is invisible to AI search: not bad content, just an accidental block.

Step 2: Add an llms.txt file

llms.txt is a newer, simpler idea: instead of making an AI tool crawl and parse your full HTML — nav bars, footers, cookie banners and all — you give it a clean, plain-text summary of your site’s key pages. Think of it as a sitemap written for a language model instead of a search engine indexer.

It lives at yoursite.com/llms.txt and follows a lightweight Markdown-style format:

# Your Business Name

> One-sentence description of what you do and who you do it for.

## Services
- [Service 1](https://yoursite.com/services/service-1): One-line description
- [Service 2](https://yoursite.com/services/service-2): One-line description

## Blog
- [Post title](https://yoursite.com/blog/post-slug): One-line description

Adoption of llms.txt among AI tools is still uneven — it’s not yet a universal standard the way robots.txt is. Treat it as a low-cost, high-upside addition: it takes an hour to write, it doesn’t conflict with anything else on your site, and it’s exactly the kind of clean, structured summary that GEO rewards even where it’s only read by some tools today.

Step 3: Add schema.org structured data

Schema.org markup is JSON-LD you drop in your page’s <head> that tells any machine reader — search engine or AI — exactly what your page is, in a structured format instead of prose it has to infer meaning from. Two types matter most for a small-business site trying to get cited:

Organization schema, once sitewide, disambiguates who you are: your name, location, services, and founder. This is what lets an AI engine confidently say “EveryStep, a marketing agency based in Ashland, Ohio” instead of guessing from context clues scattered across your pages.

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Your Business Name",
  "url": "https://yoursite.com",
  "description": "One or two sentences describing what you do and who you serve.",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "Your City",
    "addressRegion": "Your State",
    "addressCountry": "US"
  }
}

FAQPage schema turns your existing FAQ content into a structured Q&A block. This is the highest-leverage schema type for GEO specifically, because it maps directly onto the question-and-answer shape that AI engines already output — you’re handing them a pre-formatted answer instead of asking them to extract one from a paragraph.

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "The exact question a customer would type",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A direct, complete answer — the same one that's already visible on your page."
      }
    }
  ]
}

If you’ve already written an FAQ section on a page (like the one below), you’re most of the way there — the schema just repeats the same questions and answers in a machine-readable format. It’s not extra content, it’s a structured duplicate of what’s already on the page.

Putting it together

The order matters because each layer depends on the one before it:

  1. robots.txt gets the crawler in the door.
  2. llms.txt gives it a clean map of what’s worth reading.
  3. schema.org tells it exactly what each page means once it’s there.

Skip step one and the other two are invisible. Do all three and you’ve removed every technical reason an AI engine would fail to understand or cite your site — which shifts the remaining work back to content quality, which is what our GEO and AI SEO posts cover.

Frequently asked questions

Will blocking AI crawlers protect my content from being used to train AI models? Blocking GPTBot and similar crawlers does opt you out of some AI training and browsing use, but it also removes any chance of being cited or recommended by that tool. For most small businesses, visibility inside AI answers is worth more than the marginal training-data concern — but it’s a real trade-off you should make deliberately, not by accident.

Do I need a developer to set this up? No. robots.txt and llms.txt are plain text files uploaded to your site’s root directory, and schema.org markup is a script tag you can add through most website builders’ custom-code or header settings. If your site is on a platform that doesn’t allow custom <head> code at all, that’s worth knowing regardless of GEO.

How do I know if it’s working? Ask ChatGPT, Perplexity, and Claude directly about your business or your industry and see whether you show up. There’s no dashboard that reports AI citations the way Google Search Console reports rankings — direct testing is currently the most reliable check. Our post on measuring ROI from AI search and GEO covers how to track that over time, plus the other signals worth watching alongside citations.

Does this replace regular SEO work? No — it’s the technical floor underneath both SEO and GEO. Allowing crawlers and adding schema doesn’t rank or cite you on its own; it just makes sure nothing technical is stopping content quality from mattering.

Where to go from here

This is a checklist you can work through in an afternoon, and it removes the most common reason a good small-business site never shows up in AI search: not weak content, just a closed door. If you’d rather have someone audit and fix this for you alongside the rest of your SEO, EveryStep’s AI SEO service covers exactly this as part of every engagement — reach out and we’ll take a look.