Blog

/

Padrões técnicos

/

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

Padrões técnicos

1 de maio de 2026

8 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.

EN

Read in English →

Padrões técnicos

Foto de [Markus Spiske](https://unsplash.com/@markusspiske?utm_source=periscopy&utm_medium=referral) no [Unsplash](https://unsplash.com/?utm_source=periscopy&utm_medium=referral)

Por

Eduardo Mendonça

, fundador da destaque.ai ·

LinkedIn

·

ORCID

Resumo

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–2026, adotada por Anthropic, Mistral e várias empresas técnicas. Coexiste com `robots.txt` e `sitemap.xml`, não os substitui. Este post mostra a estrutura mínima, a versão expandida `llms-full.txt`, e os erros típicos.

Atualização · junho 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](https://www.destaque.ai/blog/google-oficializa-geo-junho-2026).

Key takeaways

- `llms.txt` é markdown plain, 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 single-fetch
- Não substitui `robots.txt` (acesso) nem `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, hospedado na raiz do domínio (`https://exemplo.pt/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 links curados agrupados 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 `llms.txt`, recebe um sumário declarativo, em 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 que HTML renderizado com JavaScript. Segundo, curadoria: a escolha do que entra é sua, em vez de deixar o crawler adivinhar. Terceiro, single-fetch: 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 reflecte-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 links. Exemplo real, adaptado do `llms.txt` da 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. Os links são absolutos, não relativos. 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 *Recursos para IA* que aponta para o `llms-full.txt`, 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 `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

Três ficheiros, três responsabilidades distintas:

- **`robots.txt`**, controla *acesso*. Diz aos crawlers (incluindo GPTBot, ClaudeBot, etc.) o que podem ou não rastrear.
- **`sitemap.xml`**, controla *indexação*. Lista as URLs do site para os crawlers descobrirem páginas.
- **`llms.txt`**, controla *compreensão*. Explica em markdown o que cada bloco do site é.
- **`ai.txt`**, controla *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. **Identifica 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 que *“Página de serviço.”*.
3. **Agrupa 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. **Gera o ficheiro como rota estática ou route handler.** Em Next.js, um route handler em `app/llms.txt/route.ts` resolve. Em outros stacks, um static file na `public/`.
5. **Refere-o no robots.txt.** Linha simples: `Sitemap: https://exemplo.pt/llms.txt`, não é sitemap formal, mas dá descoberta extra. Repete 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 links sem contexto valem menos que 30 bem descritos.
- **Sem hierarquia.** Lista plana sem secções h2 dá ao modelo zero pistas sobre como o site está organizado.
- **Linkar páginas obsoletas.** Cada link que devolve 404 ou redirect é ruído. Audita pelo menos trimestralmente.
- **Esquecer a atualização.** `llms.txt` não se mantém sozinho. Se mudar a estrutura do site, atualiza imediatamente.

## Como validar

Não há (ainda) validator oficial. O processo manual é simples:

- `curl https://exemplo.pt/llms.txt`, devolve o conteúdo? Headers indicam `Content-Type: text/markdown` ou `text/plain`?
- Abre num browser. Quebra de linhas corretas, não escape de HTML?
- Roda o conteúdo num modelo (Claude, ChatGPT) e pede: *“Lê este llms.txt e descreve a empresa.”* A resposta faz sentido?
- Validar URLs com [httpstat.us](https://httpstat.us) ou similar, todos respondem 200?

## Perguntas frequentes

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

Não. Três ficheiros, três propósitos: `robots.txt` (acesso), `sitemap.xml` (indexação), `llms.txt` (compreensão).

### Os crawlers de IA leem mesmo o llms.txt?

Adoção parcial. Anthropic, Mistral e várias empresas técnicas já adotaram. OpenAI e Google não confirmaram suporte oficial. Mesmo assim, vale a pena pelo custo baixo e pelo upside.

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

Recomendado. O `llms.txt` funciona como índice; o `llms-full.txt` traz o corpo expandido em markdown. Single-fetch para o crawler resolver tudo numa só chamada.

## Fontes

- [llmstxt.org](https://llmstxt.org/), especificação oficial
- [/llms.txt da destaque.ai](https://www.destaque.ai/llms.txt), exemplo real
- [/llms-full.txt da destaque.ai](https://www.destaque.ai/llms-full.txt), versão expandida

---

Versão markdown de https://www.destaque.ai/blog/o-que-e-llms-txt-como-criar. Conteúdo idêntico à página HTML.
