Iurii RoguliaIurii Rogulia
AboutServicesPricingProjectsStackReviewsPhrasesBlog
Contact
Iuriiย ships.

Iurii Rogulia, IT partner for business & fractional CTO. Professionally building software since 2001.

Think of a number
PricingQuality checklistPrivacy PolicyCookie Policy

Business

TMI Iurii Rogulia
VAT ID: FI29845875
DUNS: 368664211
Lappeenranta, Finland ๐Ÿ‡ซ๐Ÿ‡ฎ

[email protected]
  1. Home
  2. /
  3. Blog
  4. /
  5. llms.txt for AI Discoverability: Should You Add It?

Iuriiย Advises: llms.txt for AI Discoverability: Should You Add It?

No major AI provider reads it yet โ€” here's why the asymmetric cost-benefit still makes it worth fifteen minutes of your time

April 25, 2026ยท 9 min read

llms.txt: what it is, how AI systems actually read your site (training crawls vs. runtime vs. agents), and why adding it now costs almost nothing.

Topics

SEOArchitecture
llms.txt for AI Discoverability: Should You Add It?

On this page

  • What llms.txt Is
  • How AI Systems Actually Interact with Your Site
  • What the Data Actually Shows
  • Why You Should Add It Anyway
  • How to Create One
  • What Actually Works for AI Visibility Today
  • The Honest Summary

You put a robots.txt on your site to tell search crawlers what to ignore. You add a sitemap.xml to help them find everything. These standards work because crawlers visit your site repeatedly โ€” on a schedule, automatically, indefinitely. Instructions you leave in files become part of an ongoing conversation between your server and the crawler.

llms.txt doesn't work like that. That's the thing most articles about it miss, and it's the reason the standard is simultaneously more limited and more interesting than it sounds.

What llms.txt Is

llms.txt is a proposed standard โ€” not officially adopted by any major AI provider โ€” created by Jeremy Howard from Answer.AI. The idea: place a Markdown file at your domain root (yourdomain.com/llms.txt) that describes your site and lists your important pages with brief descriptions. Clean, human-readable, structured for AI consumption rather than HTML parsing.

A minimal example:

# Iurii Rogulia โ€” IT Partner for Business
 
> Senior developer helping businesses build MVPs, integrate APIs,
> and escape broken projects. Based in Finland, working across Europe.
 
## Services
 
- [MVP Development](/services/mvp-development): End-to-end MVP builds in 6โ€“12 weeks
- [API Integrations](/services/api-integrations): Connecting third-party services and internal systems
- [Fractional CTO](/services/fractional-cto): Technical leadership without a full-time hire
 
## Blog
 
- [Blog](/blog): Technical articles on Next.js, Node.js, automation, and architecture
 
## Contact
 
- [Contact](/contact): Project inquiries

The format is intentionally minimal. No schema.org, no JSON-LD, no semantic HTML โ€” just structured Markdown that describes who you are and what matters on your site.

How AI Systems Actually Interact with Your Site

Here's what changes how you should think about llms.txt: AI systems interact with your site in three distinct ways, and llms.txt is potentially relevant to all of them.

Googlebot visits your site on a schedule. It reads robots.txt on every visit. Instructions you add today take effect from today's crawl. The relationship is continuous and ongoing.

Base model training works differently. A training crawl happens at a specific point in time, data is collected, the model is trained. After that โ€” the base model doesn't come back. What it knows about your site is frozen from whenever that crawl happened, and it stays frozen until the next training run, which might be six months or two years later. A file present on your domain at crawl time may be included in training corpora โ€” if it's downloaded, retained, and not filtered out. None of that is guaranteed, but the file costs you nothing to place.

Runtime AI systems are a separate layer. Perplexity, Bing Copilot, and similar systems retrieve web content during inference โ€” they're not frozen snapshots. In practice this often means search API snippets and cached content rather than a full site crawl, but the direction of travel is toward richer context retrieval. If they eventually start parsing llms.txt (none currently does by default), having a structured description means your site context is immediately legible without parsing navigation, sidebars, and boilerplate.

