HTML semântico para SEO

Como elementos HTML semânticos (article, section, nav, header, main, aside) ajudam os mecanismos de busca a identificar o conteúdo principal de uma página — por que não é um fator de ranqueamento e como usar cada elemento corretamente.

Publicado pela primeira vez: 2 de jul. de 2026 · Última atualização: 22 de ago. de 2026 · Avançado
Idiomas

HTML semântico usa elementos como <main>, <article>, <section>, <nav>, <header> e <aside> para descrever o que o conteúdo é, não apenas como ele se parece. Não é um fator de ranqueamento — John Mueller o chama de 'não é um multiplicador mágico' e diz que <article> 'não tem efeito particular' na Pesquisa. O que ele faz é ajudar o Google a separar o conteúdo principal do boilerplate de forma mais confiável (a anotação de destaque do Google faz isso via NLP independentemente da sua marcação, mas semântica limpa reduz a adivinhação), ajudar tecnologias assistivas e ajudar rastreadores de IA que não renderizam JavaScript. Fabrice Canel, da Bing, enquadra isso de forma mais forte como 'uma vantagem em SEO'. A mesma ideia vai além dos landmarks: use <a href> para navegação e <button> para ações, <table> reais para dados tabulares, texto alternativo baseado em propósito em imagens e <details>/<summary> para widgets de divulgação nativos — e não confie no antigo 'algoritmo de contorno de documento', nunca implementado, para implicar níveis de cabeçalho por meio de aninhamento de <section>. Uso correto supera presença: um <main> por página, <article> para conteúdo autocontido, <section> para um grupo temático com cabeçalho — não um substituto de <div>. Não confunda com SEO semântico (estratégia tópica/entidade).

TL;DR — HTML semântico usa elementos para seu significado estrutural pretendido (<main>, <article>, <section>, <nav>, <header>, <aside>) para que a marcação comunique o que o conteúdo é, não como ele se parece. Não é um fator de ranqueamento — Mueller: “não é um multiplicador mágico,” e <article> “não tem efeito particular.” O que ele faz é reduzir ambiguidade: a anotação de destaque do Google separa o conteúdo principal do boilerplate via PLN, independentemente de sua marcação ser semântica, mas semântica limpa torna esse trabalho mais confiável. Fabrice Canel, do Bing, enquadra isso de forma mais forte (“uma vantagem em SEO”) — observo essa diferença honestamente em vez de harmonizá-la. O próprio Guia do Iniciante do Google diz que a maior parte da web não é HTML válido, então raramente depende da semântica da especificação. Uso correto supera presença: um <main>, <article> para conteúdo autocontido, <section> para um grupo temático com título — não um substituto de <div>. O mesmo teste se estende a <a href> vs. <button> (navegar vs. agir), <table>s reais para dados tabulares, texto alternativo de imagem baseado em propósito e <details>/<summary> para widgets de divulgação — e não confie no aninhamento de <section> para implicar um nível de título; esse “algoritmo de esboço de documento” nunca foi implementado e a especificação não define mais esboços dessa forma. Não confunda HTML semântico com SEO semântico.

Evidence for this claim Semantic HTML uses elements according to their defined purpose and structural meaning. Scope: HTML element semantics. Confidence: high · Verified: WHATWG HTML: Semantics Evidence for this claim Native semantic HTML exposes built-in roles and supports accessible structure when elements are used correctly. Scope: W3C guidance on semantic HTML and accessibility. Confidence: high · Verified: W3C WAI: HTML and accessibility

O que HTML semântico realmente é

HTML semântico é a prática de escolher elementos HTML pelo significado estrutural que foram projetados para transmitir, em vez de recorrer a <div> e <span> para tudo. <article>, <section>, <nav>, <header>, <main>, <aside> e <footer> cada um declara um papel. A marcação descreve o que um pedaço da página é; CSS decide como ele se parece. O próprio guia de estilo do desenvolvedor do Google coloca a regra da forma mais simples possível: “Use HTML elements for the purposes that they were designed for.” (tradução) «Use elementos HTML para os fins para os quais foram projetados.»

Uma coisa que confunde as pessoas: um nome de classe não cria semântica. Nomear um <div> class="article" ou class="main-nav" não dá a ele o modelo de conteúdo do elemento <article> ou o papel de navegação implícito do elemento <nav> — ainda é um <div> genérico para um navegador, leitor de tela ou rastreador. A semântica vive no elemento que você escolhe, não em como você o estiliza ou rotula.

