Periscopy
Artigos
Metodologia8 min de leitura

O que é o llms.txt e como criar o seu

Especificação prática do llms.txt, o ficheiro markdown na raiz do site que os crawlers de IA leem antes do HTML. Estrutura, regras, exemplo real e os erros a evitar.


O llms.txt é um ficheiro markdown na raiz do site que descreve o conteúdo de forma estruturada e legível por modelos de linguagem. Convenção emergente em 2024 a 2026, adotada por Anthropic, Mistral e várias empresas técnicas. Coexiste com o robots.txt e o sitemap.xml, não os substitui. Este texto mostra a estrutura mínima, a versão expandida llms-full.txt, e os erros típicos.

Atualização · Junho de 2026

A Google publicou em Junho de 2026 que não é preciso criar llms.txt para aparecer em respostas de IA na sua pesquisa. Não contradiz este artigo: sempre o descrevemos como higiene de baixo custo, não como alavanca de citação. Continua a fazer sentido publicar (documentação, outros motores que não a Google, custo nulo). O contexto completo do que mudou está em A Google oficializou o GEO.

Key takeaways
  • o llms.txt é markdown simples e vive em /llms.txt na raiz
  • funciona como índice curado, não como sitemap exaustivo
  • a variante llms-full.txt traz o corpo expandido para uma leitura só
  • não substitui o robots.txt (acesso) nem o sitemap.xml (indexação)
  • esforço de implementação baixo; cenário de upside grande

O que é o llms.txt

