# llms.txt: an example file, the format and a checklist for your site

> llms.txt is a plain-text Markdown file in the site root: a title, a short summary and lists of links to the main pages with notes. It helps language models understand a site quickly, but it does not replace a sitemap or structured data and does not guarantee use. It is convenient to generate from the same data as the site.

Date: 2026-10-30 · Source: https://oneswitch.ru/en/blog/llms-txt-primer-formata/

The `llms.txt` file is a short guide to your site for language models. It lives in the root (`/llms.txt`) and is written in Markdown. Here are the structure, an example and the limits.

## File format

The common format has these parts:

1. **A first-level heading:** the name of the site or project (the required part).
2. **A blockquote with a short summary:** one or two sentences about what the site is.
3. **Optional paragraphs** with important notes.
4. **Second-level sections** with link lists: `- [Name](address): a short note`.
5. **An `Optional` section** for secondary material that can be skipped if there is not enough room.

## Example

```markdown
# OneSwitch

> Development and automation: websites, Telegram bots and Mini Apps, integrations, 1C and AI agents.

Author: Vladimir Kalianov. Language: English. Contact: the /en/kontakty/ page.

## Services
- [Telegram bots and Mini Apps](https://oneswitch.ru/en/uslugi/telegram-boty-i-mini-app/): bots, catalogs, subscriptions, notifications.
- [1C and accounting systems](https://oneswitch.ru/en/uslugi/1c/): extensions, site exchange, AI document recognition.

## Work
- [HotTrip](https://oneswitch.ru/en/raboty/hottrip/): a portal, an AI bot, a Mini App and an automated channel.

## Blog
- [Validating Mini App initData](https://oneswitch.ru/en/blog/proverka-initdata-telegram-mini-app-python/): code and mistakes.

## Optional
- [Full site text](https://oneswitch.ru/en/llms-full.txt)
```

## How to write a good file

- **Only important pages.** Services, key articles, documentation, contacts. Do not paste the whole sitemap.
- **A note for every link.** A short phrase about what is on the page helps a model pick the right one.
- **Full addresses** with protocol and domain, without redirects.
- **Freshness.** The file must update with the site, otherwise it will list pages that no longer exist.
- **Keep it short.** It is a reference, not a copy of the site. For the full text make a separate `llms-full.txt`.

## Generating with a script

It is convenient to build the file from the same data as the site. A Python example:

```python
def build_llms_txt(title: str, summary: str, sections: dict[str, list[tuple[str, str, str]]]) -> str:
    """sections: {"Services": [(title, url, note), ...]}"""
    lines = [f"# {title}", "", f"> {summary}", ""]
    for name, links in sections.items():
        lines.append(f"## {name}")
        lines += [f"- [{t}]({u}): {d}" for t, u, d in links]
        lines.append("")
    return "\n".join(lines)
```

That is how the file on this site is made: it is generated on every build from the list of services, work and articles, so it always matches the content.

## How it differs from other files

| File | Purpose |
|---|---|
| `robots.txt` | Access rules for crawlers: what may and may not be crawled |
| `sitemap.xml` | A full list of pages for search engines |
| `llms.txt` | A short meaning-level overview of the site for language models |

They complement each other. **Structured data** in JSON-LD, which describes pages for search engines and AI, is also useful.

## What to expect

`llms.txt` is a community proposal, not a standard every system must support. Not all models and crawlers read it, so **it does not guarantee mentions in answers**. But it costs nothing, helps those who use it and forces you to describe your site clearly. Add it along with the rest of the preparation: [GEO and llms.txt](/blog/llms-txt-i-geo-seo-dlya-nejrosetej/). Service: [SEO and AI optimization](/uslugi/seo-i-ai-optimizaciya/).

## FAQ

### Where should llms.txt live?

In the site root at `https://your-domain/llms.txt`, like `robots.txt`.

### Should I allow AI bots to crawl my site?

If you want to be found through AI, do not block them in `robots.txt`. For paid or private content set up restrictions.

### Does llms.txt replace the sitemap?

No. A sitemap is for search engines, llms.txt gives models a short overview. It is best to have both.

### What is llms-full.txt?

An additional file with the full text of key pages in one document. It is useful when a model needs to read the whole site without following links.