Este artigo é sobre os elementos semânticos especificamente. O quadro mais amplo de “como o Google analisa seu HTML, hierarquia de títulos, validade” pertence ao hub de SEO de HTML sob o qual esta página se encontra — farei referência cruzada em vez de reabrir o assunto aqui.

HTML semântico realmente ajuda em SEO?

Resposta curta: ajuda no entendimento, não é um fator de ranqueamento, e os dois mecanismos o enquadram de forma um pouco diferente. Aqui está a versão honesta.

O que o Google diz

A posição do Google, repetida por John Mueller, é que HTML semântico vale a pena, mas não é uma alavanca de ranqueamento. Como Search Engine Journal relatou, Mueller disse “Semantic HTML does help to understand a page. However, it’s not a magical multiplier for making a website rank higher,” (tradução) «O HTML semântico ajuda a interpretar uma página. Porém, não é um multiplicador mágico capaz de elevar o ranqueamento de um site.» e separadamente: “Please use semantic HTML. It’s not a ranking factor, but it can help our systems to understand your content better.” (tradução) «Use HTML semântico. Não é um fator de ranqueamento, mas pode ajudar nossos sistemas a interpretar melhor seu conteúdo.»

No elemento <article> especificamente — aquele sobre o qual todo mundo pergunta — Mueller foi contundente em uma sessão do Office Hours: o elemento <article> “does not have any particular effect in Google Search,” (tradução) «O elemento article não produz nenhum efeito específico na Pesquisa Google.» Ele acrescentou o motivo para usá-lo mesmo assim: “Sometimes there are accessibility or semantic reasons to use a specific kind of markup, so don’t only focus on SEO.” (tradução) «Às vezes, há motivos de acessibilidade ou semântica para escolher um tipo específico de marcação; portanto, não se concentre apenas em SEO.»

O Google também diz explicitamente que não depende de semântica perfeita. Seu Guia de início de SEO observa que “Having your headings in semantic order is fantastic for screen readers, but from Google Search perspective, it doesn’t matter if you’re using them out of order. The web in general is not valid HTML, so Google Search can rarely depend on semantic meanings hidden in the HTML specification.” (tradução) «Manter os cabeçalhos em ordem semântica é excelente para leitores de tela, mas, para a Pesquisa Google, usá-los fora de ordem não faz diferença. Como a web em geral não é HTML váido, a Pesquisa Google raramente consegue depender dos significados semânticos ocultos na especificação HTML.» Essa é uma nuance importante, não uma contradição: o HTML semântico ajuda nas margens, não exige perfeição e não é um sinal pontuado.

Como isso se encaixa no Google encontrar seu conteúdo principal

Aqui está o mecanismo que torna o HTML semântico útil mesmo não sendo um fator de ranqueamento. O Google precisa separar o conteúdo principal de uma página do modelo padrão (nav, cabeçalho, rodapé, barras laterais, anúncios) antes de poder decidir sobre o que é uma página. Martin Splitt descreveu a maquinaria: “We have a thing called the Centerpiece Annotation, for instance, and there’s a few other annotations that we have where we look at the semantic content.” (tradução) «Temos algo chamado Centerpiece Annotation, por exemplo, e algumas outras anotações nas quais analisamos o conteúdo semântico.» A forma como o Google descobre o tópico é processamento de linguagem natural sobre o conteúdo, não os nomes das tags: “This looks like from all the natural language processing that we did on this entire text content here that we got, it looks like this is primarily about topic A, dog food.” (tradução) «Parece, com base em todo o processamento de linguagem natural que fizemos sobre este conteúdo textual, que ele trata principalmente do tópico A: ração para cães.» E ele pondera o restante: “We figure out what looks like boilerplate and then, that gets weighted differently as well.” (tradução) «Identificamos o que parece ser boilerplate, e isso também recebe uma ponderação diferente.»

O ponto-chave: essa extração funciona independentemente de sua marcação ser semântica. O Google consegue desembaraçar uma página construída inteiramente com <div>s. Mas, perguntado diretamente se o HTML5 semântico ajuda, a resposta de Splitt foi “It does help us, but it’s not the only thing that we look for. Yes.” (tradução) «Isso ajuda, mas não é o único aspecto que observamos. Sim.» Então, o HTML semântico não pontua você mais alto — ele reduz a adivinhação em uma etapa que o Google já faz, que é exatamente por que é um sinal de confiança e eficiência em vez de um de ranqueamento. Para ser preciso sobre o que ele não faz: marcação semântica correta também não garante nenhuma apresentação específica de pesquisa — é uma camada separada das regras de elegibilidade que regem os rich results (mais sobre isso abaixo).

