SEO en Drupal 11: qué hace el núcleo y qué módulos instalar
Publicado el 07-10-202610 min de lecturaPor la redacción de SmoothSeen
El SEO de Drupal se resuelve con el núcleo y cinco módulos: Metatag para títulos, descripciones y canonical; Pathauto para URL legibles; Redirect para los 301; Simple XML Sitemap para el sitemap, y Schema.org Metatag para el JSON-LD. El núcleo ya pone canonical, hreflang y dos cabeceras de seguridad. Todo lo que sigue vale para Drupal 10.6 y 11.4.
Lo esencial
- La versión actual es Drupal 11.4 (11.4.8, del 26-09-2026); Drupal 12 sale la semana del 7-12-2026 y Drupal 10 llega al fin de vida el 9-12-2026.
- El núcleo ya pone canonical en nodos, términos y usuarios, añade hreflang con Content Translation y envía X-Frame-Options y X-Content-Type-Options.
- Cinco módulos cubren el resto del SEO: Metatag, Pathauto, Redirect, Simple XML Sitemap y Schema.org Metatag; Security Kit añade HSTS, CSP y Referrer-Policy.
- El robots.txt es un fichero del scaffold de Composer y se sobrescribe al actualizar; los añadidos van en un fichero aparte con «append».
- Redirect crea un 301 cuando cambia un alias y redirige a la URL canónica por defecto.
Para comprobarlo en tu web: Auditoría SEO
En esta página
- ¿Qué versión de Drupal usar en octubre de 2026?
- ¿Qué hace el núcleo de Drupal por el SEO sin módulos?
- ¿Qué módulos de SEO instalar en Drupal 11?
- ¿Cómo se configuran Metatag, Pathauto y Redirect?
- ¿Cómo se configura el robots.txt de Drupal sin perderlo al actualizar?
- ¿Cómo se genera el sitemap XML en Drupal?
- ¿Cómo se añaden datos estructurados en Drupal?
- ¿Cómo se añaden HSTS y CSP en Drupal?
- Cómo comprobarlo
- Qué hace SmoothSeen con esto
- Qué hacer esta semana
- Preguntas frecuentes
Drupal es un gestor de contenidos de código abierto en PHP que se instala y se actualiza con Composer. Controla las URL, el <title>, el canonical, el hreflang, el robots.txt (un fichero en la raíz) y parte de las cabeceras HTTP. No controla el servidor: la redirección de http a https, la compresión del HTML y la caché del CDN dependen de Apache, Nginx o tu alojamiento. Las etiquetas del panel se citan en inglés, tal como salen del código; con el español instalado verás la traducción en el mismo sitio.
¿Qué versión de Drupal usar en octubre de 2026?
La rama actual es Drupal 11.4, publicada la semana del 29-06-2026; su última versión es la 11.4.8, del 26-09-202612. Drupal 12 saldrá la semana del 7-12-2026, y Drupal 10 llega al fin de vida el 9-12-20261. Si sigues en la 10, el salto a la 11 es para este trimestre. Antes de pasar a la 12, comprueba en la página de cada módulo si ya declara compatibilidad.
- Qué
- Alias de URL
- Núcleo de Drupal 11
- Sí, a mano, con el módulo Path
- Módulo
- Pathauto, por patrones
- Qué
- Canonical
- Núcleo de Drupal 11
- Sí, en nodos, términos y usuarios
- Módulo
- Metatag lo personaliza
- Qué
- Meta descripción
- Núcleo de Drupal 11
- No
- Módulo
- Metatag
- Qué
- hreflang
- Núcleo de Drupal 11
- Sí, con Content Translation, salvo en la portada
- Módulo
- Simple XML Sitemap lo repite en el sitemap
- Qué
- Redirecciones 301
- Núcleo de Drupal 11
- No
- Módulo
- Redirect
- Qué
- Sitemap XML
- Núcleo de Drupal 11
- No
- Módulo
- Simple XML Sitemap
- Qué
- Datos estructurados
- Núcleo de Drupal 11
- No
- Módulo
- Schema.org Metatag
- Qué
- Cabeceras de seguridad
- Núcleo de Drupal 11
- X-Frame-Options y X-Content-Type-Options
- Módulo
- Security Kit
Si instalas Drupal CMS en lugar del núcleo a secas, sus recetas Basic SEO y SEO Tools ya instalan Pathauto, Redirect, Metatag, Simple XML Sitemap y Real-time SEO, y suben la caché del navegador a 15 minutos34.
¿Qué hace el núcleo de Drupal por el SEO sin módulos?
Más de lo que parece. Esto sale del código de Drupal 11.4.8:
- Canonical. Cualquier página de entidad con URL propia (un nodo, un término de taxonomía, un usuario) recibe
<link rel="canonical">con la URL absoluta y unrel="shortlink"con la ruta sin alias5. La URL absoluta usa el dominio por el que llegó la petición, así que si tu web responde con y sinwww, o por http y https, cada variante declara su propio canonical. Arréglalo en el servidor: el.htaccessde Drupal trae comentadas las dos reglas para forzar o quitar elwww6. - hreflang. Con el módulo Content Translation activo, las páginas de contenido traducido llevan sus
<link rel="alternate" hreflang>. La portada no: el código la excluye a propósito7. - Título. El
<title>sale como «título de la página | nombre del sitio». - Cabeceras. Cada respuesta lleva
X-Content-Type-Options: nosniffy, si nadie ha puesto otra,X-Frame-Options: SAMEORIGIN8. - Velocidad. El perfil Standard activa Internal Page Cache, Dynamic Page Cache y BigPipe, y la agregación de CSS y JavaScript viene activada910.
Revisa un ajuste en Configuration > Development > Performance (Configuración > Desarrollo > Rendimiento): Browser and proxy cache maximum age (edad máxima de caché del navegador y del proxy) viene en <no caching> (sin caché)10. Con ese valor, ni el navegador ni un CDN guardan el HTML. Súbelo a 15 minutos o más si no tienes contenido que deba verse al instante. La compresión gzip o Brotli del HTML no la hace Drupal: el .htaccess solo sirve comprimidos el CSS y el JavaScript agregados6. Para el resto, la guía de compresión y caché con Apache .htaccess trae los bloques.
¿Qué módulos de SEO instalar en Drupal 11?
Estos seis módulos cubren lo que le falta al núcleo, y los seis declaran en drupal.org compatibilidad con Drupal 10 y 11:
- Módulo
- Metatag
- Versión estable
- 2.2.0
- Para qué
- Título, descripción, canonical, Open Graph y Twitter Cards por tipo de contenido y por nodo11
- Módulo
- Pathauto
- Versión estable
- 8.x-1.15
- Para qué
- Alias automáticos con patrones de tokens12
- Módulo
- Redirect
- Versión estable
- 8.x-1.13
- Para qué
- Redirecciones 301 y registro de 404 con Redirect 40413
- Módulo
- Simple XML Sitemap
- Versión estable
- 4.2.3
- Para qué
- Sitemap con hreflang, imágenes y varios sitemaps14
- Módulo
- Schema.org Metatag
- Versión estable
- 3.1.0
- Para qué
- JSON-LD en el
<head>a través de Metatag15
- Módulo
- Security Kit
- Versión estable
- 2.0.3
- Para qué
- HSTS, CSP, Referrer-Policy y X-Frame-Options16
Se instalan con Composer y se activan con Drush:
composer require drupal/metatag drupal/pathauto drupal/redirect drupal/simple_sitemap drupal/schema_metatag drupal/seckit
drush en metatag metatag_open_graph pathauto redirect simple_sitemap schema_metatag schema_organization schema_article seckit -y¿Cómo se configuran Metatag, Pathauto y Redirect?
Metatag está en Configuration > Search and metadata > Metatag (/admin/config/search/metatag). Viene con valores por defecto sensatos17:
- Ámbito
- Global
- Título
- Título de la página y nombre del sitio
- Descripción
- Vacía
- Canonical
[current-page:url]
- Ámbito
- Content (nodos)
- Título
- Título del nodo y nombre del sitio
- Descripción
[node:summary]- Canonical
[node:url]
- Ámbito
- Taxonomy term
- Título
- Nombre del término y nombre del sitio
- Descripción
[term:description]- Canonical
[term:url]
- Ámbito
- 403 access denied
- Título
- El de Global
- Descripción
- La de Global
- Canonical
- La portada, con
noindex
El patrón del título de los nodos, tal como viene en la configuración de Metatag:
[node:title] | [site:name]La descripción de los nodos sale del resumen del campo Body: si tus redactores no lo rellenan, la meta descripción se queda pobre. Para escribirla a mano en cada nodo, añade al tipo de contenido un campo de tipo Meta tags.
Pathauto está en Configuration > Search and metadata > URL aliases > Patterns (/admin/config/search/path/patterns). Un patrón como blog/[node:title] convierte /node/123 en /blog/mi-articulo. De serie translitera («ñ» pasa a «n»), separa con guiones y limita el alias a 150 caracteres18. Un detalle: la lista de palabras que quita de los alias viene en inglés (a, an, the, of…). Cámbiala por la tuya o vacíala en la pestaña Settings.
Redirect está en Configuration > Search and metadata > URL redirects. Sus valores por defecto ya hacen lo correcto19:
- Automatically create redirects when URL aliases are changed (crear redirecciones al cambiar un alias): activado. Si Pathauto regenera un alias, la URL vieja responde con un 301.
- Default redirect status (estado por defecto): 301.
- Enforce clean and canonical URLs (forzar URL limpias y canónicas): activado. Redirige
/node/123a su alias, quita la barra final y añade el prefijo de idioma.
¿Cómo se configura el robots.txt de Drupal sin perderlo al actualizar?
El robots.txt de Drupal es un fichero del scaffold de Composer: cada composer install o actualización del núcleo lo vuelve a escribir. Si lo editas a mano, pierdes tus cambios en la siguiente actualización. La documentación de Drupal recomienda añadir líneas con append en lugar de excluir el fichero, para seguir recibiendo sus correcciones20. En el composer.json del proyecto:
{
"extra": {
"drupal-scaffold": {
"file-mapping": {
"[web-root]/robots.txt": {
"append": "assets/robots-anadido.txt"
}
}
}
}
}Y en assets/robots-anadido.txt, la línea Sitemap, que Google exige con URL completa21, y tu política para los rastreadores de entrenamiento:
# Entrenamiento de modelos: vetarlo no te saca de ChatGPT ni de Google
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: CCBot
Disallow: /
Sitemap: https://www.ejemplo.es/sitemap.xmlLo comprobamos con Protego, que aplica las reglas de Google, sobre el robots.txt de Drupal 11.4.8 con el añadido: los artículos, /sites/default/files/ y el CSS y JavaScript de /core/ quedan abiertos para Googlebot, OAI-SearchBot, Claude-SearchBot y PerplexityBot; /admin/, /user/login y las búsquedas quedan cerrados; GPTBot, ClaudeBot y CCBot quedan fuera de todo. El grupo de entrenamiento es opcional y editorial: quienes deciden si ChatGPT o Claude te citan son OAI-SearchBot y Claude-SearchBot, y Google-Extended no afecta a Google Search222324. La guía de rastreadores de IA y robots.txt explica cada uno.
Si gestionas varias webs con un solo código, el módulo RobotsTxt genera un robots.txt por web y se edita desde el panel; exige borrar o renombrar el fichero físico25.
¿Cómo se genera el sitemap XML en Drupal?
Con Simple XML Sitemap, que publica /sitemap.xml y lo regenera con el cron26. Tras instalarlo:
- En Configuration > Search and metadata > Simple XML Sitemap, pestaña Inclusion (
/admin/config/search/simplesitemap/entities), decide qué tipos de contenido y vocabularios entran. - Excluye en cada nodo lo que lleve
noindex: un sitemap solo debería listar URL que quieras indexadas. - En una web multilingüe, el sitemap incluye las alternativas hreflang de cada URL.
- Envía la URL del sitemap en Search Console y comprueba que coincide con la línea Sitemap del robots.txt.
¿Cómo se añaden datos estructurados en Drupal?
Con Schema.org Metatag, que añade a Metatag grupos de campos que se imprimen como JSON-LD en el <head>15. Cada tipo es un submódulo: schema_article, schema_organization, schema_product, schema_event, schema_recipe… Rellenas los campos con tokens en los valores por defecto de Metatag y, si hace falta, los cambias en cada nodo.
El @type del grupo Organization admite cualquier subtipo de Organization de schema.org, LocalBusiness incluido27: es la vía para marcar dirección y horario en la página de contacto. En una tienda, schema_product permite marcar Offer, Brand y valoraciones; lo que Google pide para las fichas está en la guía de schema Product. No marques FAQ ni HowTo pensando en Google: HowTo dejó de mostrarse como resultado enriquecido en 2023 y FAQ el 7-05-202628.
¿Cómo se añaden HSTS y CSP en Drupal?
El núcleo no envía HSTS, Content-Security-Policy ni Referrer-Policy. Security Kit los añade desde Configuration > System > Security Kit settings (/admin/config/system/seckit). Esto es lo que trae de serie29:
- Opción
- HTTP Strict Transport Security
- Por defecto
- Desactivada;
max-agede 1.000 segundos - Qué hacer
- Activarla con un
max-agecorto y subirlo después
- Opción
- Content Security Policy
- Por defecto
- Desactivada
- Qué hacer
- Activarla primero en modo Report Only
- Opción
- X-Frame-Options
- Por defecto
SAMEORIGIN- Qué hacer
- Dejarla
- Opción
- Referrer-Policy
- Por defecto
- Desactivada
- Qué hacer
- Activarla con
strict-origin-when-cross-origin
- Opción
- X-XSS-Protection
- Por defecto
- Desactivada
- Qué hacer
- Dejarla así: es una cabecera obsoleta
No marques Preload en HSTS hasta llevar semanas sin problemas: la lista de precarga obliga a usar HTTPS en todos los subdominios y salir de ella tarda meses30. Security Kit todavía usa Feature-Policy, el nombre antiguo de Permissions-Policy; si necesitas esa cabecera, ponla en el servidor. Si ya envías las cabeceras desde Nginx o Apache, no las dupliques en Drupal. La guía de cabeceras de seguridad HTTP explica qué hace cada una.
Cómo comprobarlo
- Canonical y hreflang: abre el código fuente de un nodo y busca
rel="canonical"yhreflang. Pide la misma URL con y sinwww: la variante secundaria debe redirigir con un 301. - Cabeceras:
curl -I https://www.ejemplo.es/debe mostrarx-content-type-options,x-frame-optionsy, si las activaste,strict-transport-securityyreferrer-policy. El HTTP Observatory de Mozilla las puntúa. - robots.txt: tras un
composer update, abre/robots.txty comprueba que tus líneas siguen al final. - Datos estructurados y sitemap: la Prueba de resultados enriquecidos y el informe de sitemaps de Search Console.
Qué hace SmoothSeen con esto
SmoothSeen revisa en una página de tu web lo que configura esta guía: robots.txt, sitemap, canonical y noindex, títulos y descripciones, datos estructurados, HTTPS y la redirección a https, y las cabeceras de seguridad con el HTTP Observatory de Mozilla. En la parte de IA comprueba qué rastreadores permite tu robots.txt, separando búsqueda de entrenamiento, y si el servidor responde 403 a alguno de ellos mientras sirve la página a un navegador.
Qué hacer esta semana
Pide tu web con y sin www y por http: si alguna variante no redirige con un 301, activa la regla del .htaccess o la del servidor, porque el canonical del núcleo depende de ello. Después pasa tus añadidos del robots.txt a un fichero con append. Para ver el resto de la lista medido, haz una auditoría SEO con SmoothSeen.
Preguntas frecuentes
¿Drupal necesita módulos para el SEO o basta con el núcleo?
El núcleo cubre el canonical, el hreflang de las traducciones, los alias manuales y dos cabeceras de seguridad. Le faltan la meta descripción, el sitemap XML, las redirecciones y los datos estructurados. Para una web de unas pocas páginas puedes vivir con alias manuales, pero la meta descripción y el sitemap justifican instalar Metatag y Simple XML Sitemap desde el primer día.
¿Por qué mi robots.txt de Drupal vuelve a su versión original?
Porque el plugin de scaffold de Composer lo reescribe cada vez que instalas o actualizas el núcleo. No es un fallo: es como Drupal distribuye las correcciones de ese fichero. Mueve tus reglas a un fichero propio y declara en composer.json que se añada al final con append; así conservas tus cambios y las mejoras del núcleo.
¿Uso Metatag o Yoast SEO en Drupal?
No compiten. Metatag es el que imprime las etiquetas en el <head>, y el módulo Real-time SEO for Drupal (paquete yoast_seo) depende de él y añade un análisis de legibilidad y de palabra clave mientras se escribe. Drupal CMS instala los dos en su receta SEO Tools. Si no necesitas ese análisis de redacción, Metatag solo es suficiente.
¿Los módulos de esta guía funcionarán en Drupal 12?
Drupal 12 sale en diciembre de 2026 y cada módulo declara su compatibilidad por separado en su página de drupal.org. Los seis de esta guía aceptan hoy Drupal 10 y 11. Antes de actualizar, comprueba que todos declaran ^12 o usa la herramienta Upgrade Status, que analiza tu instalación y avisa del código que falta adaptar.
Fuentes
- 1Drupal core release schedule, Drupal.org, actualizada el 27-08-2026.
- 2Drupal core (releases), Drupal.org, consultada el 09-10-2026.
- 3Receta Basic SEO de Drupal CMS (recipe.yml), repositorio oficial de Drupal CMS, rama 2.0.x, consultado el 09-10-2026.
- 4Receta SEO Tools de Drupal CMS (recipe.yml), repositorio oficial de Drupal CMS, rama 2.0.x, consultado el 09-10-2026.
- 5EntityViewController.php, función view, repositorio oficial de Drupal, versión 11.4.8, consultado el 09-10-2026.
- 6.htaccess del scaffold de Drupal, repositorio oficial de Drupal, versión 11.4.8, consultado el 09-10-2026.
- 7ContentTranslationHooks.php, función pageAttachments, repositorio oficial de Drupal, versión 11.4.8, consultado el 09-10-2026.
- 8FinishResponseSubscriber.php, repositorio oficial de Drupal, versión 11.4.8, consultado el 09-10-2026.
- 9Perfil de instalación Standard (standard.info.yml), repositorio oficial de Drupal, versión 11.4.8, consultado el 09-10-2026.
- 10PerformanceForm.php y system.performance.yml, repositorio oficial de Drupal, versión 11.4.8, consultado el 09-10-2026.
- 11Metatag, Drupal.org, consultada el 09-10-2026.
- 12Pathauto, Drupal.org, consultada el 09-10-2026.
- 13Redirect, Drupal.org, consultada el 09-10-2026.
- 14Simple XML sitemap, Drupal.org, consultada el 09-10-2026.
- 15Schema.org Metatag, Drupal.org, consultada el 09-10-2026.
- 16Security Kit, Drupal.org, consultada el 09-10-2026.
- 17Valores por defecto de Metatag (config/install), repositorio oficial de Metatag, rama 2.2.x, consultado el 09-10-2026.
- 18pathauto.settings.yml, repositorio oficial de Pathauto, rama 8.x-1.x, consultado el 09-10-2026.
- 19redirect.settings.yml, repositorio oficial de Redirect, rama 8.x-1.x, consultado el 09-10-2026.
- 20Using Drupal's Composer Scaffold, Drupal.org, actualizada el 14-09-2026.
- 21How Google interprets the robots.txt specification, Google Search Central, actualizada el 31-08-2026.
- 22Overview of OpenAI Crawlers, OpenAI, consultada el 09-10-2026.
- 23Does Anthropic crawl data from the web, and how can site owners block the crawler?, Anthropic, actualizada el 07-04-2026.
- 24AI features and your website, Google Search Central, actualizada el 10-12-2025.
- 25RobotsTxt, Drupal.org, consultada el 09-10-2026.
- 26simple_sitemap.settings.yml, repositorio oficial de Simple XML Sitemap, rama 4.x, consultado el 09-10-2026.
- 27SchemaOrganizationType.php, repositorio oficial de Schema.org Metatag, versión 3.1.0, consultado el 09-10-2026.
- 28Latest Google Search documentation updates, Google Search Central, consultada el 09-10-2026.
- 29seckit.settings.yml, repositorio oficial de Security Kit, rama 2.x, consultado el 09-10-2026.
- 30Strict-Transport-Security header, MDN Web Docs, actualizada el 11-09-2026.
Cómo citar este artículo
SmoothSeen. (2026, 7 de octubre). SEO en Drupal 11: qué hace el núcleo y qué módulos instalar. https://smoothseen.com/es/blog/drupal-seo/
Sigue leyendo
Posicionamiento web (SEO): qué es, cómo funciona y cómo mejorarlo en 2026
Qué es el posicionamiento web, cómo decide Google qué páginas muestra y una checklist priorizada para mejorarlo con herramientas gratuitas.
.htaccess y caché: activar gzip y Brotli, la caché del navegador y bloquear bots de IA en Apache
Cómo activar gzip y Brotli, configurar la caché del navegador y vetar bots de IA de entrenamiento en el .htaccess de Apache sin salir de ChatGPT. Probado.
.htaccess y HTTPS: redirigir http a https, activar HSTS y cabeceras de seguridad en Apache
Cómo redirigir http a https en .htaccess o en el VirtualHost de Apache, activar HSTS sin riesgos y añadir cabeceras de seguridad. Configuración probada.