Conteúdo extraível por IA é o conteúdo montado de forma que qualquer bloco da página responda a uma pergunta inteira sozinho, longe do restante do documento.
Pegamos uma página que mantemos para um cliente, tiramos o CSS, tiramos o JavaScript e lemos só o HTML que sobrou. O suco.
A pergunta estava na página. A resposta estava na página.
Mas na ordem em que o conteúdo aparecia no documento, saiu assim: título, três parágrafos institucionais, um bloco de “veja também” e a resposta cortada no meio. O clássico.
A informação estava lá. Mas não de forma extraível por IA.
É disso que vamos tratar aqui: arquitetura de página e como deixar conteúdo extraível por IA quando quem lê não é uma pessoa rolando a tela, e sim ChatGPT, Claude ou Perplexity recuperando um pedaço.
Nenhuma LLM cita uma página inteira

A razão do problema é mecânica, não editorial.
O texto do nosso cliente era bom. Revisado pelo especialista, aprovado pelo jurídico, escrito em português claro, com a profundidade que o assunto pedia.
Mesmo assim, o que chegava na LLM era um pedaço sem sentido.
Porque o modelo não consome a página como um todo. Ele trabalha com trecho. A página é fatiada, um pedaço é recuperado, lido e devolvido ao usuário dentro de uma resposta.
Ou seja, a pergunta que a gente faz na revisão está errada.
Não é “meu conteúdo está completo?”. É: qualquer fatia desse conteúdo faz sentido sozinha?
A unidade de trabalho deixou de ser o artigo. Passou a ser o bloco.
Extração, em uma linha
Extração é tirar um trecho da página e usar esse trecho fora dela.
Simples assim. E tudo o que vem a seguir existe para que esse trecho aguente viver sem a página junto.
Marketing e operações estão certos, e ninguém está olhando pelo ângulo da LLM
Esse é o padrão que mais vemos em operações de médio e grande porte.
Quem cuida de marketing montou a página no construtor: acordeão para não assustar o usuário com muito texto, abas separadas por modalidade, imagem com CTA no meio. Pensando no visual, que é o trabalho dele.
Quem cuida de operações olhou o HTML e viu quatro H2 escolhidos por estilo, blocos institucionais repetidos em vários templates e uma fila de chamados. Pensando em manutenção, que é o trabalho dele.
Os dois acertam dentro do próprio domínio.
Ninguém está olhando pelo ângulo de quem extrai.
E existe um sintoma que denuncia isso antes de qualquer ferramenta. Peça para alguém do time copiar só a seção que responde à pergunta que você quer ganhar. Cole num documento em branco e leia.
Esse texto isolado responde à pergunta? Se a resposta for “depende do resto da página”, você já tem seu diagnóstico.
Hierarquia de headings delimita o bloco
Um H1 por página, definindo do que a página trata. H2 para cada subassunto. H3 só para desdobrar o H2 imediatamente acima, sem pular nível.
H3 solto depois de um H1 não existe.
Isso parece SEO básico de 2012, mas o efeito hoje é outro: a hierarquia é o que diz onde um bloco começa e onde termina.
Heading decorativo cria fronteira falsa e corta a resposta no lugar errado.
Particularmente, esse é o erro que mais me irrita. A tag foi escolhida porque ficou bonita no CSS.
Pare com isso. Heading é hierarquia, não estilo. Se o problema é tamanho de fonte, mexa no CSS. E o texto do heading precisa ser descritivo, não genérico tipo “Sobre”.
A resposta vem colada no heading
Se o H2 faz uma pergunta, a resposta vem no parágrafo imediatamente abaixo. Curta, direta, completa.
O aprofundamento vem depois: contexto, exceções, exemplo, ressalva.
O que não pode é entrar no meio.
Parágrafo de aquecimento, CTA, banner de material rico, bloco de posts relacionados, depoimento. Cada um desses empurra a resposta para baixo e aumenta a chance de a fatia recuperada pegar o aquecimento em vez do conteúdo.
Recapitulando os dois pontos até aqui, porque eles sustentam o resto: heading serve para hierarquizar, nunca para estilizar; e pergunta no H2 pede resposta no parágrafo seguinte.
Autocontenção: o bloco precisa sobreviver longe da página
Essa é a parte mais ignorada de como deixar conteúdo extraível por IA.
Dentro do bloco, nada de “como vimos acima”, “esse processo”, “a modalidade citada”. Toda referência que aponta para fora do bloco morre quando o bloco é lido sozinho.
Na prática, isso vira uma rotina de escrita:
Repita o nome da entidade dentro do bloco (o nome do programa, do produto, da modalidade) em vez de usar “o curso” ou “a solução”, que só fazem sentido se a pessoa leu o H1.
Traga o sujeito de volta a cada bloco, mesmo que pareça redundante na leitura corrida da página inteira.
Todo número vem com unidade e referência temporal, por exemplo “valor vigente para turmas com início em 2025”, porque o trecho pode ser lido meses depois, fora da página.
Sigla expandida na primeira ocorrência dentro do bloco, não apenas na introdução do artigo.
Sim, isso cria repetição. E a repetição é exatamente o que mantém o trecho inteiro quando ele é lido fora da página.
Lembre: a LLM não leu sua introdução.
O que só existe depois do JavaScript não existe para o agente
Se o texto não está no HTML inicial, você está apostando que o agente vai executar JavaScript.
Boa parte não executa. O próprio guia de JavaScript SEO do Google trata renderização como etapa separada e enfileirada, e os crawlers de IA mais usados por aqui são bem menos tolerantes que o Googlebot nesse ponto. Já destrinchamos essa diferença de comportamento no artigo sobre crawlers de IA e como eles acessam seu site.
Daí três consequências práticas.
Acordeão e abas que carregam sob demanda colocam a informação na interface, não no documento. Se for usar acordeão, use o elemento details documentado no MDN, com o conteúdo presente no HTML.
Tabela em imagem para “ficar bonitinha”, esqueça. Tabela é table, com cabeçalho real em th.
E a ordem do DOM manda. Layout de duas colunas feito por CSS vira uma sequência quando o CSS sai, e essa sequência pode intercalar coisas que nunca deveriam se encostar.
Some a isso o boilerplate: aquele parágrafo institucional que se repete em N templates e entra no meio dos blocos bons.
Um caso real: página de pós-graduação reestruturada
Implementação recente nossa, portal de uma operação de educação. Página de um programa de pós-graduação com tráfego, bonita, revisada.
O antes, na ordem em que o conteúdo aparecia no HTML: H1 com o nome do programa, hero com imagem e frase institucional, quatro parágrafos sobre a tradição da instituição, um H2 escrito “Sobre o curso”, faixa de CTAs, bloco de abas (modalidade, investimento, processo seletivo) com as duas últimas injetadas por JavaScript, grade curricular em imagem exportada pelo designer e, no fim, acordeão de dúvidas carregado por clique.
Rodamos um cURL e lemos o HTML bruto com as duas perguntas que a página supostamente respondia na mão.
A maior parte não estava no documento. O que estava, estava sob heading genérico e longe da resposta.
O que mudamos, item a item:
Mapa de perguntas antes de tocar no template: sentamos com quem escreve e listamos as perguntas reais que a página recebe, na linguagem de quem pergunta, não na do catálogo interno.
Cada pergunta virou um H2. O antigo “Sobre o curso” virou três blocos: para quem é o programa, qual a carga horária e o formato das aulas, como funciona o processo seletivo.
Resposta colada logo abaixo de cada H2, em um parágrafo curto que responde a pergunta inteira; o detalhamento ficou no mesmo bloco, depois.
A faixa de CTA saiu do meio do conteúdo e foi para a fronteira entre um bloco e o próximo.
As abas passaram a existir no HTML: a navegação por abas continua funcionando, mas o texto está no documento mesmo sem CSS e sem JavaScript.
A grade curricular saiu da imagem e virou tabela de verdade, com cabeçalho em th. Ficou tão bonita quanto, e agora é texto.
Autocontenção dentro de cada bloco: onde estava “o curso” voltou o nome do programa, onde estava “nessa modalidade” voltou o nome da modalidade, e valores ganharam referência temporal.
Acordeão de dúvidas trocado por details com conteúdo presente, cada pergunta com seu heading e ID estável, dando endereço a cada bloco.
Limpeza do boilerplate institucional que se repetia em vários templates e foi devolvido ao lugar dele.
Como validamos
Validação no HTML bruto, porque é ali que está a fonte da verdade.
Rodamos cURL de novo e perguntamos: o texto está aqui sem execução de script?
Depois, leitura só da árvore de headings, do H1 até o último H3, sem o corpo. Se aparecer uma sequência de frases de efeito, a hierarquia está sendo usada como estilo.
Por último, o teste do bloco solto: copiar um bloco, colar fora da página e ver se ele responde a pergunta sozinho.
Outro padrão, agora em fintech
Uma operação de fintech, página de tarifas e limites. O conteúdo era uma tabela comparativa enorme com notas de rodapé numeradas.
Extraída em pedaços, cada linha chegava sem a condição que a qualificava. Tarifa sem a regra que a explica é pior do que tarifa nenhuma.
A correção foi quebrar por tipo de operação: um bloco para cada, com heading específico, resposta curta no topo e uma tabela menor, legível, com as condições dentro do próprio bloco.
Padrão comum na página | O que chega na extração | Correção estrutural |
|---|---|---|
Acordeão de dúvidas carregado por clique | Nada, o texto não está no HTML inicial | Elemento details com conteúdo presente e heading por pergunta |
Abas com conteúdo injetado por JavaScript | Só a primeira aba, quando muito | Todo o texto no HTML, abas como camada de navegação |
Grade curricular em imagem exportada | Zero texto, só um alt genérico | Tabela em table com cabeçalho em th |
CTA e posts relacionados entre heading e resposta | Fatia com aquecimento em vez da resposta | Resposta colada no heading, CTA na fronteira entre blocos |
O limite honesto: estrutura não compra citação
Preciso ser direto aqui.
Nada do que está acima garante que sua página vai aparecer na resposta de uma LLM.
O que a estrutura faz é remover o motivo técnico que impede a extração limpa. Ela não decide a citação, ela tira o seu conteúdo da fila de quem nem chega a ser considerado.
E repare no detalhe que fecha os dois casos: nenhuma palavra nova de conteúdo foi inventada. A informação já estava escrita e aprovada. A gente só parou de impedir que ela saísse inteira.
Perguntas frequentes sobre como deixar conteúdo extraível por IA
Preciso reescrever o conteúdo para torná-lo extraível?
Normalmente não. Nos projetos que conduzimos, o trabalho de deixar conteúdo extraível por IA é de ordem e marcação: mover a resposta para junto do heading, tirar CTA do meio do bloco, substituir heading decorativo por hierarquia real e trazer para o HTML aquilo que só existia depois do clique. O texto aprovado continua o mesmo.
Repetir o nome da entidade em cada bloco não prejudica a leitura humana?
Em excesso, sim. O ajuste fino é repetir o sujeito uma vez por bloco, de preferência na primeira frase da resposta, e usar pronomes no restante. Quem lê a página inteira percebe uma leve redundância; quem recebe só aquele bloco recebe uma resposta completa.
Como testar rápido se minha página está extraível?
Rode um cURL na URL e leia o HTML sem executar script. Depois extraia só a árvore de headings e verifique se ela conta o assunto da página sozinha. Por fim, copie um bloco isolado e confira se ele responde a pergunta fora do contexto. Três passos, sem ferramenta paga.
Conclusão
A unidade não é a página, é o bloco.
Hierarquia de títulos delimita esse bloco, a resposta mora colada no heading, nada de CTA ou banner no meio do caminho, e o texto precisa estar no HTML inicial, não na interface.
Essa é a quarta camada do framework de GEO Técnico que desenvolvemos, conteúdo e citabilidade. As outras camadas cuidam de acesso, renderização e sinais, e você encontra o panorama completo no nosso guia de GEO Técnico.
Aqui na Apiki, criamos também um diagnóstico que audita o seu site e devolve uma nota de 0 a 100, com o detalhamento do que precisa ser corrigido para que os agentes consigam acessar, ler e interpretar suas páginas. Acesse o Diagnóstico GEO Técnico.
Agora me conta: se você copiar o bloco mais importante do seu site e ler ele sozinho, ele ainda responde a pergunta?