O que o Bing diz (e por que difere)

O Bing enquadra isso de forma mais forte que o Google, e vou deixar essa diferença intacta em vez de suavizá-la. O Fabrice Canel, da Microsoft, disse que páginas com HTML5 semântico implementado corretamente têm “an advantage in SEO” (tradução) «uma vantagem em SEO» sobre aquelas que não têm. Essa é uma afirmação mais forte do que a do Google, de “nos ajuda a entender” — o Bing liga o HTML5 semântico diretamente a uma vantagem em SEO. Ambos os mecanismos convergem em “ajuda mecanicamente”, mas não usam as mesmas palavras, e você deve saber disso ao ler orientações concorrentes. Nenhum dos dois, para ser claro, descreve isso como um fator de ranqueamento pontuado da forma como links ou relevância são.

Os elementos semânticos principais e como usá-los corretamente

A presença não é o ponto — o uso correto é. O modo de falha mais comum é espalhar tags semânticas como decoração, ou trocar <div> por <section> sem pensar no que cada elemento significa.

<header> contém conteúdo introdutório e <footer> contém conteúdo de encerramento — e ambos são contextuais. No nível do documento, <header> é o banner do seu site e <footer> é o rodapé do seu site. Mas eles também podem ser aninhados dentro de um <article> ou <section> para marcar a introdução e o encerramento próprios desse bloco (o título/linha de autoria de um artigo em um <header>, suas tags em um <footer>). Você pode ter muitos deles; apenas certifique-se de que cada um envolva conteúdo introdutório ou de encerramento para seu contexto, não caixas arbitrárias.

<nav> é para blocos principais de links de navegação — seu menu primário, trilha de migalhas de pão ou sumário na página. Não é para todos os grupos de links na página (uma lista de posts relacionados no corpo não precisa ser um <nav>). Envolver cada cluster de links em <nav> dilui o sinal; reserve-o para navegação genuína.

<main>

<main> envolve o conteúdo primário e único da página — a parte que não é repetida no site. A regra que confunde as pessoas: deve haver exatamente um <main> por página, e ele não deve ser aninhado dentro de <article>, <aside>, <header>, <footer> ou <nav>. É o sinal mais claro que você pode dar sobre “este é o conteúdo que importa aqui.”

<article> vs <section> (o que todo mundo erra)

Esta é a distinção para acertar:

  • <article> é para conteúdo autocontido e distribuível de forma independente — algo que ainda faria sentido retirado da página e colocado em um feed. Um post de blog, uma notícia, um card de produto, um post de fórum, um comentário de usuário. Se pudesse ser sindicalizado sozinho, é um <article>.
  • <section> é um agrupamento temático de conteúdo que deve ter seu próprio título. Um bloco “Avaliações”, um bloco “Especificações”, um capítulo. O teste: se o conteúdo não fizer sentido com um título, provavelmente não é uma <section> — e se você está usando apenas para pendurar algum CSS, deveria ser um <div>.

<section> não é um wrapper genérico. Quando você precisa de um gancho de estilo sem significado semântico, use <div> — é exatamente para isso que ele serve. Usar <section> porque “parece mais moderno” é o uso incorreto mais comum.

<aside>

<aside> marca conteúdo que é tangencial ao conteúdo ao redor — uma barra lateral, uma citação de destaque, uma caixa de links relacionados, um conjunto de anúncios. Ele sinaliza “isso é relacionado, mas não o fio principal”, que é precisamente a distinção boilerplate-vs-conteúdo-principal que o Google tenta traçar de qualquer forma. Não use apenas porque algo está visualmente ao lado; use quando o conteúdo for genuinamente secundário.

Acertando os papéis de landmark (e o mito do outline)

Cada elemento de landmark mapeia para um papel ARIA implícito específico que a tecnologia assistiva lê diretamente — esta é a mesma estrutura computada pela qual um usuário não visual navega, e vale a pena conhecer o mapeamento real em vez de assumir:

ElementoPapel implícitoObservação
<header> (nível de documento)bannerSomente no nível superior — aninhado dentro de <article>/<aside>/<main>/<nav>/<section>, não tem papel de marco.
<footer> (nível de documento)contentinfoMesma ressalva — aninhado, não é um marco.
<nav>navigation
<main>main
<aside>complementary
<article>article (não é um marco)Um papel de estrutura de documento, não um dos marcos navegáveis.
<section>region — mas somente com um nome acessível (por exemplo, por meio de um título)Uma <section> sem nome não tem papel implícito algum, o que é outro motivo para não usá-la como substituto de <div>.

