A nivel visual, un <div> con la clase "cabecera" y un elemento <header> pueden parecer idénticos para el usuario final. Sin embargo, para los rastreadores de Google, los lectores de pantalla y otros desarrolladores, la diferencia es abismal. El HTML semántico utiliza etiquetas que describen el propósito del contenido en lugar de su apariencia estética. En esta guía, exploraremos las etiquetas esenciales para modernizar tu código y mejorar tu ranking SEO.

Código No Semántico vs. Estructura Semántica

❌ No Semántico (Sopa de divs)
<div class="header">
  <div class="nav">
    <div class="nav-item"><a href="/es/">Inicio</a></div>
  </div>
</div>
<div class="main">
  <div class="article">
    <div class="title">Mi Entrada de Blog</div>
    <div class="content">...</div>
  </div>
  <div class="sidebar">...</div>
</div>
<div class="footer">...</div>
✅ Semántico (Estructura Clara)
<header>
  <nav aria-label="Navegación principal">
    <a href="/es/">Inicio</a>
  </nav>
</header>
<main>
  <article>
    <h1>Mi Entrada de Blog</h1>
    <p>...</p>
  </article>
  <aside>...</aside>
</main>
<footer>...</footer>

Los Elementos Semánticos Fundamentales

<header>

Contiene material introductorio o enlaces de navegación. Suele albergar el logotipo, el menú principal y el buscador. No se limita a la parte superior de la web; puedes usarlo dentro de un <article> para su propio encabezado.

<nav>

Define un bloque de enlaces de navegación. Es crucial para el SEO, ya que indica a Google qué secciones son las más importantes del sitio. Úsalo para el menú principal, migas de pan (breadcrumbs) o índices de contenidos.

<main>

Representa el contenido principal y único del documento. Solo debe existir un <main> por página y no debe contener elementos repetitivos como barras laterales o pies de página globales.

<article>

Representa una composición autónoma. Es contenido que tiene sentido por sí mismo si se extrae y se distribuye individualmente, como un post, un comentario de usuario o una tarjeta de producto.

<section>

Se utiliza para agrupar contenido temático relacionado, generalmente con un encabezado propio. Si el contenido no se puede distribuir de forma aislada (como un <article>), pero es una sección lógica, usa esta etiqueta.

<aside>

Sección que contiene información relacionada tangencialmente con el contenido principal. Es el lugar ideal para barras laterales, glosarios, publicidad o enlaces a artículos relacionados.

<footer>

El pie de página. Aquí se incluye información de autoría, copyright, datos de contacto y enlaces a documentos legales.

<figure> y <figcaption>

Imagen con Pie de Foto
<figure>
  <img src="grafica.png" alt="Gráfico de ingresos mensuales mostrando crecimiento">
  <figcaption>Fig. 1: Incremento de ingresos en el primer semestre de 2025</figcaption>
</figure>

<time>

Fechas Legibles por Máquinas
<time datetime="2025-07-08">8 de julio de 2025</time>
<time datetime="2025-07-08T14:30:00Z">14:30 UTC</time>

Jerarquía de Encabezados (H1-H6)

Estructura Correcta de Títulos
<!-- ✅ Correcto: Jerarquía lógica -->
<h1>Título de la Página</h1>
  <h2>Sección Principal</h2>
    <h3>Subtema A</h3>
    <h3>Subtema B</h3>
  <h2>Otra Gran Sección</h2>

<!-- ❌ Incorrecto: Niveles saltados -->
<h1>Título de la Página</h1>
  <h4>Subtítulo aleatorio</h4>  <!-- ¡Se saltó el h2 y h3! -->

Beneficios del HTML Semántico

  • SEO Superior: Los motores de búsqueda comprenden mejor la jerarquía de tu web. Un <nav> le dice a Google: "estos son los enlaces clave", mientras que un <article> señala el contenido de valor.
  • Accesibilidad Web: Los lectores de pantalla utilizan etiquetas semánticas como puntos de referencia (landmarks). Un usuario con discapacidad visual puede saltar directamente al <main> evitando menús repetitivos.
  • Código Profesional: Un archivo estructurado con <header> es más fácil de mantener que uno lleno de <div class="container-top-v2">.
  • Modo Lectura: Navegadores como Safari o Firefox usan <article> para extraer el texto limpio y ofrecer una mejor experiencia de lectura.

Optimiza tu Código con Pan Tool

Utiliza nuestras herramientas gratuitas para limpiar y procesar tu código HTML al instante.