There's also a third category: AI agents โ€” autonomous systems that browse sites to complete tasks. These are crawlers by design, and structured context files are exactly the kind of signal they're built to consume. Of the three scenarios, agents are the most plausible near-term use case for llms.txt; the training data angle is more speculative.

The practical implication: llms.txt could be useful across all three access patterns. None is guaranteed. That's fine โ€” the cost of placing the file is low enough that you don't need high confidence to justify it.

What the Data Actually Shows

The honest numbers first. In one 30-day log analysis of roughly 1,000 domains, GPTBot (OpenAI), ClaudeBot (Anthropic), and PerplexityBot registered zero requests specifically for llms.txt. No major AI provider has officially announced support for the standard. A Google engineer publicly compared it to the meta keywords tag โ€” a standard once considered essential, now completely ignored by every major search engine.

The spec has no RFC. No formal adoption process. It's a community proposal that gained momentum because it arrived at the right moment โ€” when everyone is rethinking AI visibility โ€” not because there's a concrete implementation roadmap with committed parties.

This is the part that most llms.txt evangelism skips. Current support is essentially zero.

Why You Should Add It Anyway

The argument for adding llms.txt isn't that it works today. It's about asymmetric cost and benefit:

The effort is fifteen minutes. Create a Markdown file, write a clear description of your site, list your important pages. Done. No server configuration, no deployment scripts, no ongoing maintenance. You write it once.

The downside is minimal. A public Markdown file is unlikely to harm performance, crawl budget, Core Web Vitals, or existing SEO signals. The main risk is publishing inaccurate, overpromising, or strategically sensitive information โ€” which is a content problem, not a format problem.

The upside could be years of compounding benefit. If any major AI provider adopts the standard and begins parsing llms.txt during training crawls, your structured description is already there โ€” placed years before your competitors thought to add it. If AI-powered web agents (which do crawl sites actively, not just at training time) start reading it for context, you're already covered.

Some optional standards eventually matter โ€” but only after platforms commit to them. Canonical tags had Google's explicit support from day one. JSON-LD got traction because search engines documented exactly how they used it. llms.txt has no committed consumer yet. The analogy is aspirational, not predictive.

What it does share with those standards: low cost of early adoption. The question isn't whether llms.txt will succeed โ€” it's whether the cost of betting on it justifies the potential upside. Low probability. High upside if it lands. Near-zero cost regardless.

How to Create One

In Next.js, create public/llms.txt โ€” it's automatically served at /llms.txt:

# Site or Person Name
 
> One sentence: what you do and who you serve.
 
## Core Pages
 
- [Page Title](/path): What this page is for
- [Page Title](/path): What this page is for
 
## Key Content
 
- [Section](/path): What readers find here
 
## Contact
 
- [Contact](/contact): How to reach you

Guidelines that actually matter:

  • One sentence per link. Describe the page's purpose, not its title. "End-to-end MVP builds with fixed scope and timeline" is more useful to an AI than "MVP Development."
  • List pages that define what you do, not every URL. Skip paginated archives, tag indexes, and boilerplate.
  • Write for the version of your site that's true for the next 12โ€“24 months. For base model training, accuracy at crawl time matters more than frequent updates โ€” models won't re-read it until the next cycle. For live systems, stability beats churn.
  • Update it when your core offering changes, not when you publish a new post.

An extended variant, llms-full.txt, can contain your full documentation or page content as raw text โ€” for AI systems that want complete context rather than a structured index. Link to it from llms.txt if you create it:

# Site Name
 
> Description.
 
## Full Content
 
- [Complete site content](/llms-full.txt): Full text of all pages for AI systems
 
## Key Pages
 
- ...

Verify it's accessible after deploying:

curl -I https://yourdomain.com/llms.txt
# Expect: HTTP/2 200, Content-Type: text/plain

Related service

Technical SEO Audit

Want a review of your structured data, llms.txt, robots.txt, and AI discoverability setup? Fixed-fee Technical SEO Audit โ€” schema, sitemap, hreflang, indexing, Core Web Vitals, broken links, and per-market keyword research. Written report in 5 working days.

More about this service โ†’

What Actually Works for AI Visibility Today

