llms.txt: o que é, como escrever e como validar
O llms.txt é um arquivo Markdown curto que diz aos modelos de linguagem o que é o seu site e quais páginas importam. Aqui está o formato como a proposta o define, expectativas honestas sobre quem o lê, exemplos para três tipos de site e correções passo a passo para arquivos que falham na validação.
Searvia · 24/10/2026 · Leitura de 7 min

Resumindo: o llms.txt é um arquivo Markdown proposto, publicado em
/llms.txt, que dá aos modelos de linguagem um mapa curto do seu site: um título# Nome do site(a única parte obrigatória), um resumo opcional de uma linha em um blockquote>e seções##listando as páginas mais úteis como links em Markdown. Ele não controla o rastreamento, não é um sinal de ranqueamento do Google e os principais crawlers de IA não documentam a leitura dele. Mesmo assim, é barato de publicar e útil para ferramentas e agentes apontados para o seu site. Escreva em dez minutos, sirva como texto simples com status 200 e valide.
Poucos arquivos da web atraíram tanta atenção com tão pouco efeito documentado. Plugins adicionam o llms.txt com um clique, guias prometem que ele vai "colocar você no ChatGPT" e muitos donos de site publicam um sem saber o que ele deveria conter. Este guia se limita ao que a proposta define, ao que os provedores de IA disseram e não disseram, e a como escrever um arquivo correto e realmente útil. Ele também explica exatamente o que o nosso verificador de llms.txt gratuito valida e como corrigir cada problema que ele relata.
O que é o llms.txt
A proposta do llms.txt foi publicada por Jeremy Howard em 3 de setembro de 2024. Ela se descreve como "a proposal to standardise on using an /llms.txt file to provide information to help agents use a website" (uma proposta para padronizar o uso de um arquivo /llms.txt que forneça informações para ajudar agentes a usar um site), e a página observa que ela já está na segunda versão e aberta a contribuições da comunidade.
A ideia: as páginas HTML estão cheias de navegação, scripts e layout que desperdiçam o contexto limitado de um modelo. Um arquivo Markdown curto, escrito por uma pessoa, pode dizer ao modelo o que é o site e onde está o conteúdo útil. A proposta diz que o llms.txt "would mainly be useful for inference rather than training" (seria útil principalmente para inferência, e não para treinamento), ou seja, quando um modelo ou agente está respondendo a uma pergunta e lê o seu site em tempo real.
O formato, seção por seção
A proposta define as seções em uma ordem fixa:
| Ordem | Seção | Obrigatória | O que vai nela |
|---|---|---|---|
| 1 | H1 (# Nome) | Sim, a única seção obrigatória | O nome do site ou do projeto |
| 2 | Blockquote (> ...) | Não | Um resumo curto com as informações principais |
| 3 | Texto livre | Não | Parágrafos ou listas de detalhes; sem títulos |
| 4 | Seções H2 (## Docs) | Não | "Listas de arquivos": links em Markdown para páginas-chave |
| 5 | ## Optional | Não | Links secundários que uma ferramenta pode pular quando o contexto é curto |
Cada item de uma lista de arquivos é um item de lista em Markdown com um link obrigatório [nome](url), opcionalmente seguido de dois-pontos e uma observação sobre a página. A proposta também sugere oferecer uma versão em Markdown de cada página na mesma URL com .md acrescentado, por exemplo page.html.md, ou com a extensão substituída (page.md).
O arquivo costuma ficar na raiz do site, mas a proposta o permite em qualquer caminho, cobrindo as páginas sob esse caminho, o que serve para documentações que ficam em /docs/. A documentação do Next.js, por exemplo, indica aos leitores um índice em /docs/llms.txt.
O que o llms.txt não é
- Não é controle de acesso. O robots.txt, definido na RFC 9309, diz aos crawlers o que eles podem buscar. O llms.txt não permite nem proíbe nada. A própria proposta diz que os dois "have different purposes" (têm finalidades diferentes) e que o llms.txt pode complementar o robots.txt.
- Não é um sitemap. Um sitemap lista todas as URLs indexáveis para os buscadores. O llms.txt lista um punhado curado, com contexto. A proposta diz que um sitemap "isn't a substitute" (não substitui) o llms.txt.
- Não é exigência do Google. A orientação do Google sobre recursos de IA diz: "You don't need to create new machine readable files, AI text files, or markup to appear in these features." (Você não precisa criar novos arquivos legíveis por máquina, arquivos de texto para IA ou marcações para aparecer nesses recursos.)
- Não é documentado pelos grandes crawlers de IA. A documentação dos crawlers da OpenAI, da Anthropic e da Perplexity explica tokens de robots.txt e faixas de IP; em outubro de 2026, nenhuma dessas páginas menciona o llms.txt.
Por que publicar um mesmo assim
Três motivos se sustentam sem exagero:
- Agentes e assistentes de código o leem quando apontados para um site. Se uma pessoa desenvolvedora cola a URL da sua documentação em um assistente, um índice limpo de links em Markdown é mais fácil de usar do que a navegação renderizada. É por isso que as plataformas de documentação o adotaram primeiro; o llmstxt.org lista geradores no Mintlify, GitBook, Yoast SEO, AIOSEO, Wix e outros.
- Ele força um exercício editorial útil. Escrever uma frase sobre o que você faz e escolher as dez páginas que importam é o mesmo trabalho que deixa a home clara para as pessoas e para os crawlers de busca que de fato alimentam as respostas de IA.
- Custa quase nada. Um arquivo estático, sem manutenção contínua além de manter os links atualizados.
O que ele não faz é consertar um site que os crawlers de IA não conseguem acessar. Se o OAI-SearchBot recebe um 403 do seu firewall, nenhum arquivo de texto muda isso. Verifique o acesso primeiro com o verificador de crawlers de IA e leia nosso guia de crawlers de IA para os detalhes.
Exemplos de llms.txt prontos para copiar
Um produto de software
# Tallyboard
> Tallyboard is time tracking and invoicing software for agencies of 5 to 200 people. Plans start at $12 per user per month; a 14-day trial needs no card.
Tallyboard runs in the browser and on iOS and Android, and integrates with QuickBooks, Xero and Slack.
## Product
- [Features](https://www.example.com/features): timers, timesheets, approvals, invoicing
- [Pricing](https://www.example.com/pricing): plans, limits and annual discount
- [Integrations](https://www.example.com/integrations): QuickBooks, Xero, Slack, Jira
## Help
- [Getting started](https://www.example.com/help/getting-started): set up a workspace in 10 minutes
- [API reference](https://www.example.com/docs/api.md): REST API, authentication and rate limits
## Optional
- [Changelog](https://www.example.com/changelog)
- [Company](https://www.example.com/about)
Um negócio local
# North Street Bakery
> Family bakery in Springfield, Illinois, baking sourdough, pastries and custom cakes since 2009. Open Monday to Saturday.
## Visit
- [Location and hours](https://www.example.com/visit): 120 North Street, opening hours, parking
- [Contact](https://www.example.com/contact): phone, email and order form
## Order
- [Custom cakes](https://www.example.com/cakes): flavors, sizes, prices and lead time
- [Catering](https://www.example.com/catering): office breakfast boxes
Um site de documentação
# Lumen SDK
> Lumen is an open-source JavaScript SDK for building offline-first apps. MIT license.
## Docs
- [Quick start](https://docs.example.com/quick-start.md): install and first sync in five minutes
- [Configuration](https://docs.example.com/config.md): every option with defaults
- [Conflict resolution](https://docs.example.com/conflicts.md): how merges work
## Examples
- [Todo app](https://docs.example.com/examples/todo.md)
## Optional
- [Architecture notes](https://docs.example.com/internals.md)
Regras que tornam o arquivo útil: escreva o resumo com fatos (o quê, para quem, onde, preço), use URLs absolutas de páginas canônicas que retornam 200, mantenha as observações curtas e linke para versões em Markdown quando as tiver.
Como funciona o verificador de llms.txt da Searvia
O verificador de llms.txt usa o mesmo mecanismo do nosso verificador de SEO de sites. Você informa um domínio ou o endereço de uma página; ele lê essa página (a sua home, se você informar só o domínio) e os arquivos do site ao redor, executa 38 verificações em cerca de 20 segundos e coloca no topo as três verificações de que esta ferramenta trata. Veja exatamente o que cada uma faz.
Arquivo llms.txt (prioridade baixa). O verificador segue a página até o endereço final e depois requisita /llms.txt nesse host, seguindo redirecionamentos. O arquivo só conta como presente se:
- responder com status 200,
- não for uma página HTML (um content type
text/html, ou um corpo que começa com<!doctypeou<html>, significa que o servidor devolveu uma página web, em geral uma página de "não encontrado" ou a home) e - não estiver vazio.
A verificação passa quando o arquivo, após um byte order mark (BOM) opcional e espaços em branco iniciais, começa com # , que é o H1 exigido pela proposta. O relatório também conta os links em Markdown no formato [texto](url). Ele emite um alerta, em vez de falhar, quando o arquivo não existe ou não tem título, porque o llms.txt é opcional.
O verificador não valida o blockquote, a ordem das seções nem se as páginas linkadas existem, e olha apenas a raiz do host, não /docs/llms.txt. Ele também não procura o llms-full.txt.
Acesso de crawlers de IA (prioridade alta). O mesmo relatório mostra se o robots.txt permite que 10 crawlers de IA e de busca e 2 tokens de opt-out de treinamento de IA busquem a página, e se o seu firewall barra uma requisição que se identifica como GPTBot (um alerta, não uma prova, já que a requisição não vem dos endereços da OpenAI). Ele está no foco desta ferramenta porque um llms.txt que os crawlers não alcançam não serve para nada.
Sitemap XML (prioridade média). O verificador tenta as linhas Sitemap: do robots.txt e depois /sitemap.xml e /sitemap_index.xml, até quatro endereços. Ele passa no primeiro que responde 200 com uma raiz <urlset> ou <sitemapindex> e informa quantas entradas <loc> encontrou. O sitemap e o llms.txt têm funções diferentes, e você quer os dois.
A nota geral de A+ a F cobre as 38 verificações, ponderadas por prioridade, e o relatório pode ser compartilhado por link.
Como ler o resultado
| Mensagem | O que significa | Correção |
|---|---|---|
| llms.txt is present with N links. | Encontrado, servido como texto, começa com um H1 | Revise o conteúdo e o número de links |
| llms.txt exists but does not start with a "# " title. | Encontrado e servido corretamente, mas a primeira linha não é um H1 | Passo 2 abaixo |
| No llms.txt file was found. | 404, erro, arquivo vazio ou uma página HTML servida no endereço | Passo 1 ou passo 3 abaixo |
Uma aprovação com 0 links significa que o arquivo tem título mas nenhum link em Markdown, então não dá nada para as ferramentas seguirem. Uma aprovação com 300 links significa que você colou um sitemap; reduza para as páginas que importam.
Como corrigir cada problema do llms.txt
1. No llms.txt file was found
- Escreva o arquivo usando um dos exemplos acima. Salve como texto simples em UTF-8 com o nome exato
llms.txt, em minúsculas. - Coloque-o onde o seu servidor serve a raiz do site:
- Sites estáticos e a maioria dos frameworks: a pasta
public/oustatic/(Next.js, Vite, Astro, Nuxt e Hugo servem essa pasta na raiz). - WordPress: o Yoast SEO e o AIOSEO podem gerar o arquivo; caso contrário, envie-o para a pasta raiz do WordPress, ao lado do
wp-config.php. - Shopify: não é possível enviar arquivos para a raiz, então use um app, ou envie o arquivo para Arquivos (Files) e crie um redirecionamento de URL de
/llms.txtpara ele. O verificador segue redirecionamentos, então isso funciona desde que o destino seja servido como texto. - Wix: o llmstxt.org lista o Wix entre as plataformas que suportam o arquivo; confira as configurações de SEO do seu site.
- Sites estáticos e a maioria dos frameworks: a pasta
- Abra
https://seudominio.com/llms.txtem uma janela privada e confirme que aparece o Markdown puro, e não o seu site. - Execute o verificador de llms.txt de novo.
2. llms.txt exists but does not start with a "# " title
Os primeiros caracteres não vazios devem ser # seguido de um espaço. Causas comuns:
- O arquivo começa com o resumo ou com uma lista solta; adicione
# Nome do seu sitecomo primeira linha. - O título está escrito
#Nomesem espaço, ou comoNomecom===embaixo. Use# Nome. - Um byte order mark (BOM) invisível no início do arquivo. Nosso verificador o ignora, mas alguns outros parsers deixam de ver
#como os primeiros caracteres. Salve o arquivo como "UTF-8 sem BOM" no seu editor, por segurança. - Um plugin adicionou um comentário ou uma linha de "gerado por" acima do título. Mova-a para baixo ou remova.
3. O endereço devolve uma página web em vez do arquivo
Se você enviou um arquivo mas o verificador ainda diz que ele não foi encontrado, consulte os cabeçalhos:
curl -I https://seudominio.com/llms.txt
- Status 200 com
Content-Type: text/html: a rota catch-all do seu app responde a toda URL desconhecida com a home ou com uma página de "não encontrado" com status 200. Sirva o arquivo antes das rotas do app ou configure o manipulador de arquivos estáticos. - Status 404: o arquivo não está onde o servidor procura. Confira a pasta e o nome do arquivo.
- Status 301 ou 302 para a home: uma regra de redirecionamento captura caminhos desconhecidos. Adicione uma exceção.
- Status 403: uma regra de segurança bloqueia arquivos
.txtou caminhos desconhecidos. Libere/llms.txt.
Depois, defina o content type como texto simples. No Nginx:
location = /llms.txt {
default_type text/plain;
charset utf-8;
}
No Apache, AddType text/plain .txt na configuração do site ou no .htaccess faz o mesmo. text/markdown também serve; qualquer coisa que não seja HTML passa.
4. O acesso de crawlers de IA falha ou o sitemap está ausente
Esses itens vêm junto com o relatório do llms.txt porque importam mais. Se os crawlers de busca de IA estão bloqueados no robots.txt ou pelo firewall, corrija isso primeiro; nosso guia de crawlers de IA tem os passos. Se nenhum sitemap foi encontrado, publique um com as suas páginas indexáveis, liste-o no robots.txt com uma linha como Sitemap: https://www.example.com/sitemap.xml e envie-o no Google Search Console e no Bing Webmaster Tools.
Mantenha atualizado
Um llms.txt com links quebrados é pior do que nenhum, porque leva as ferramentas a páginas de erro. Três hábitos o mantêm preciso:
- Gere-o a partir dos seus dados sempre que possível. Uma etapa de build que escreve o arquivo a partir da sua navegação ou do índice da documentação nunca fica defasada.
- Revise-o quando preços, planos ou a linha de produtos mudarem. A linha de resumo é a parte com mais chance de ficar desatualizada.
- Linke apenas páginas canônicas. Sem URLs redirecionadas, sem parâmetros de rastreamento, sem páginas noindex.
Exemplo prático (hipotético)
O exemplo a seguir é hipotético, não são dados reais. A Fernway Travel, uma operadora de turismo inventada, instala um plugin que gera o llms.txt. O verificador diz "No llms.txt file was found." O curl -I mostra status 200 e Content-Type: text/html: a camada de cache do site serviu uma home em cache para o novo endereço. Depois de limpar o cache, o arquivo aparece, mas o verificador agora diz que ele "exists but does not start with a "# " title": o plugin escreve uma linha de comentário primeiro. A equipe muda o plugin para o modo manual e escreve o arquivo à mão:
# Fernway Travel, depois um resumo: passeios a pé em pequenos grupos em Portugal e na Espanha, de 6 a 12 pessoas, de abril a outubro.## Tourscom oito páginas de passeios e a duração e a faixa de preço como observações.## Plan your tripcom condições de reserva, o que está incluído e o FAQ.## Optionalcom o blog e a página institucional.
O verificador aprova com 14 links. No mesmo relatório, a equipe também descobre que o sitemap não constava no robots.txt e adiciona a linha Sitemap:.
Checklist de llms.txt em 10 minutos
- Verifique primeiro o acesso dos crawlers de IA; o llms.txt não ajuda se os crawlers estiverem bloqueados.
- Escreva
# Nome, um resumo factual de uma linha e duas ou três seções##com links-chave. - Use URLs absolutas e canônicas que retornem 200.
- Envie para a raiz, sirva como texto simples, salve sem BOM.
- Valide com o verificador de llms.txt.
- Deixe um lembrete para revisá-lo quando o produto ou os preços mudarem.
Como a Searvia ajuda
O verificador de llms.txt gratuito valida o arquivo junto com o acesso dos crawlers de IA e o seu sitemap em um único relatório compartilhável. O verificador de preparo para busca com IA usa o mesmo mecanismo, com foco em tudo de que os assistentes precisam: acesso de crawlers, conteúdo sem JavaScript, marcação de identidade, conteúdo em formato de resposta e atualização. Dentro de uma conta Searvia, a visibilidade em IA faz toda semana as perguntas reais dos seus clientes a assistentes de IA e mostra se você é mencionado, recomendado ou citado, e o botão Check access testa regras de robots.txt, bloqueios de firewall e o llms.txt para cada bot de IA. Essa é a medição que diz se todo esse trabalho compensa. Para a estratégia mais ampla, veja nosso guia de generative engine optimization.
Perguntas frequentes
- O que é o llms.txt?
- O llms.txt é um padrão proposto para um arquivo Markdown na raiz de um site, em /llms.txt, que dá aos modelos de linguagem um guia curto do site: um H1 com o nome do site, um resumo opcional de uma linha em um blockquote e seções H2 com listas de links para as páginas mais úteis. Jeremy Howard publicou a proposta em 3 de setembro de 2024. Ele foi pensado principalmente para o momento em que um modelo responde a uma pergunta, não para treinamento.
- O llms.txt ajuda no SEO ou na visibilidade em IA?
- Não há evidência de que ajude no Google: o Google diz que você não precisa criar novos arquivos legíveis por máquina nem arquivos de texto para IA para aparecer nas AI Overviews ou no AI Mode. A documentação dos crawlers da OpenAI, da Anthropic e da Perplexity também não menciona o llms.txt. Ele ainda pode ajudar ferramentas e agentes apontados para o seu site, como assistentes de código que leem documentação, então trate-o como um arquivo de cortesia de dez minutos, não como uma alavanca de ranqueamento.
- O llms.txt é a mesma coisa que o robots.txt?
- Não. O robots.txt diz aos crawlers quais URLs eles podem buscar, e crawlers bem-comportados o obedecem. O llms.txt não concede nem nega nada: é um guia de leitura que descreve o seu site e linka para as páginas-chave. A proposta diz que os dois têm finalidades diferentes e que o llms.txt pode complementar o robots.txt ao dar contexto ao conteúdo permitido. Bloquear ou liberar crawlers de IA é feito no robots.txt e no firewall.
- O que é o llms-full.txt?
- O llms-full.txt é uma convenção que algumas plataformas de documentação usam para um único arquivo com o texto completo de todas as páginas da documentação. Ele não faz parte da proposta do llms.txt no llmstxt.org, que define apenas o /llms.txt e sugere oferecer versões em Markdown de páginas individuais acrescentando .md às URLs.
- Como crio um arquivo llms.txt?
- Escreva um arquivo de texto simples chamado llms.txt que comece com '# Nome do seu site', adicione um resumo de uma linha como blockquote '> ', depois seções H2 como '## Products' ou '## Docs' com links em Markdown no formato '- [Nome da página](https://example.com/page): observação curta'. Envie-o para a raiz do seu domínio, garanta que seja servido com status 200 como texto e não como HTML, e valide com um verificador.
Fontes
- The /llms.txt file – llmstxt.org
- AI features and your website – Google Search Central
- Overview of OpenAI Crawlers – OpenAI
- Does Anthropic crawl data from the web, and how can site owners block the crawler? – Claude Help Center
- Perplexity Crawlers – Perplexity
- redirects – Next.js documentation
- RFC 9309: Robots Exclusion Protocol – IETF
- Build and submit a sitemap – Google Search Central