Saltar al contenido
duxt

SEO

Qué emite cada página para los rastreadores y las tarjetas sociales, qué módulo lo escribe, y el único valor que la capa no puede adivinar.

Cada página emite un head completo, una descripción estructurada de sí misma, una tarjeta social y una entrada en la sitemap. Casi todo lo escribe Nuxt SEO, que la capa instala como un solo paquete; el resto es la parte que depende de versiones y traducciones, y esa es propia de la capa. Un valor tiene que venir de ti.

Por página

  • Meta — el título con el nombre del sitio añadido, la descripción y el par og:/twitter: derivado de ambos. og:type y og:url se fijan por página; og:locale y sus alternativas salen de los idiomas que sirve el sitio.
  • JSON-LD — un grafo por página: un WebSite (y tu Organization, una vez definida) declarados para todo el sitio, más un TechArticle y una BreadcrumbList construida con el mismo rastro que dibuja la miga de pan.
  • Una imagen de Open Graph, renderizada desde la plantilla propia de la capa — también en la página de inicio. Publica un componente con el mismo nombre para reemplazarla.
  • canonical y robots, que son la mitad de versión — ver URL y versiones. El canónico de una versión antigua apunta a la actual, y por eso lo escribe la capa en lugar de dejar el automático del módulo.

La página de error lleva noindex, follow: una 404 indexada compite con la página que buscaba quien lee, y las sugerencias que ofrece son páginas reales a las que un rastreador todavía debe llegar.

Para todo el sitio

/sitemap.xml lista las páginas de la versión por defecto, por idioma. Una versión que no es la por defecto queda excluida porque sus páginas llevan noindex de todos modos, y una versión eol queda excluida sea o no la por defecto: listar cualquiera de las dos pide a un rastreador que traiga justo lo que la página le dirá luego que descarte. /robots.txt se genera al lado.

duxt.organization es lo que nombra a quien publica — ver Configuración. Sin definir, el sitio sigue describiéndose como un WebSite; lo que pierde es la entidad detrás, que es lo que lee un panel de conocimiento o un resumen de IA para acreditar una fuente.

Qué se comprueba y qué solo se informa

pnpm check:seo lee las páginas construidas y falla ante un segundo canonical, un hreflang ausente, una página de error indexable, un og:locale con formato incorrecto o un grafo que no se analiza. Se ejecuta en pnpm check después de la compilación, porque estas etiquetas solo existen en el HTML renderizado.

El verificador de enlaces informa en lugar de fallar. Un enlace que no lleva a ninguna parte ya hace fallar la compilación mediante las comprobaciones de compilación propias de la capa, que son las que entienden versiones y respaldos de idioma; el valor del módulo aquí es el panel de devtools y la comprobación en vivo mientras se escribe.

El único valor que debes declarar

El origen. hreflang, canonical, el sitemap y las imágenes de Open Graph son todas URL absolutas, y una capa no puede conocer el dominio en el que se desplegará. Define i18n.baseUrl o NUXT_PUBLIC_I18N_BASE_URL; la capa lo copia a site.url, que es donde miran los módulos de SEO.

Si no se define, cada uno de ellos degrada a salida relativa en lugar de inventar un dominio. Esa es la elección deliberada: un canonical relativo sigue resolviéndose correctamente, y uno adivinado es activamente erróneo — apuntaría a un rastreador al sitio de otra persona.

Una variable más para un despliegue progresivo

NUXT_OG_IMAGE_SECRET firma las URL de las imágenes de Open Graph. Sin ella se genera un secreto por compilación, lo cual está bien con una instancia y mal con dos: una tarjeta cuya URL firmó una instancia es rechazada por la siguiente, así que un enlace compartido durante un despliegue progresivo pierde su imagen. Genérala una vez; no rota.

¿Le ha resultado útil esta página?