Since llms.txt support is minimal right now, be clear about what genuinely affects how AI systems represent your site:

  • Schema.org JSON-LD โ€” one of the most widely supported structured signals in traditional search; AI systems may benefit from it indirectly via search indexes and retrieval pipelines, but it should not be treated as a guaranteed AI visibility signal
  • Clean semantic HTML โ€” <article>, <section>, proper heading hierarchy makes content parseable without JS execution
  • Content that directly answers specific questions โ€” AI surfaces answers, not just links; paragraph-level relevance matters
  • robots.txt AI directives โ€” blocking GPTBot or ClaudeBot is respected today; check your existing robots.txt

One more honest note: modern AI systems already extract structure from HTML reasonably well. <article>, <h1>, <nav> โ€” these give models enough signal to understand what a page is about without a dedicated hints file. llms.txt is an optimization for cases where clean structure matters and parsing overhead is worth reducing. It's not a necessity, and it won't compensate for thin content or missing structured data.

llms.txt complements the list above. It doesn't replace any of it, and it belongs last in the priority order โ€” not first.

The Honest Summary

No confirmed adoption from major AI providers. Zero observed crawl requests in real data. A Google engineer dismissed it. No formal backing.

Add it anyway. Fifteen minutes, zero ongoing cost, low probability of payoff, high upside if it lands. That math works even with pessimistic assumptions.

The deeper point is about how AI and search crawlers differ. robots.txt is an ongoing instruction to a system that visits on a schedule. llms.txt spans three access patterns: base model training (snapshot, frozen until next cycle), live inference systems (Perplexity, Copilot, RAG pipelines), and autonomous agents that browse by design. It doesn't behave like robots.txt or sitemap.xml โ€” it's a structured introduction that can be consumed once and relied on later, or referenced repeatedly by runtime systems. Write it accordingly: stable, accurate, and worth being "frozen in time" if a model or system sees it once and relies on it later.


If you're building technical infrastructure that needs to stay visible across both traditional search and emerging AI systems โ€” structured data, semantic HTML, proper crawl architecture โ€” that's part of the work I do on every project. I covered the server-side foundations in the pikkuna.fi build: 30 languages, correct canonical tags, and structured data that survives localization. For MVP development or a Technical SEO Audit of your discoverability stack โ€” get in touch if you need a developer who builds this in by default rather than bolts it on at the end.


Further reading:

  • llms.txt specification โ€” the original proposal by Jeremy Howard
  • Technical SEO I Build Into Every Project โ€” the full technical SEO foundation
  • IndexNow in Next.js: Instant Indexing After Every Deploy โ€” push-based indexing for search engines
  • Catch Broken Links Before Deploy with linkinator โ€” keeping crawlable pages clean
Iurii Rogulia

Working on something like this?

Technical Consultation

Want a review of your site's discoverability stack โ€” structured data, crawl architecture, AI-readiness? That's exactly the kind of technical consultation I offer.

More about this service

Relevant client work

View all projects
Pikkuna โ€” AI-Powered Localization Pipeline
Pikkuna โ€” AI-Powered Localization Pipeline
July 30, 2026
Pikkuna โ€” AI-Powered Localization Pipeline

A production localization pipeline built entirely on the OpenAI API: one English source of truth, SEO-aware translation prompts, cross-model verification with

pi-pi.ee โ€” B2B E-commerce for Waterless Urinal Systems
pi-pi.ee โ€” B2B E-commerce for Waterless Urinal Systems
January 17, 2026
pi-pi.ee โ€” B2B E-commerce for Waterless Urinal Systems

i18n B2B e-commerce platform for waterless urinal products across 32 European countries with automated VAT handling, PDF invoicing, and CRM integration.

Pikkuna โ€” E-commerce for Vinyl Curtains & PVC Products
Pikkuna โ€” E-commerce for Vinyl Curtains & PVC Products
October 12, 2024
Pikkuna โ€” E-commerce for Vinyl Curtains & PVC Products

International e-commerce platform with 30 locales, product configurators, AI chatbot, and fully automated order flow: Stripe โ†’ Zoho CRM โ†’ Airtable โ†’ Mailgun โ†’

What clients say

โ€œ

