XML sitemap
Crea sitemaps XML conforme a la especificación sitemaps.org para ayudar a los motores de búsqueda a indexar el contenido de tu sitio de manera eficiente.
xmlsitemap
Install
composer require 'drupal/xmlsitemap:^2.0'
composer require 'drupal/xmlsitemap:8.x-1.5'
composer require 'drupal/xmlsitemap:8.x-1.2'
Overview
XML Sitemap crea automáticamente un sitemap que cumple con el protocolo sitemaps.org. Esto ayuda a los motores de búsqueda a mantener sus resultados actualizados proporcionando una lista estructurada de URLs de tu sitio junto con metadatos sobre cuándo fueron modificadas por última vez, con qué frecuencia cambian y su prioridad relativa.
El módulo soporta todos los tipos de entidades de contenido en Drupal, incluyendo nodes, términos de taxonomía, usuarios y enlaces de menú. Puedes configurar qué tipos de entidad y bundles deben incluirse en el sitemap, establecer prioridades predeterminadas y frecuencias de cambio, y anular estas configuraciones en elementos individuales.
El sitemap se genera como archivos XML en caché que se sirven directamente a los rastreadores de motores de búsqueda, asegurando un rendimiento óptimo incluso para sitios grandes con muchos enlaces.
Features
- Genera sitemaps XML conforme a la especificación sitemaps.org
- Soporta todos los tipos de entidades de contenido (nodes, usuarios, términos de taxonomía, enlaces de menú, etc.)
- Inclusión/exclusión configurable por tipo de entidad y bundle
- Configuraciones personalizables de prioridad (0.0-1.0) y frecuencia de cambio por tipo de contenido
- Anulación por elemento de las configuraciones del sitemap para control detallado
- Regeneración automática del sitemap vía cron cuando el contenido cambia
- Soporte de índice de sitemap para sitios con más de 50,000 enlaces
- Soporte de compresión Gzip para archivos de sitemap
- Hoja de estilos XSL legible para humanos para ver sitemaps en navegadores
- Soporte multilingüe con enlaces de sitemap por idioma
- Integración con el módulo robots.txt para agregar automáticamente la referencia del sitemap
- Integración con el módulo Metatag para excluir contenido noindex
- Integración con Views para consultar datos de enlaces del sitemap
- Comandos Drush para regenerar y reconstruir sitemaps
Use Cases
Configuración SEO Básica
Después de instalar el módulo, habilita el tipo de entidad node y selecciona qué tipos de contenido deben incluirse (ej. Artículo, Página). Establece prioridades apropiadas - páginas de destino importantes en 0.8-0.9, publicaciones de blog en 0.5-0.6, y páginas de archivo en 0.3-0.4. Ejecuta cron para generar el sitemap y envíalo a Google Search Console.
Sitio Grande con Múltiples Sitemaps
Para sitios con más de 50,000 URLs, el módulo crea automáticamente un índice de sitemap con múltiples fragmentos. Configura el tamaño de fragmento en configuraciones avanzadas si es necesario. Considera deshabilitar la regeneración por cron y usar comandos Drush durante períodos de bajo tráfico para mejor rendimiento.
Sitio Multilingüe
Cuando el módulo Language está habilitado, XML Sitemap crea automáticamente contextos de sitemap específicos por idioma. Cada idioma obtiene su propio sitemap con los atributos hreflang apropiados. Asegúrate de que las traducciones de contenido estén correctamente configuradas para todos los tipos de contenido incluidos.
Catálogo de Productos E-commerce
Habilita el tipo de entidad producto para inclusión en el sitemap. Establece productos en alta prioridad (0.7-0.8) con frecuencia de cambio diaria o semanal. Usa la anulación por elemento para destacar productos destacados o disminuir elementos agotados. Considera usar hook_xmlsitemap_link_alter para ajustar prioridades dinámicamente basándose en inventario.
Exclusión de Contenido Específico
Usa las configuraciones de XML Sitemap por elemento en los formularios de edición de contenido para excluir elementos específicos. Para exclusiones masivas, usa las configuraciones de bundle para deshabilitar tipos de contenido completos. Si usas Metatag, establece elementos como noindex y habilita la opción de exclusión de metatag.
Enlaces Personalizados
Habilita el submódulo XML Sitemap Custom para agregar URLs que no son detectadas automáticamente, como archivos estáticos, micrositios externos o URLs heredadas. Los enlaces personalizados soportan las mismas configuraciones de prioridad y frecuencia de cambio.
Envío a Motores de Búsqueda
Habilita el submódulo XML Sitemap Engines para notificar automáticamente a los motores de búsqueda cuando el sitemap es actualizado. Configura el envío a Google y opcionalmente agrega URLs de ping personalizadas para otros motores de búsqueda.
Tips
- Establece prioridades realistas - usa el rango completo 0.0-1.0 para diferenciar la importancia del contenido
- Configura frecuencias de cambio basadas en patrones de actualización reales, no en tasas de rastreo deseadas
- Usa la opción de hoja de estilos XSL para depuración más fácil - visualiza sitemap.xml en un navegador
- Monitorea el estado del sitemap en el Informe de Estado para advertencias sobre regeneración o tamaño de archivo
- Considera usar comandos Drush en cron para mejor control sobre el tiempo de regeneración
- Habilita el modo desarrollador temporalmente cuando depures problemas del sitemap
- Siempre prueba que los usuarios anónimos puedan acceder al contenido antes de esperar que aparezca en el sitemap
Technical Details
Admin Pages 6
/admin/config/search/xmlsitemap
Página principal de administración que lista todos los XML sitemaps. Muestra el ID del sitemap, contexto, cantidad de enlaces, fragmentos y hora de última actualización. Proporciona operaciones para editar o eliminar sitemaps individuales.
/admin/config/search/xmlsitemap/settings
Configura los ajustes globales de XML Sitemap incluyendo tiempo de regeneración, formato de salida y opciones avanzadas.
/admin/config/search/xmlsitemap/entities/settings
Selecciona qué tipos de entidad y bundles deben incluirse en el XML sitemap.
/admin/config/search/xmlsitemap/settings/{entity}/{bundle}
Configura los ajustes del XML sitemap para un bundle de tipo de entidad específico (ej. tipo de contenido Artículo).
/admin/config/search/xmlsitemap/rebuild
Reconstruye completamente los datos del XML sitemap reindexando todo el contenido. Usa esto después de la instalación inicial o en emergencias.
/admin/config/search/xmlsitemap/add
Crea un nuevo XML sitemap con un contexto específico (ej. para un idioma diferente).
Permissions 2
Hooks 6
hook_xmlsitemap_link_info
Proporciona información sobre el tipo de enlaces que este módulo provee.
hook_xmlsitemap_link_alter
Altera los datos de un enlace del sitemap antes de guardar.
hook_xmlsitemap_element_alter
Altera el contenido del elemento XML para entradas individuales del sitemap.
hook_xmlsitemap_root_attributes_alter
Altera los atributos del elemento raíz del sitemap.
hook_xmlsitemap_context_info
Define contextos de sitemap disponibles.
hook_xmlsitemap_context
Proporciona valores de contexto actuales.
Drush Commands 3
drush xmlsitemap:regenerate
Regenera los archivos del XML Sitemap. Usa esto para reconstruir los archivos de sitemap en caché después de cambios de contenido.
drush xmlsitemap:rebuild
Vacía y reprocesa todos los datos posibles del XML Sitemap, luego regenera los archivos. Usa esto para una reconstrucción completa de los datos de enlaces del sitemap.
drush xmlsitemap:index
Procesa enlaces de XML Sitemap no indexados. Indexa nuevo contenido que aún no se ha agregado al sitemap.
Troubleshooting 6
Ejecuta cron para generar los archivos del sitemap. Verifica que el directorio de caché del sitemap tenga permisos de escritura. Verifica que al menos un bundle de tipo de entidad esté habilitado para inclusión.
Verifica que el tipo de contenido esté habilitado en la configuración de Entidades del Sitemap. Comprueba que los elementos individuales estén configurados como 'Incluir' y tengan estado 'Publicado'. Asegúrate de que los usuarios anónimos puedan ver el contenido.
Disminuye el límite de lote en configuraciones avanzadas. Deshabilita la precaptura de alias de URL. Considera usar comandos Drush en lugar de regeneración basada en web.
Verifica que cron esté ejecutándose y que la regeneración por cron no esté deshabilitada. Verifica que el tiempo de vida mínimo haya transcurrido desde la última generación. Ejecuta cron manualmente o usa Drush para regenerar.
Aumenta el tamaño de fragmento en configuraciones avanzadas. Considera excluir tipos de contenido o archivos de baja prioridad. El máximo es 50,000 enlaces por fragmento y 50,000 fragmentos en total.
Elimina cualquier archivo sitemap.xml estático de la raíz web. XML Sitemap necesita servir el sitemap dinámicamente a través del enrutamiento de Drupal.
Security Notes 4
- El permiso 'administer xmlsitemap' está marcado como restringido y solo debe darse a administradores de confianza
- Los archivos del sitemap pueden exponer la estructura de URLs de tu sitio a cualquiera
- Asegúrate de que los permisos de acceso al contenido estén correctamente configurados ya que el sitemap respeta el acceso de usuarios anónimos
- El módulo verifica el acceso a entidades antes de incluir enlaces, pero las adiciones de enlaces personalizados omiten esto