Index Now
Envía automáticamente URLs a los motores de búsqueda cuando se crea, actualiza o elimina contenido en tu sitio web Drupal utilizando el protocolo IndexNow.
index_now
Instalar
composer require 'drupal/index_now:^3.1'
composer require 'drupal/index_now:^2.0'
Overview
El módulo Index Now implementa el protocolo IndexNow, que permite a los propietarios de sitios web notificar instantáneamente a los motores de búsqueda cuando se producen cambios en el contenido. Esto elimina la espera de que los rastreadores de los motores de búsqueda descubran los cambios de forma natural.
Cuando se crean, actualizan o eliminan nodos o términos de taxonomía, el módulo envía automáticamente una solicitud HTTP al endpoint IndexNow del motor de búsqueda configurado. Desde noviembre de 2021, todos los motores de búsqueda compatibles comparten las URLs enviadas entre sí, por lo que notificar a un motor efectivamente notifica a todos los motores participantes simultáneamente.
El módulo soporta siete motores de búsqueda: Amazon, Microsoft Bing, IndexNow (genérico), Naver, Seznam.cz, Yandex y Yep. Proporciona control detallado sobre qué tipos de contenido y vocabularios de taxonomía activan las solicitudes de indexación, y qué eventos (crear, actualizar, eliminar) deben procesarse.
Para seguridad y verificación del dominio, el módulo genera una clave API única basada en UUID que los motores de búsqueda utilizan para verificar la propiedad del sitio antes de procesar las solicitudes de indexación.
Features
- Envío automático de URLs a motores de búsqueda cuando se crean, actualizan o eliminan nodos
- Envío automático de URLs a motores de búsqueda cuando se crean, actualizan o eliminan términos de taxonomía
- Soporte para siete motores de búsqueda principales: Amazon, Microsoft Bing, IndexNow, Naver, Seznam.cz, Yandex y Yep
- Generación de clave API basada en UUID para verificación de dominio con motores de búsqueda
- Excluir tipos de contenido específicos de la indexación
- Excluir vocabularios de taxonomía específicos de la indexación
- Excluir eventos específicos (insertar, actualizar, eliminar) de activar la indexación
- Soporte para alias de ruta - activa la indexación cuando se crean nuevos alias de ruta
- Soporte multilingüe - respeta el idioma de la entidad al construir URLs
- Control de acceso - solo indexa contenido accesible para usuarios anónimos
- Servicio API programático para envío personalizado de URLs
- Modo de registro detallado para depuración y monitoreo
- Comando Drush para regeneración de clave API
Use Cases
Indexación inmediata en motores de búsqueda para sitios de noticias
Los sitios web de noticias que publican frecuentemente contenido sensible al tiempo pueden usar Index Now para asegurar que los nuevos artículos aparezcan en los resultados de búsqueda en minutos en lugar de esperar a los rastreadores de motores de búsqueda. Cuando un editor publica una noticia de última hora, la URL se envía inmediatamente a todos los principales motores de búsqueda.
Actualizaciones de productos de comercio electrónico
Las tiendas en línea con inventario o precios que cambian frecuentemente pueden usar Index Now (combinado con el módulo Index Now Commerce) para notificar a los motores de búsqueda sobre actualizaciones de productos, asegurando que la información precisa aparezca en los resultados de búsqueda de compras.
Notificación de migración de contenido
Al reestructurar un sitio web o migrar contenido, Index Now asegura que las URLs actualizadas y el contenido eliminado se reflejen rápidamente en los índices de los motores de búsqueda, previniendo enlaces rotos en los resultados de búsqueda.
Indexación selectiva por tipo de contenido
Un sitio web puede querer indexar inmediatamente tipos de contenido públicos como artículos y noticias pero excluir tipos de contenido internos como perfiles de empleados o anuncios internos. La configuración de exclusiones permite un control detallado sobre qué contenido activa la indexación.
Indexación personalizada de URLs mediante API
Los desarrolladores pueden usar el servicio IndexNow programáticamente para enviar URLs que no son nodos estándar o términos de taxonomía, como rutas personalizadas o generadores de páginas externos: \Drupal::service('index_now.indexnow')->sendRequest($custom_url);
Tips
- Usa Config Split para asegurar que Index Now solo esté activo en tu entorno de producción - los motores de búsqueda no pueden rastrear localhost o servidores de staging
- Habilita el modo detallado durante la configuración inicial para verificar que las solicitudes de indexación se estén enviando correctamente, luego desactívalo para reducir el ruido en los registros
- Dado que todos los motores de búsqueda compatibles con IndexNow comparten URLs desde noviembre de 2021, solo necesitas seleccionar un motor de búsqueda ya que todos recibirán la notificación
- Para sitios multilingües, Index Now respeta automáticamente el idioma de la entidad y envía la URL correcta específica del idioma
- El contenido debe ser accesible para usuarios anónimos para ser indexado - el módulo automáticamente omite el contenido que los usuarios anónimos no pueden ver
- Usa el servicio API para implementaciones personalizadas: \Drupal::service('index_now.indexnow')->sendRequest($url);
- Considera excluir los eventos 'insert' si quieres que el contenido sea revisado antes de notificar a los motores de búsqueda - las actualizaciones aún activarán la indexación
Technical Details
Admin Pages 1
/admin/config/services/index_now
Configura los ajustes del módulo Index Now incluyendo selección de motor de búsqueda, exclusiones de tipos de contenido, exclusiones de taxonomía y opciones de registro. El estado de la clave API se muestra y puede generarse desde esta página si falta.
Permisos 1
Hooks 5
hook_ENTITY_TYPE_insert (path_alias)
Se activa cuando se crea un nuevo alias de ruta. Llama a PathAliasOperations para activar la indexación de la entidad subyacente.
hook_ENTITY_TYPE_update (node)
Se activa cuando se actualiza un nodo. Envía una solicitud de indexación a los motores de búsqueda para el nodo actualizado.
hook_ENTITY_TYPE_delete (node)
Se activa cuando se elimina un nodo. Notifica a los motores de búsqueda que la URL debe eliminarse del índice.
hook_ENTITY_TYPE_update (taxonomy_term)
Se activa cuando se actualiza un término de taxonomía. Envía una solicitud de indexación a los motores de búsqueda para el término actualizado.
hook_ENTITY_TYPE_delete (taxonomy_term)
Se activa cuando se elimina un término de taxonomía. Notifica a los motores de búsqueda que la URL debe eliminarse del índice.
Drush Commands 1
drush index_now:keygenerate
Genera una nueva clave API basada en UUID para la verificación de dominio de Index Now. La nueva clave se almacena en la configuración y se muestra en la salida.
Troubleshooting 6
Verifica que la clave API se haya generado visitando /admin/config/services/index_now. Si no existe ninguna clave, haz clic en 'Generar la clave API' o ejecuta 'drush index_now:keygenerate'. También asegúrate de que el módulo solo esté habilitado en producción (no en staging/local).
Verifica que el archivo de clave API sea accesible visitando /index_now_api_key_{TU_CLAVE_API}.txt en un navegador (reemplaza con tu clave UUID real). La página debería devolver la clave API como texto plano.
Revisa la configuración en /admin/config/services/index_now para asegurarte de que el tipo de contenido no esté en la lista de exclusión. También verifica que el evento 'Entidad creada' no esté excluido si el nuevo contenido debería activar la indexación.
Habilita el 'Modo detallado' en la configuración de Index Now. Por defecto, solo se registran errores y advertencias. Con el modo detallado habilitado, las solicitudes de indexación exitosas también se registrarán.
El módulo verifica automáticamente si el contenido es accesible para usuarios anónimos antes de enviarlo para indexación. Si el contenido privado está siendo indexado, revisa los permisos de tu contenido para asegurarte de que los usuarios anónimos no puedan ver el contenido.
Ejecuta 'drush index_now:keygenerate' para generar una nueva clave API, o genérala desde la página de configuración de administración.
Security Notes 4
- La clave API se almacena en la configuración y se expone mediante una ruta URL pública para la verificación del motor de búsqueda - esto es por diseño y requerido por el protocolo IndexNow
- El permiso 'configure index now' está marcado como 'acceso restringido' y solo debe otorgarse a administradores de confianza
- El módulo solo indexa contenido accesible para usuarios anónimos, previniendo la exposición accidental de contenido privado a los motores de búsqueda
- El endpoint de verificación de clave API es accesible públicamente por diseño, ya que los motores de búsqueda necesitan verificar la propiedad del dominio antes de aceptar solicitudes de indexación