Lección: Cabeceras y metadatos
La sección <head> de una página HTML contiene instrucciones para el navegador, como el título de la pestaña, la codificación de caracteres, o información para buscadores. Aunque no se ve en la página, es crucial para que tu web funcione bien y sea encontrada en internet.
En esta lección aprenderás a usar la declaración <!DOCTYPE>, la etiqueta <head>, y los metadatos con <meta>, <title>, y <link>. Verás cómo estos elementos ayudan a navegadores, buscadores, y redes sociales, usando HTML5 moderno.
¿Qué es <head>?
La etiqueta <head> va dentro de <html> y contiene información sobre la página, como:
- Título: Aparece en la pestaña del navegador.
- Codificación: Define cómo mostrar caracteres como
é(por ejemplo, en Pérez). - Metadatos: Datos para buscadores (Google) o redes sociales (Facebook, Twitter).
- Enlaces a CSS: Para dar estilo a la página.
A diferencia de <body> (que muestra contenido), <head> da instrucciones al navegador y no es visible
en la página.
La declaración <!DOCTYPE>
La declaración <!DOCTYPE> va al inicio de todo documento HTML, antes de <html>. Indica al navegador
que la página está escrita en HTML y qué versión usa. En HTML5, es simple:
<!DOCTYPE html>
¿Por qué es importante?
- Asegura que los navegadores interpreten la página en Standards Mode (modo estándar), mostrando el HTML correctamente.
- Sin
<!DOCTYPE>, los navegadores usan Quirks Mode (modo antiguo), que puede causar errores de visualización.
Contexto histórico
En versiones antiguas (HTML 4.01, XHTML), los DOCTYPEs eran complejos y especificaban una DTD (Definición de Tipo de Documento). Por ejemplo:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
En HTML5, <!DOCTYPE html> simplifica todo: es corto, universal, y suficiente para páginas modernas.
Nota: No uses DOCTYPEs antiguos; solo <!DOCTYPE html>.
La etiqueta <title>
La etiqueta <title> va dentro de <head> y define el título de la página, visible en:
- La pestaña del navegador.
- Los resultados de buscadores.
- Los marcadores (favoritos).
Ejemplo:
<head>
<title>Mi página web</title>
</head>
Resultado: La pestaña del navegador muestra "Mi página web".
Nota: Usa títulos descriptivos (por ejemplo, "Manual de HTML - example.net") para mejorar el SEO (optimización para buscadores).
Metadatos con <meta>
La etiqueta <meta> es un elemento vacío (sin cierre) que añade metadatos: información sobre la página para navegadores, buscadores, o redes sociales. Usa pares propiedad:valor con atributos como name, http-equiv, o property.
<meta charset>: Codificación
Define el juego de caracteres, como UTF-8, para mostrar letras como é o ñ (por ejemplo, en Pérez). Reemplaza la
antigua <meta http-equiv="content-type">.
Ejemplo:
<meta charset="UTF-8">
<meta name="description">: Descripción
Proporciona una breve descripción de la página para buscadores. Mejora el SEO y aparece en los resultados de búsqueda.
Ejemplo:
<meta name="description" content="Manual de HTML para principiantes, con ejemplos prácticos.">
<meta name="keywords">: Palabras clave
Lista palabras que resumen el contenido. Aunque menos influyentes hoy, ayudan a buscadores.
Ejemplo:
<meta name="keywords" content="HTML, manual, principiantes, web">
Nota: Usa palabras relevantes; evita trampas como repetir "gratis" o palabras irrelevantes.
<meta name="author">:Autor
Indica quién creó la página.
Ejemplo:
<meta name="author" content="Ignside.net">
<meta name="robots">: Instrucciones para buscadores
Controla cómo los buscadores indexan la página:
index: Indexar la página.noindex: No indexar.follow: Seguir enlaces.nofollow: No seguir enlaces.
Ejemplo:
<meta name="robots" content="index,follow">
Nota: Útil para páginas privadas (noindex) o públicas (index,follow).
<meta name="viewport">: Diseño adaptable
Asegura que la página se vea bien en móviles, ajustando el ancho al dispositivo.
Ejemplo:
<meta name="viewport" content="width=device-width, initial-scale=1.0">
Open Graph: Redes sociales
Las etiquetas <meta property="og:..."> controlan cómo se ve la página al compartirse en redes sociales (Facebook,
Twitter, WhatsApp). Ejemplos:
og:title: Título.og:description: Descripción.og:image: Imagen.
Ejemplo:
<meta property="og:title" content="Manual de HTML">
<meta property="og:description" content="Aprende HTML desde cero con ejemplos.">
<meta property="og:image" content="https://example.net/imagen.jpg">
Enlazar CSS con <link>
La etiqueta <link> conecta la página con archivos externos, como hojas de estilo CSS. Va en <head> y
usa rutas relativas o absolutas (ver lección de rutas).
Ejemplo:
<link rel="stylesheet" href="estilos.css">
Nota: Prepara para el manual de CSS, donde aprenderás a dar estilo a tu página.
Ejemplo completo
Aquí tienes una página con un <head> completo:
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Manual de HTML - Ignside.net</title>
<meta name="description" content="Manual de HTML para principiantes, con ejemplos prácticos.">
<meta name="keywords" content="HTML, manual, principiantes, web">
<meta name="author" content="example.net">
<meta name="robots" content="index,follow">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="og:title" content="Manual de HTML">
<meta property="og:description" content="Aprende HTML desde cero con ejemplos.">
<meta property="og:image" content="https://example.net/imagen.jpg">
<link rel="stylesheet" href="estilos.css">
</head>
<body>
<h1>Bienvenido a mi web</h1>
<p>Aprende HTML con este manual.</p>
</body>
</html>
Consejos para evitar problemas
- Siempre usa
<!DOCTYPE html>: Colócalo al inicio para evitar Quirks Mode. - Declara UTF-8: Usa
<meta charset="UTF-8">. - Título descriptivo: Escribe
<title>claro y relevante para SEO. - Metadatos para SEO: Usa
descriptionykeywordsprecisos, sin abusar. - Prueba en móviles: Incluye
<meta name="viewport">y verifica en un teléfono. - Evita metadatos obsoletos: No uses
<meta http-equiv="refresh">ni<meta http-equiv="pragma">; son antiguos y pueden causar problemas. - Prueba en navegadores: Abre la página en Chrome, Firefox, o Safari para confirmar que el título y los metadatos funcionan.
- el atributo
langdescribe el idioma principal del contenido de la página.