Publicado em
·

HTML Semântico: o que é, tags e como melhora o SEO

Autores
Tela de código HTML semântico com tags header, nav e article destacadas

HTML semântico é escrever HTML (HyperText Markup Language) com tags de significado próprio — como <header>, <nav>, <main>, <article> e <footer> — que descrevem o papel de cada bloco. Essa clareza melhora a acessibilidade, orienta leitores de tela e ajuda os mecanismos de busca a indexar a página.

O que é HTML?

O HTML (HyperText Markup Language, ou Linguagem de Marcação de Hipertexto) é a base da maioria das páginas da web. É uma linguagem de marcação que estrutura o conteúdo da internet por meio de elementos, ou "tags", que definem texto, imagens, links e mídia.

Cada tag descreve a função de um elemento na página e como o navegador deve interpretá-lo. É o HTML que organiza o conteúdo online e o torna legível e acessível dentro do navegador. Ele forma, junto com o CSS e o JavaScript, o tripé do desenvolvimento web moderno.

O que é HTML semântico?

HTML semântico é a marcação que atribui significado aos elementos, e não apenas aparência. Em vez de usar <div> para tudo, você escolhe tags que dizem o que o conteúdo representa: um cabeçalho é um <header>, um menu é um <nav>, um artigo é um <article>.

A ênfase na semântica ganhou força com o HTML5, que introduziu elementos estruturais dedicados. Enquanto o HTML tradicional foca em como o conteúdo é organizado visualmente, o HTML semântico descreve o que ele significa. Isso beneficia dois públicos ao mesmo tempo: desenvolvedores, que leem o código mais rápido, e máquinas — leitores de tela e mecanismos de busca — que interpretam o conteúdo com mais precisão. Assim como o CSS controla a apresentação visual do frontend, o HTML semântico cuida do significado da estrutura.

Por que o HTML semântico melhora o SEO e a acessibilidade?

O HTML semântico melhora SEO e acessibilidade porque expõe a estrutura da página de forma explícita. Mecanismos de busca usam a hierarquia de cabeçalhos e os marcos de região (<main>, <nav>, <header>) para entender a importância relativa de cada bloco, enquanto tecnologias assistivas usam essas mesmas tags para permitir uma navegação rápida.

Os números confirmam a relevância dessa estrutura. Segundo o Web Almanac 2024, da HTTP Archive, 70% das páginas no desktop usam a tag <h1> e 71% usam <h2>, indicando que a hierarquia semântica de cabeçalhos já é prática dominante. O mesmo relatório aponta que a mediana dos sites móveis tem texto alternativo (alt) descritivo em 58% das imagens, contra 54% em 2022.

Do lado da acessibilidade, a Pesquisa com Usuários de Leitores de Tela nº 10 da WebAIM (2024) mostra que 88,8% dos entrevistados consideram os cabeçalhos úteis para navegar, tornando-os o método predominante de localização de conteúdo. Já os landmarks (marcos de região) são usados sempre ou com frequência por 31,7% dos usuários — motivo extra para marcar <main>, <nav> e <header> corretamente. Boas práticas de estrutura conversam diretamente com heurísticas de usabilidade como as de Nielsen.

Quais são as principais tags semânticas de estrutura?

As tags semânticas de estrutura organizam o esqueleto da página. Cada uma delimita um tipo de bloco com papel bem definido, o que ajuda tanto o desenvolvedor quanto navegadores e buscadores. A tabela abaixo resume as mais importantes:

TagPara que serve
<header>Cabeçalho de página ou seção
<nav>Bloco de links de navegação
<main>Conteúdo único e principal da página
<article>Conteúdo autônomo, como um post
<aside>Conteúdo complementar à parte
<footer>Rodapé com autoria e links

<header> e <section>: cabeçalhos e seções

O elemento <header> define o cabeçalho de uma página ou seção, podendo conter títulos, imagens e listas de navegação. O elemento <section> delimita seções de conteúdo, geralmente acompanhadas de um título.

Veja um exemplo simples de uso do <header>:

<header>
  <h1>Título da página</h1>
  <h2>Subtítulo da página</h2>
