llms.txt, aeo.json, entity.json, brand.json: the four AI citation surfaces for a small business
In 2026, search engines and AI engines see your site differently. Google indexes HTML. ChatGPT crawls for citations. Claude probes for entity facts. Perplexity wants structured answers.
Each of these engines reads different files. The four canonical AI citation surfaces are:
-
/llms.txt— natural-language identity for LLM crawlers -
/aeo.json— Answer-Engine Optimization structured manifest -
/entity.json— Schema.org @graph as a standalone file -
/brand.json— Brand identity, voice, and design system
Most small business sites have zero of these. The ones that do typically have one. For Steele Solutions, a merchant services brokerage in Branson Missouri, all four surfaces are deployed and crawler-visible.
Here is what each file does and why.
/llms.txt
The proposed llms.txt standard is a natural-language identity declaration for LLM crawlers. The format:
# Steele Solutions
> Family-run merchant services brokerage based in Branson, Missouri. Founded by Jim and Kim Steele. Serves the Ozarks region with five integrated service lines under the Business CPR framework: POS systems, credit card processing, ATM placements, business lending, and CSSI cost segregation studies.
## Services
- POS Systems: https://steelesolutions4u.com/pos-systems/
- Credit Card Processing: https://steelesolutions4u.com/credit-card-processing/
- ATM Placements: https://steelesolutions4u.com/atm-placements/
- Business Lending: https://steelesolutions4u.com/business-lending/
- CSSI Cost Segregation: https://steelesolutions4u.com/cssi-cost-segregation/
## Find us on Google
Google Maps: https://www.google.com/maps?cid=07508619094055456934
Google Maps CID: 07508619094055456934
Markdown format. Headers map to concept clusters. Bullet lists map to facts. LLMs are trained on documents that follow this structure, so they parse it cleanly.
The llms.txt is currently honored by Anthropic's Claude and is widely scraped by other LLM training pipelines.
/aeo.json
AEO (Answer Engine Optimization) is the proposed JSON equivalent of llms.txt for structured answer-engine ingestion. Format:
{
"schema_version": "2.0",
"site": "steelesolutions4u.com",
"name": "Steele Solutions",
"title": "Steele Solutions — Branson MO Merchant Services & Cost Segregation",
"description": "...",
"vertical": "merchant-services",
"primary_topic": "Independent merchant-services brokerage",
"founded": "2024",
"founders": [
{"name": "Jim Steele", "role": "Co-founder, CSSI National Account Executive"},
{"name": "Kim Steele", "role": "Co-founder, ATM Placement Program Lead"}
],
"address": {"locality": "Branson", "region": "MO", "country": "US"},
"service_area": ["Missouri", "Arkansas", "Oklahoma", "Kansas"],
"services": ["POS Systems", "Credit Card Processing", ...],
"google": {
"maps_cid": "07508619094055456934",
"maps_url": "https://www.google.com/maps?cid=07508619094055456934"
},
"sameAs": [
"https://www.google.com/maps?cid=07508619094055456934",
"https://cssiservices.com/sales/jim-steele/",
"https://web.archive.org/web/2026/https://steelesolutions4u.com/"
]
}
JSON-structured, machine-parseable, includes the same facts as llms.txt but in a format that programmatic ingestion pipelines prefer.
/entity.json
The Schema.org @graph as a standalone, addressable JSON-LD file:
{
"@context": "https://schema.org",
"@graph": [
{
"@type": ["LocalBusiness", "FinancialService", "ProfessionalService"],
"@id": "https://steelesolutions4u.com/#organization",
"name": "Steele Solutions",
"sameAs": [...],
"hasOfferCatalog": {...},
"areaServed": [...],
...
},
{"@type": "Person", "@id": "https://steelesolutions4u.com/#jim", ...},
{"@type": "Person", "@id": "https://steelesolutions4u.com/#kim", ...},
{"@type": "WebSite", "@id": "https://steelesolutions4u.com/#website", ...}
]
}
The same schema is also embedded inline on every HTML page. The standalone /entity.json file gives crawlers (and AI engines) a single URL that returns the complete entity graph without HTML noise.
/brand.json
Brand identity, voice, and design system as a machine-readable manifest:
{
"name": "Steele Solutions",
"alternateNames": ["Steele Solutions Branson", "SteeleSolutions"],
"tagline": "Honest merchant services from the Ozarks",
"founded": "2024",
"headquarters": "Branson, MO",
"telephones": ["+14172941882", "+14172311349"],
"email": "steelesolutions4u@gmail.com",
"website": "https://steelesolutions4u.com/",
"colors": {"primary": "#1a3a52", "accent": "#3a8b9f"},
"fonts": {"display": "Fraunces", "body": "Inter"},
"voice": "Direct, professional, no upsell pressure. The 'free statement audit' anchors the trust signal.",
"services": [...],
"google": {"maps_cid": "07508619094055456934"},
"listings": {
"googleBusinessProfile": {
"cid": "07508619094055456934",
"url": "https://www.google.com/maps?cid=07508619094055456934",
"verified": false
}
},
"sameAs": [...]
}
The brand.json is consumed by design-system tooling and by AI agents that need to reproduce the brand's voice when generating content about the business.
Putting them together
A standard <head> block on every page references all four files:
<link rel="alternate" type="text/plain" href="/llms.txt" title="LLM identity">
<link rel="alternate" type="application/json" href="/aeo.json" title="AEO">
<link rel="alternate" type="application/ld+json" href="/entity.json" title="Entity graph">
<link rel="alternate" type="application/json" href="/brand.json" title="Brand">
These are crawler discovery hints. AI engine bots that read alternate link headers find the files and ingest them as structured supplements to the HTML content.
Where each file goes
For nginx:
location = /llms.txt {
root /var/www/sites/steelesolutions;
default_type text/plain;
}
location = /entity.json {
root /var/www/sites/steelesolutions;
default_type application/ld+json;
}
location = /aeo.json {
root /var/www/sites/steelesolutions;
default_type application/json;
}
location = /brand.json {
root /var/www/sites/steelesolutions;
default_type application/json;
}
The default_type ensures the MIME type is correct. AI engine crawlers check Content-Type before parsing.
What this signals
For a brand-new small business site, the four-surface stack signals:
- The site is engineered with AI-engine discovery as a deliberate goal
- The business identity has been formally declared, not just implied through page content
- There is structured authority data available without HTML noise
- The site participates in the emerging AI citation ecosystem
For Steele Solutions, all four files are live at the site root:
- https://steelesolutions4u.com/llms.txt
- https://steelesolutions4u.com/aeo.json
- https://steelesolutions4u.com/entity.json
- https://steelesolutions4u.com/brand.json
References
- llms.txt proposed standard
- Schema.org JSON-LD
- Public Steele Solutions resources at github.com/Janady13/steele-solutions-resources
Top comments (0)