Uma crença popular que vale a pena descartar: aninhar uma <section> não dá aos seus títulos um nível inferior implícito. O HTML5 inicial definia um algoritmo de contorno de documento que calcularia o nível efetivo de um título com base na profundidade do aninhamento dentro de elementos de seção — então um <h1> aninhado poderia teoricamente “agir como” um <h2>. Nenhum navegador ou leitor de tela jamais implementou esse algoritmo, e a especificação WHATWG desde então o removeu em favor de uma definição muito mais simples: o contorno é apenas todos os títulos do documento, em ordem de árvore. Escreva seus níveis <h1><h6> explicitamente e na ordem em que você realmente deseja que sejam lidos — a profundidade do aninhamento não faz esse trabalho por você.

Este não é um elemento de marco, mas é o erro semântico mais comum na web: usar um <div> ou <span> estilizado (ou um <button>) onde um <a href> pertence, ou vice-versa. A especificação WHATWG é específica — <a> com um atributo href é o mecanismo nativo de hiperlink, e o elemento <button> é um controle interativo rotulado para acionar uma ação. O teste é simples: isso leva o usuário a algo (uma nova URL, uma nova página, um fragmento)? Use <a href>. Isso faz algo na página atual (enviar um formulário, abrir um modal, alternar uma configuração)? Use <button>. Estilizar um para parecer com o outro não muda o que ele é nativamente — um <div> com um manipulador de clique não recebe ativação nativa por teclado nem o papel acessível correto, a menos que você reconstrua tudo isso com role, tabindex e manipuladores de teclas. Basta usar o elemento certo.

Tabelas são para dados tabulares, não para layout

Se o conteúdo realmente tem linhas e colunas — uma tabela de comparação, uma grade de preços, um conjunto de dados — use uma <table> real, não uma grade de <div>s estilizados. A especificação de tabelas WHATWG define um modelo de dados real: <caption> nomeia a tabela, e células de cabeçalho <th> (com scope) estabelecem as relações de linha/coluna que permitem que a tecnologia assistiva anuncie “preço, 49 USD” em vez de apenas uma parede de números. Uma grade visualmente semelhante a uma tabela construída com <div>s não carrega nenhum desses dados de relação — parece certa, mas não é lida corretamente. Também não use <table> para layout de página; esse é o uso indevido mais antigo que esta prática substituiu.

O texto alternativo depende da finalidade da imagem

<img> precisa de um atributo alt, mas os requisitos da especificação WHATWG dependem da finalidade, não são únicos para todos: uma foto de produto precisa de uma descrição do que é mostrado; uma imagem puramente decorativa deve receber alt="" (vazio, não ausente) para que a tecnologia assistiva a ignore em vez de anunciar um nome de arquivo; uma imagem que também é um link precisa de texto alternativo descrevendo o destino ou a ação do link, não apenas a imagem. Não use como padrão texto alternativo recheado de palavras-chave em todas as imagens “para SEO” — esse é o teste errado. O teste certo é: o que um usuário de leitor de tela precisa saber que de outra forma perderia?

Widgets nativos de divulgação: <details> e <summary>

Para conteúdo “clique para expandir” — FAQs, fichas técnicas, texto de spoiler — o par <details>/<summary> é um widget de divulgação nativo: <summary> é o rótulo sempre visível, e o conteúdo dentro de <details> mostra ou oculta com base no estado open do elemento, sem qualquer JavaScript. Ele vem com suporte de teclado integrado e a semântica acessível correta de graça — recorrer a um acordeão personalizado de <div> mais JavaScript significa reimplementar um comportamento que o navegador já oferece. Teste-o nos seus navegadores e leitores de tela reais antes de publicar, no entanto — a renderização e a exposição na árvore de acessibilidade para <details>/<summary> historicamente variam por combinação de navegador e tecnologia assistiva, então não presuma uma paridade que você não verificou.