I'd read about llms.txt and AI discoverability but had no idea whether any of it actually mattered for our SaaS docs site. Iurii's audit gave me the honest answer: most of it is speculative right now, but a few things genuinely move the needle today โ€” clean semantic HTML, robots.txt directives for AI crawlers, and structured data that retrieval systems can use. He also flagged that we were blocking GPTBot by accident in a leftover robots rule from 2023. The report saved me from chasing trendy fixes and pointed at the boring ones that actually work.

Dimitris Papadakis ๐Ÿ‡ฌ๐Ÿ‡ท

Founder

Topics

SEOllms.txtAIArchitecture
โ€œ

We publish 20-30 news articles per day and indexing latency was killing us โ€” by the time Google crawled a story, the news cycle had moved on. Iurii's audit covered IndexNow setup, a sitemap that was hitting size limits and dropping URLs silently, and canonical tags that were inconsistent between AMP and non-AMP versions. The IndexNow integration alone moved median time-to-index for Bing from days to under an hour. Report was direct, no fluff, exactly what we needed.

Andrei Popescu ๐Ÿ‡ท๐Ÿ‡ด

Engineering Manager

Topics

SEOIndexNowArchitecturePerformance
โ€œ

We migrated our content platform last autumn and assumed everything was fine because the tests passed. Iurii's audit found 140+ broken internal links โ€” old slugs that survived the migration, redirects that pointed to redirects, and a few documentation pages quietly returning 410. Linkinator in CI now catches them before they ship. What surprised me most was the report explained why each broken link mattered for crawl budget, not just that it existed. That made the case for fixing them easy to sell internally.

Mathias Sรธrensen ๐Ÿ‡ฉ๐Ÿ‡ฐ

CTO

Topics

SEOCI/CDDeveloper ToolsArchitecture

Related articles

IndexNow in Next.js: Instant Indexing After Every Deploy
April 14, 2026ยท 18 min
IndexNow in Next.js: Instant Indexing After Every Deploy

IndexNow implementation guide for Next.js: key generation, TypeScript client with retry logic, GitHub Actions workflow, and pitfalls that break submissions

Stack

TypeScriptNode.js

Services

GitHub Actions

Topics

SEOAutomationPerformanceArchitecture
Technical SEO for Next.js: SSR, JSON-LD, and Sitemaps
December 15, 2025ยท 3 min
Technical SEO for Next.js: SSR, JSON-LD, and Sitemaps

Technical SEO built into Next.js: server-side rendering, dynamic meta tags, JSON-LD structured data, and automatic sitemap generation โ€” no plugins, just code.

Stack

Next.jsReactTypeScript

Topics

SEOArchitecturePerformance
Preventing Overselling: Inventory Locks Under Concurrent Checkouts
July 31, 2026ยท 13 min
Preventing Overselling: Inventory Locks Under Concurrent Checkouts

Prevent overselling under concurrent checkouts: reservations vs hard decrements, SELECT FOR UPDATE, deadlock-safe multi-line carts, and the payment window.

Stack

Next.jsTypeScriptNode.js

Databases

PostgreSQLRedis

Topics

E-commercePaymentsArchitectureSaaS
Gated B2B Pricing in Next.js: Hiding Prices Behind Per-Customer Access
July 24, 2026ยท 9 min
Gated B2B Pricing in Next.js: Hiding Prices Behind Per-Customer Access

Gated B2B pricing in Next.js: per-account price lists, server-side access control so prices never leak to crawlers, and a deal-record data model where every

Stack

Next.jsReactTypeScript

Databases

PostgreSQL

Topics

B2BE-commerceAuthSSRArchitectureSecurity
Build an Internal CRM on Supabase: A Weekend-Scale Guide
June 24, 2026ยท 21 min
Build an Internal CRM on Supabase: A Weekend-Scale Guide

Build an internal CRM on Supabase: schema design, RLS policies, Next.js App Router frontend, realtime subscriptions, and an honest look at where the weekend

Stack

Next.jsTypeScript

Libraries

Drizzle ORM

Databases

PostgreSQL

Services

Supabase

Topics

CRMArchitectureSaaSInternal Tools