</header>
Diferentemente da tag <head>, é possível incluir vários elementos <header> em uma única página.
Dica: experimente rodar na sua própria máquina ou teste no Codepen.

Veja um exemplo simples de uso da <section>:

<section>
  <h2>Subtítulo da página</h2>
  <div>
    <p>Lorem ipsum dolor sit amet, consectetur adipisci elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua.</p>
    <hr/>
  </div>
</section>

<main> e <article>: conteúdo principal

O <article> é usado quando você apresenta um conteúdo que faz sentido por si só, como um post de blog. É uma boa prática associar cada <article> a um título. O elemento <main> guarda o conteúdo mais relevante da página, e o ideal é haver apenas um <main> por documento.

Veja um exemplo do uso da <article>:

<article>
  <h2>Título do artigo 1</h2>
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod ...</p>
</article>
<article>
  <h2>Título do artigo 2</h2>
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod ...</p>
</article>

Veja um exemplo do uso da <main>:

<main>
  <h2>Título</h2>
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod ...</p>
  <article>
    <h3>Subtítulo</h3>
    <p>Duis aute irure dolor in reprehenderit in voluptate velit esse cillum...</p>
  </article>
</main>

O elemento <nav> agrupa links de navegação, facilitando a experiência do usuário e a indexação por mecanismos de busca. Dentro de <nav>, o elemento <a> cria os links propriamente ditos, permitindo o trânsito entre páginas ou seções do site.

Veja um exemplo simples de uso da <nav> e <a>:

<nav>
  <a href="#portfolio">Portfólio</a>
  <a href="#projetos">Projetos</a>
  <a href="#contato">Contato</a>
</nav>

<aside>: conteúdo complementar

Quando você tem informações adicionais que enriquecem o conteúdo principal, mas não são essenciais para entendê-lo, use a tag <aside>. Ela é útil para sugestões de leitura complementar ou anúncios.

Veja um exemplo simples de uso da <aside>:

<aside>
  <nav>
    <ul>
      <li>Link 1</li>
      <li>Link 2</li>
      <li>Link 3</li>
      <li>Link 4</li>
    </ul>
  </nav>
</aside>

<figure> e <figcaption>: imagens com legenda

Para adicionar imagens ou gráficos de forma semântica, o HTML5 introduziu a tag <figure>. Para descrever essas imagens, use <figcaption>, aninhada dentro de <figure>.

Veja um exemplo simples de uso da <figure>:

<figure>
  <img src="http://meusite.com.br/assets/imagem.jpg" alt="Imagem">
</figure>

Exemplo de uso de <figure> com <figcaption>:

<figure>
  <img src="http://meusite.com.br/assets/imagem.jpg" alt="Imagem">
  <figcaption>Figura 1. Imagem</figcaption>
</figure>

O <footer> é geralmente usado no final de uma página para fornecer informações como autoria, direitos autorais e links adicionais. É uma parte importante para adicionar credibilidade e transparência ao conteúdo.

Exemplo de uso de <footer>:

<footer>
  <p>Escrito por Henrico Piubello</p>
  <p>Publicado em 11/09/2023</p>
</footer>

Como marcar ênfase e citações com tags semânticas de texto?

Além da estrutura, o HTML semântico também dá sentido ao texto corrido. Enquanto tags de estrutura organizam blocos, as tags de texto comunicam intenção — ênfase, importância, citação ou data — a leitores de tela e buscadores.

<em> e <strong>

O <em> enfatiza um trecho, enquanto <strong> indica importância. São preferíveis a <i> e <b>, que tratam apenas da aparência.

<p>Você <em>tem certeza</em> que deseja encerrar a aplicação?</p>

<cite>, <q> e <time>

Se você cita uma fonte externa, a tag <cite> identifica a origem, geralmente em conjunto com <q>, que apresenta a citação. Já o elemento <time>, com o atributo datetime, padroniza a representação de datas.

<p>
  <q>Lorem ipsum dolor sit amet, consectetur</q> - <cite>http://br.lipsum.com/</cite>.
</p>
<time datetime="2023-09-11">11/09/2023</time>

Como fica uma página HTML semântica completa?