Mitos comuns sobre HTML semântico e SEO

  1. “Envolver conteúdo em <article> melhora o ranqueamento.” Não — Mueller: o elemento <article> “does not have any particular effect in Google Search.” (tradução) «não tem nenhum efeito particular na Pesquisa Google».
  2. “HTML semântico é um fator de ranqueamento.” Não — “not a magical multiplier” (tradução) «não é um multiplicador mágico», e “It’s not a ranking factor, but it can help our systems to understand your content better.” (tradução) «Não é um fator de ranqueamento, mas pode ajudar nossos sistemas a entender melhor seu conteúdo.»
  3. “O Google exige HTML semântico válido/estrito.” Não — de acordo com o Guia de início, a maior parte da web não é HTML válido e o Google “can rarely depend on semantic meanings hidden in the HTML specification.” (tradução) «raramente pode depender de significados semânticos ocultos na especificação HTML».
  4. “A ordem dos cabeçalhos precisa ser perfeita para SEO.” Leitores de tela se importam; o ranqueamento do Google não (mesma linha do Guia de início). O tratamento mais profundo da hierarquia de cabeçalhos pertence ao hub de SEO de HTML — esta é apenas a versão resumida.
  5. “HTML semântico e SEO semântico são a mesma coisa.” Não — um é estrutura de marcação, o outro é estratégia de conteúdo tópico/entidade. Confundi-los é por que tantos resultados de busca para consultas “semânticas” são sobre o tópico errado.
  6. “Dados estruturados tornam o HTML semântico desnecessário.” Não — eles são complementares. O HTML semântico dá aos seus dados estruturados uma base mais confiável; ele não os substitui, e JSON-LD não conserta sopa de div. E nenhum dos dois garante um resultado: a própria introdução a dados estruturados do Google é explícita que usar marcação suportada não garante um resultado rico — a elegibilidade para um recurso de busca específico é um conjunto separado de regras de se sua marcação (HTML semântico ou JSON-LD) é tecnicamente válida.
  7. “Aninhar uma <section> dá aos seus cabeçalhos um nível implícito mais baixo — você não precisa descer de <h1> para <h2> dentro de uma seção aninhada.” Não — isso é um resquício do antigo algoritmo de contorno de documento do HTML5, que teria calculado um nível de cabeçalho implícito a partir do aninhamento de elementos de seção. Nenhum navegador ou leitor de tela jamais o implementou, e a especificação WHATWG HTML não define mais o cálculo de contorno dessa forma — o contorno hoje é apenas “todos os cabeçalhos no documento, em ordem de árvore.” Use <h1><h6> explícitos e corretamente ordenados independentemente de quão profundo seja o aninhamento de <section>/<article>; não confie em aninhamento para fazer o trabalho de nível de cabeçalho por você.

HTML semântico vs. SEO semântico — não os confunda

Por compartilharem uma palavra, esses dois são constantemente confundidos, e isso polui os resultados de busca para ambos:

  • HTML semântico = a marcação — quais elementos você usa para estruturar uma página.
  • SEO semântico = uma estratégia de conteúdo — construir autoridade tópica em torno de entidades e conceitos relacionados (o tipo de coisa que fica sob os pilares de Busca com IA e conteúdo, não aqui).

Se você chegou aqui a partir de uma busca por “SEO semântico” esperando modelagem de tópicos, isso é um artigo diferente. Este é estritamente sobre os elementos.

HTML semântico e rastreadores de IA/LLM

É aqui que o HTML semântico está silenciosamente se tornando mais relevante, e vou sinalizar isso como opinião do setor, não como declaração dos mecanismos de busca. Muitos rastreadores de LLM e mecanismos de resposta com IA não renderizam JavaScript — eles analisam o HTML que recebem. Marcação semântica limpa é muito mais fácil para eles trabalharem do que uma sopa de <div> profundamente aninhada. Como diz Barry Adams, “It’s much simpler for ChatGPT to parse a few dozen semantic HTML tags rather than several hundred (or even thousand) nested <div> tags,” (tradução) «É muito mais simples para o ChatGPT analisar algumas dezenas de tags HTML semânticas do que várias centenas (ou até milhares) de tags div aninhadas.» De forma mais ampla, “Semantic HTML markup on your webpages can help machine systems better understand your content and its value.” (tradução) «A marcação HTML semântica nas suas páginas da web pode ajudar sistemas de máquina a entender melhor seu conteúdo e seu valor.» Jono Alderson faz o mesmo argumento prospectivo — que um site é “an interface. An API. A dataset,” (tradução) «uma interface, uma API, um conjunto de dados» — não apenas uma experiência visual — e sua frase de efeito é todo o argumento para o uso correto: “If everything is a <div> or a <span>, then nothing is meaningful.” (tradução) «Se tudo é um div ou um span, então nada é significativo.» Trate tudo isso como uma boa razão direcional para manter sua marcação limpa, não como uma promessa do Google ou do Bing.