O llms.txt é um ficheiro markdown público, alojado na raiz do domínio (https://example.com/llms.txt), que descreve a estrutura e o propósito do site em linguagem otimizada para modelos. A especificação foi proposta em 2024 e definiu três blocos fixos: nome, descrição em uma linha, e secções de ligações curadas agrupadas por tópico.

A intenção é resolver um problema concreto. Quando um crawler de IA chega ao seu site, tem de inferir a estrutura através de HTML, headers, menus, classes CSS. Esse processo é frágil. Com o llms.txt, recebe um sumário declarativo, num formato que os modelos extraem com fidelidade quase total.

Porque é que importa para GEO

Três motivos práticos. Primeiro, fidelidade: markdown estruturado tem menos ruído do que HTML renderizado com JavaScript. Segundo, curadoria: a escolha do que entra é sua, em vez de deixar o crawler adivinhar. Terceiro, leitura única: a versão llms-full.txt permite que o modelo apanhe todo o contexto numa só chamada, em vez de fazer 10 ou 20 pedidos subsequentes.

Em termos de GEO, isto reflete-se no que os motores citam. Quanto mais limpa for a representação do seu site, mais provável é que a citação seja correta: URL certo, nome certo, descrição certa.

Estrutura mínima

A especificação oficial é simples. Title como h1, descrição como blockquote, e secções h2 com listas de ligações. Exemplo real, adaptado do llms.txt do destaque.ai:

# destaque.ai

> Empresa de tecnologia que mede a visibilidade das marcas nas respostas de IA.
> Opera a presença de marcas digitais e locais em ChatGPT, Claude, Gemini e Perplexity.

## Serviço
- [Como trabalhamos](https://www.destaque.ai/servico)
- [Glossário GEO](https://www.destaque.ai/glossario)

## Empresa
- [Sobre](https://www.destaque.ai/sobre)
- [Contacto](https://www.destaque.ai/contacto)

## Blog
- [Posts](https://www.destaque.ai/blog)

## Recursos para IA
- [llms-full.txt](https://www.destaque.ai/llms-full.txt)
- [ai.txt](https://www.destaque.ai/ai.txt)

Repare em três escolhas. As ligações são absolutas, não relativas. As secções estão agrupadas por intenção (serviço, empresa, blog), não por tipo de página. E há uma secção explícita de recursos para IA que aponta para o llms-full.txt, o que facilita a vida ao crawler.

llms.txt vs llms-full.txt

O llms.txt é o índice. O llms-full.txt é o índice mais o corpo expandido das páginas-chave, concatenado em markdown.

Na prática: o crawler começa pelo llms.txt para mapear o terreno; se quiser profundidade, vai ao llms-full.txt e apanha tudo de uma vez. O custo de servir o llms-full.txt é baixo (rota estática) e a poupança em pedidos do crawler é considerável.

Regra prática: se já tem 5 páginas-chave bem escritas, vale a pena gerar a versão expandida. Se ainda está a construir conteúdo, foque-se primeiro no llms.txt.

llms.txt vs ai.txt vs robots.txt

Quatro ficheiros, quatro responsabilidades distintas:

  • robots.txt decide o acesso. Diz aos crawlers (incluindo GPTBot, ClaudeBot e os outros) o que podem ou não rastrear.
  • sitemap.xml decide a indexação. Lista os endereços do site para os crawlers descobrirem páginas.
  • llms.txt decide a compreensão. Explica em markdown o que cada bloco do site é.
  • ai.txt decide a política de uso por IA. Especifica que crawlers de IA podem indexar e em que termos. Análogo ao robots.txt mas focado no uso por modelos generativos.

Devem coexistir os quatro. Cada um resolve um problema diferente do trabalho de visibilidade em IA.

Como criar o seu, em cinco passos

O processo é mais curto do que parece. Tipicamente uma tarde de trabalho.

  1. Identifique as páginas que importam. Tipicamente: home, serviço, sobre, contacto, índice do blog. Para a maioria dos sites de SaaS B2B, são 5 a 10 páginas.
  2. Escreva uma frase descritiva para cada. Curta, específica. "Como trabalhamos: as quatro fases do método" é melhor do que "Página de serviço".
  3. Agrupe por intenção, não por tipo de página. Serviço, empresa, recursos, blog. Não páginas estáticas e dinâmicas.
  4. Gere o ficheiro como rota estática ou route handler. Em Next.js, um route handler em app/llms.txt/route.ts resolve. Noutras stacks, um ficheiro estático na public/.
  5. Refira-o no robots.txt. Linha simples: Sitemap: https://example.com/llms.txt. Não é sitemap formal, mas dá descoberta extra. Repita para o llms-full.txt.

Erros típicos

Vemos os mesmos quatro repetidamente:

  • Tentar incluir tudo. O llms.txt é curadoria, não inventário. 200 ligações sem contexto valem menos do que 30 bem descritas.
  • Sem hierarquia. Lista plana sem secções h2 dá ao modelo zero pistas sobre como o site está organizado.
  • Ligar a páginas obsoletas. Cada ligação que devolve 404 ou redireccionamento é ruído. Audite pelo menos trimestralmente.
  • Esquecer a atualização. O llms.txt não se mantém sozinho. Se mudar a estrutura do site, atualize imediatamente.

Como validar

Não há ainda validador oficial. O processo manual é simples:

  • curl https://example.com/llms.txt: devolve o conteúdo? Os headers indicam Content-Type text/markdown ou text/plain?
  • Abra num browser. As quebras de linha estão corretas, sem escape de HTML?
  • Passe o conteúdo por um modelo (Claude, ChatGPT) e peça: leia este llms.txt e descreva a empresa. A resposta faz sentido?
  • Valide os endereços com um verificador de estado: respondem todos 200?

Perguntas frequentes

O llms.txt substitui o sitemap.xml ou o robots.txt?

Não. São três ficheiros com propósitos diferentes. O robots.txt diz quem pode entrar; o sitemap.xml diz onde estão as páginas para indexação; o llms.txt diz, em markdown legível por LLMs, o que cada página é e como está organizada. Coexistem.

Os crawlers de IA leem mesmo o llms.txt?

A adoção está a crescer mas ainda é parcial. Anthropic, Mistral e algumas empresas técnicas grandes já o adotaram. OpenAI e Google não confirmaram suporte oficial. Mesmo assim, o esforço é baixo e o cenário de upside é grande, vale a pena pôr.

Tenho de criar também o llms-full.txt?

É recomendado, sim. O llms.txt funciona como índice; o llms-full.txt traz o corpo expandido em markdown, texto principal das páginas-chave concatenado. Uma leitura só para o crawler resolver tudo numa chamada.

Que tamanho deve ter o llms.txt?

Curto. O llms.txt é um índice curado, não um sitemap exaustivo. Para a maioria das empresas, 30 a 100 linhas chega. O llms-full.txt pode ir até 50 a 100 mil tokens conforme a dimensão do site.

Fontes

Publicado primeiro em destaque.ai/blog/o-que-e-llms-txt-como-criar