Reunindo as tags anteriores, você obtém uma página cuja estrutura é autoexplicativa. O exemplo abaixo mostra o CodeCrush usando marcos de região do começo ao fim, na arquitetura típica de um projeto de desenvolvimento web moderno:

<!DOCTYPE html>
<html lang="pt-BR">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Exemplo de HTML Semântico - CodeCrush</title>
</head>
<body>
  <header>
    <h1>CodeCrush</h1>
    <nav>
      <ul>
        <li><a href="/">Página Inicial</a></li>
        <li><a href="/sobre">Sobre Nós</a></li>
        <li><a href="/contato">Contato</a></li>
      </ul>
    </nav>
  </header>

  <main>
    <article>
      <h2>Artigo Principal</h2>
      <p>Este é o conteúdo principal do CodeCrush.</p>
      <time datetime="2023-09-11">Publicado em 11 de setembro de 2023</time>
    </article>

    <aside>
      <h3>Barra Lateral</h3>
      <p>Informações adicionais podem ser encontradas aqui.</p>
    </aside>
  </main>

  <footer>
    <p>&copy; 2023 CodeCrush. Todos os direitos reservados.</p>
  </footer>
</body>
</html>

Os comentários explicativos de cada elemento:

  • <header>: cabeçalho do documento, geralmente com logotipo e navegação.
  • <nav>: seção de navegação.
  • <ul>: lista não ordenada para agrupar os itens de navegação.
  • <li>: item da lista.
  • <main>: conteúdo principal do documento.
  • <article>: conteúdo autônomo e autoexplicativo, como um artigo ou post.
  • <aside>: conteúdo relacionado, separado do conteúdo principal.
  • <time>: data ou hora, útil para indicar a data de publicação.
  • <footer>: rodapé do documento, com direitos autorais e notas finais.

Conclusão

Trocar <div> genérica por tags semânticas não custa esforço extra e paga dividendos em três frentes: código mais legível, páginas acessíveis a quem usa leitor de tela e conteúdo mais fácil de indexar. Com buscas por IA valorizando estrutura clara e legível por máquinas, escrever HTML semântico deixou de ser detalhe de boas práticas para virar vantagem competitiva. Na próxima vez que for marcar uma página, deixe a <div> para o que realmente não tem significado — e use a tag certa para todo o resto.

## faq

Perguntas frequentes

O que é HTML semântico?

HTML semântico é o uso de tags que descrevem o significado do conteúdo, como header, nav, main, article e footer, em vez de apenas div e span. Ele torna a estrutura da página compreensível para navegadores, leitores de tela e mecanismos de busca, melhorando acessibilidade e SEO.

Qual a diferença entre HTML semântico e não semântico?

O HTML não semântico usa elementos genéricos como div e span, que não indicam o papel do conteúdo. O HTML semântico usa tags com significado, como article e nav, que descrevem a função de cada bloco. Essa diferença ajuda a acessibilidade, a manutenção do código e a indexação por buscadores.

HTML semântico melhora o SEO?

Sim, de forma indireta. Tags semânticas ajudam os mecanismos de busca a entender a estrutura e a hierarquia da página, o que favorece a indexação. Segundo o Web Almanac 2024, 70% das páginas já usam h1 e 71% usam h2, sinal de que a hierarquia semântica é prática consolidada.

Quais são as principais tags semânticas do HTML5?

As principais tags de estrutura são header, nav, main, section, article, aside e footer. Para o texto, destacam-se em, strong, cite, q e time. Cada uma comunica um papel específico, tornando o documento mais claro para desenvolvedores, leitores de tela e buscadores.

Vale a pena usar HTML semântico em 2026?

Sim. HTML semântico é o padrão recomendado pela WHATWG e pela MDN, custa o mesmo esforço que a marcação genérica e traz ganhos reais em acessibilidade, SEO e manutenção. Com a ascensão das buscas por IA, uma estrutura clara e legível por máquinas se torna ainda mais valiosa.

Temas deste artigo

## continue lendo

Continue navegando

Sobre o autor

Foto de Henrico Piubello

Henrico Piubello

Especialista de TI - Grupo Voitto · Grupo Voitto

Ver perfil e todos os artigos →