Como auditar e reformar páginas existentes

A maioria dos sites reais já é uma sopa de divs, e você não os reconstrói da noite para o dia. Uma ordem pragmática de reforma:

  • Estabeleça os marcos primeiro. Garanta que haja exatamente um <main>, um <header> de documento, <footer> e um <nav> para o menu principal. Esses elementos de marco fazem o maior trabalho tanto para a extração de conteúdo principal quanto para a acessibilidade.
  • Converta blocos autocontidos em <article>. Postagens de blog, cards de produto, comentários — qualquer coisa que possa se sustentar sozinha em um feed.
  • Converta grupos temáticos genuínos em <section> — mas apenas onde houver um título real. Se não houver um, deixe como <div>.
  • Mova barras laterais e caixas de conteúdo relacionado para <aside>.
  • Corrija links falsos e botões falsos. Um <div> estilizado com um manipulador de clique deve se tornar um <a href> (se navegar) ou um <button> (se agir na página) — esse geralmente é o ajuste único de maior valor para usuários de teclado e leitores de tela.
  • Converta grades de <div> semelhantes a tabelas em <table> reais onde o conteúdo é genuinamente tabular, com <caption> e <th> para as células de cabeçalho.
  • Não converta demais. Um <div> usado puramente como gancho de estilo/layout está correto. Nem tudo precisa de um elemento semântico; forçar um é um erro por si só.
  • Verifique, não presuma. Confira a árvore de acessibilidade nas DevTools do seu navegador — ela expõe os papéis de marco que sua marcação produz, que é a mesma estrutura que as máquinas leem.

Como isso se encaixa no hub de SEO de HTML

Este artigo é um mergulho profundo sob o hub pai de SEO de HTML, que cobre a questão mais ampla de como os mecanismos de busca analisam e usam seu HTML — hierarquia de títulos, validade de HTML e como parsers tolerantes lidam com marcação bagunçada. Eu deliberadamente mantive esta página focada nos elementos semânticos em si e deixei esses tópicos para o hub e seus artigos irmãos. O HTML semântico também se combina diretamente com dados estruturados: a marcação dá ao seu schema uma base confiável, e os dois fazem trabalhos complementares.

Perguntas frequentes

O HTML semântico ajuda no SEO ou é apenas para acessibilidade? Ambos — ele ajuda os mecanismos de busca a identificar seu conteúdo principal e é essencial para a acessibilidade. Mas não é um fator de ranqueamento.

Usar a tag <article> melhora o ranqueamento? Não. Mueller: ela “não tem nenhum efeito particular no Google Search.”

Qual é a diferença entre <article> e <section>? <article> é conteúdo autocontido que poderia ser exibido isoladamente em um feed; <section> é um agrupamento temático com seu próprio título. Nenhum dos dois substitui <div>.

Posso ter mais de um elemento <main> em uma página? Não — apenas um <main> por página.

O Google exige HTML válido para ranquear uma página? Não — a maior parte da web não tem HTML válido, e o Google “raramente pode depender de significados semânticos ocultos na especificação HTML.”

HTML semântico é o mesmo que SEO semântico? Não — um é marcação, o outro é estratégia de conteúdo tópico/entidade.

Devo usar <a> ou <button> para um elemento clicável? Depende do que ele faz. Se navega para uma URL ou fragmento, use <a href>. Se executa uma ação na página atual (enviar, alternar, abrir um modal), use <button>. Não finja um com um <div> estilizado e um manipulador de clique.

Aninhar <section> muda o nível de título que devo usar? Não. O antigo algoritmo de contorno de documento do HTML5 — que teria calculado um nível de título implícito a partir do aninhamento de seções — nunca foi implementado por nenhum navegador ou leitor de tela, e a especificação atual não define contornos dessa forma. Use <h1><h6> explícitos e na ordem correta, independentemente da profundidade do aninhamento.

HTML semântico correto ou dados estruturados garantem um resultado rico? Não. A própria documentação de dados estruturados do Google diz que a marcação suportada não garante uma apresentação específica na busca — a elegibilidade para um recurso é separada de se sua marcação é tecnicamente válida.

Evidence for this claim Semantic HTML and search structured data are distinct layers: native elements describe document content and controls, while supported structured-data markup supplies feature-specific machine-readable properties; valid markup does not guarantee a rich result or ranking gain. Scope: supported structured-data features Confidence: high · Verified: Introduction to structured data markup in Google Search

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.