L2Semantic HTML · RAG + Embeddings11 checks

L2 — Semantic HTML: a estrutura que sistemas de retrieval usam para entender o que importa na página

HTML semanticamente correto não é sobre acessibilidade — é sobre deixar que sistemas RAG, embeddings e crawlers de AI entendam hierarquia e relevância sem depender de JSON-LD.

TL;DR

L2 é a estrutura que diz à máquina: "este parágrafo é mais importante que aquele", "este bloco é navegação, não conteúdo principal". <main>, <article>, <aside>, <nav>, <section> com ARIA roles e hierarquia H1/H2/H3 lógica. Se L1 é o rótulo da caixa, L2 é como os itens estão organizados dentro dela. Problemas de L2 são geralmente sistêmicos — vêm do template, não da página individual.

A organização interna que sistemas RAG dependem para construir embeddings

L2 é a estrutura que diz à máquina: "este parágrafo é mais importante que aquele", "este bloco é navegação, não conteúdo principal". <main>, <article>, <aside>, <nav>, <section> com ARIA roles e hierarquia H1/H2/H3 lógica.

Analogia: se L1 é o rótulo da caixa, L2 é como os itens estão organizados dentro dela.

O que HTML semântico tem a ver com citações em LLMs

  • Sistemas RAG dependem de chunking correto para construir embeddings úteis. HTML sem landmarks produz chunks quebrados — respostas imprecisas sobre o seu conteúdo.
  • H1 único por página tem impacto duplo. Google usa como sinal primário de relevância. LLMs usam como título canônico da entidade.
  • Microdata complementar ao JSON-LD adiciona redundância semântica. Se o JSON-LD falhar, o crawler ainda tem sinais estruturais no HTML.
  • Problemas de L2 são geralmente sistêmicos. Vêm do template, não da página individual — corrigir um template corrige todas as páginas desse tipo.

11 checks — do H1 único à proporção semântico vs div

11 checks em L2 — H1 único, hierarquia H2/H3 sem saltos, <main> presente e único, <article> em posts, <nav> com aria-label, proporção de tags semânticas vs <div> genéricos.

Score típico sem AEO30–50
Após correção de template75+

4 passos — 6 a 12 horas de correção de template

  1. 01
    Auditamos o HTML renderizado — não o código-fonte. aeo audit --deep usa Playwright para capturar o DOM após JS. (~1h)
  2. 02
    Corrigimos em nível de template — propaga para todas as páginas desse tipo. (~4–8h)
  3. 03
    Documentamos as regras de edição para o time de conteúdo. (~1–2h)
  4. 04
    Validamos com aeo audit pós-fix + ferramentas de acessibilidade (axe, Wave). (~1h)

Esforço total: 6–12 horas de correção de template + 1–2h de documentação.

Content Negotiation RFC 7231: mesma URL, HTML para humanos e JSON para agentes

Plataforma SaaS de gestão com homepage complexa

Primeiro caso com Content Negotiation completo RFC 7231 — mesma URL responde HTML semântico para humanos e JSON para agentes. Combined Score L2 subiu de 7,4 para 9,0 (escala 0–10).

Perguntas frequentes sobre L2

Depende da proporção. Se o conteúdo principal está em <div class="content"> em vez de <main>, sistemas RAG não identificam onde começa o conteúdo relevante. O audit mede a proporção de tags semânticas vs divs genéricos e aponta onde a hierarquia está quebrada — normalmente no template, não em todas as páginas individualmente.
Sim, e é um bônus real. HTML semântico correto beneficia leitores de tela e navegação por teclado. L2 não é implementado por razões de acessibilidade, mas a correção do template gera conformidade WCAG AA em vários critérios como 1.3.1 (Info and Relationships) e 2.4.6 (Headings and Labels) gratuitamente.
Não. Um H1 único por página é o padrão tanto para SEO quanto para AEO. Múltiplos H1 confundem crawlers sobre qual é o tópico principal da página. Se o design exige dois títulos de destaque, o segundo deve ser H2 com styling visual de H1 via CSS — nunca um segundo H1 no markup.