Schema and llms.txt: telling engines exactly who you are
An engine will not recommend a business it cannot confidently identify. If it cannot tell whether the company on your page is the same one mentioned elsewhere, the safe move is to leave you out. Structured data removes that doubt.
sameAs links to your profiles elsewhere, add FAQPage schema to any page answering questions, publish an llms.txt at your root summarising who you are, and keep a dateModified that actually moves when the page changes. The sameAs array is the part that connects your separate mentions into one entity.
This is step 3 of how to improve your AI search visibility.
Organization schema, copy and paste
This goes in the <head> of your homepage. Replace the values and delete any sameAs line for a profile you do not actually have.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://yoursite.com/#org",
"name": "Your Business Name",
"url": "https://yoursite.com/",
"logo": "https://yoursite.com/logo.png",
"description": "One clear sentence saying what you do and who for.",
"sameAs": [
"https://www.linkedin.com/company/yourcompany",
"https://x.com/yourhandle",
"https://www.instagram.com/yourhandle"
]
}
</script>
The sameAs array is doing the heavy lifting. It tells an engine that the business on this page and the profiles on those platforms are one entity, which is how separate mentions of you get added together instead of treated as different companies.
When another business shares your name
Name collisions are common and they quietly cost you. If an engine merges you with an unrelated company that has a similar name, you inherit their category and lose yours.
Say it explicitly rather than hoping. schema.org has a field for exactly this:
"disambiguatingDescription": "Your Business (yoursite.com) is a [category]
company in [place]. It is not connected to [Similar Name] ([theirsite.com]),
a separate [their category] business, despite the similar name.",
"knowsAbout": ["your speciality", "your second speciality"]
We use this ourselves. There is an unrelated event operations platform whose domain is one character from ours, and stating the difference in our own schema is cheaper than hoping every engine works it out.
FAQPage schema
Add this to any page that answers questions, using the same questions and answers that appear in the visible text. It makes the pairing explicit rather than something an engine has to infer.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "How much does it cost?",
"acceptedAnswer": {
"@type": "Answer",
"text": "A complete self-contained answer, 40 to 60 words."
}
}
]
}
</script>
Do not put questions in schema that are not on the page. Structured data that disagrees with the visible content is a quality problem, not a shortcut.
llms.txt
A plain-text file at yoursite.com/llms.txt summarising who you are and pointing at your important pages. Be straight about its status: it is an emerging convention rather than a guaranteed standard, and no engine promises to read it. It also takes about an hour, costs nothing, and cannot hurt you.
# Your Business Name
> One paragraph on what you do, who you serve, where you operate,
> and what makes you the right choice. Plain language, no marketing.
## Key facts
- Founded: 2019
- Serving: Leeds and West Yorkshire
- Typical turnaround: 3 working days
## Pages
- [Services](https://yoursite.com/services/): what we do and what it costs.
- [About](https://yoursite.com/about/): who we are and how we work.
- [Contact](https://yoursite.com/contact/): how to reach us.
Serve it as text/plain. A common mistake is a single-page app returning your HTML homepage for that address, which produces a file that looks present and is useless.
Freshness that is actually true
Publish a dateModified and move it when the page genuinely changes. A date frozen two years in the past tells an engine the page is stale, which is worse than publishing no date at all. Moving the date without changing anything is the other failure, and engines are reasonably good at noticing.
Check your work
Paste your page into Google's Rich Results Test or the schema.org validator. Both will tell you if the JSON is malformed, which is the most common problem and the easiest to miss, since a broken block simply does nothing and reports nothing.
Keep reading
- How to improve your AI search visibility, the full method.
- Writing content AI will quote, step two.
- How to get mentioned in AI answers, step four.
- The 12-point checklist to confirm nothing is missing.
Questions, answered
What schema markup do I need for AI search?
Organization schema on your homepage with name, URL, logo, a clear description and sameAs links to your profiles elsewhere, plus FAQPage schema on any page that answers questions. The sameAs array matters most, because it tells engines that your separate mentions across the web belong to one business.
What is llms.txt and do I need one?
A plain-text file at your site root summarising who you are and listing your key pages, aimed at large language models. It is an emerging convention rather than a guaranteed standard and no engine promises to read it, but it takes about an hour, costs nothing and cannot hurt. Serve it as text/plain, not as your HTML homepage.
How do I stop AI confusing my business with a similarly named one?
State the difference explicitly in your Organization schema using disambiguatingDescription, naming the other business and its category so an engine does not have to guess, and add knowsAbout listing your specialities. Also make sure your sameAs profiles are consistent, since those links connect your mentions into one entity.
Does a dateModified field affect AI visibility?
A freshness date helps an engine judge whether a page is current, and one frozen years in the past signals staleness, which is worse than publishing no date. Move it only when the page genuinely changes: bumping the date on unchanged content is a pattern engines are reasonably good at spotting.
Find out what is missing from your markup
The free scan checks your Organization schema, FAQ schema, llms.txt, sameAs links and freshness date, and tells you which are absent.
Free score in under a minute. Live AI answers, not estimates. No signup, no card.