Redirect
Proporciona una API unificada de redirección que permite a los usuarios redirigir desde URLs antiguas a nuevas, incluyendo la creación automática de redirecciones cuando cambian los alias de URL.
redirect
Install
composer require 'drupal/redirect:8.x-1.12'
composer require 'drupal/redirect:8.x-1.11'
Overview
El módulo Redirect proporciona una solución completa de redirección de URLs para sitios Drupal. Permite a los administradores del sitio crear y gestionar redirecciones desde URLs antiguas a nuevas, ayudando a mantener el valor SEO y la experiencia del usuario cuando el contenido se mueve o las URLs cambian.
El módulo proporciona una API unificada de redirección que reemplaza y consolida la funcionalidad previamente ofrecida por los módulos path_redirect y globalredirect. Intercepta las solicitudes entrantes y redirige automáticamente a los visitantes al destino correcto basándose en las reglas de redirección configuradas.
Las capacidades principales incluyen soporte para varios códigos de estado de redirección HTTP (301, 302, 303, etc.), creación automática de redirecciones cuando se cambian los alias de URL, paso de cadenas de consulta, redirecciones específicas por idioma e integración con la interfaz de edición de nodos para mostrar y gestionar redirecciones directamente desde los formularios de contenido.
El módulo también incluye funciones de normalización de rutas que aplican URLs limpias y canónicas redirigiendo a los alias si existen, eliminando barras diagonales finales y asegurando los prefijos de idioma correctos.
Features
- Crear y gestionar redirecciones de URL desde rutas antiguas a nuevos destinos con varios códigos de estado HTTP (300-307)
- Crear automáticamente redirecciones cuando se cambian los alias de URL, preservando el valor SEO
- Soporte para redirecciones específicas por idioma que tienen prioridad sobre las redirecciones globales
- Paso de cadena de consulta que conserva los parámetros de URL a través de las redirecciones
- Normalización de rutas para aplicar URLs limpias y canónicas en todo el sitio
- Integración con formularios de edición de nodos mostrando las redirecciones existentes hacia el contenido
- Interfaz de administración basada en Views con filtrado y operaciones masivas
- Detección y prevención de bucles de redirección con registro
- Habilitar/deshabilitar redirecciones individuales sin eliminarlas
- Resolución de redirecciones encadenadas para escenarios de redirección complejos
- Caché de prefijos de ruta para mejorar el rendimiento en sitios con muchas redirecciones
- Soporte de migración desde datos de path_redirect de Drupal 6 y 7
Use Cases
Migración de sitio con cambios en la estructura de URLs
Al migrar contenido a una nueva estructura de URLs, crear redirecciones 301 desde las rutas antiguas a las nuevas ubicaciones. El módulo asegura que los rankings de motores de búsqueda se preserven y los usuarios que sigan enlaces antiguos lleguen al contenido correcto.
Consolidación de contenido
Al fusionar múltiples páginas en una, crear redirecciones desde las páginas eliminadas a la página consolidada. Esto mantiene el valor de los enlaces y previene errores 404.
Corrección de errores tipográficos comunes
Crear redirecciones para URLs frecuentemente mal escritas (ej., /contcto a /contacto) para mejorar la experiencia del usuario sin crear contenido duplicado.
Consolidación de dominios
Usando el submódulo Redirect Domain, redirigir tráfico desde dominios antiguos (sitio-viejo.com) al nuevo dominio (sitio-nuevo.com) mientras se preserva la estructura de rutas.
Rastreo y corrección de enlaces rotos
Habilitar el submódulo Redirect 404 para registrar automáticamente errores 404. Revisar el informe 'Corregir páginas 404' para identificar páginas faltantes frecuentemente solicitadas y crear las redirecciones apropiadas.
Cambios de alias de URL
Habilitar la creación automática de redirecciones para que cuando se actualicen los alias de URL del contenido, se creen automáticamente redirecciones del alias antiguo al nuevo.
URLs de vanidad y campañas de marketing
Crear redirecciones cortas y memorables para campañas de marketing (ej., /oferta a /productos/oferta-verano-2024) que pueden compartirse fácilmente en comunicaciones impresas o verbales.
Tips
- Usar 301 (Movido permanentemente) para cambios de URL permanentes para preservar el valor SEO; usar 302 (Encontrado) para redirecciones temporales
- Habilitar el submódulo Redirect 404 para identificar y corregir proactivamente enlaces rotos en su sitio
- Las redirecciones específicas por idioma siempre tienen prioridad sobre las redirecciones de 'Todos los idiomas' - útil para sitios multilingües
- La pestaña 'Redirecciones de URL' en los formularios de edición de nodos proporciona acceso rápido para gestionar redirecciones sin salir del flujo de trabajo de edición de contenido
- Al usar Drush, puede exportar/importar redirecciones como parte de su flujo de trabajo de gestión de configuración
- Revisar la configuración del normalizador de rutas para asegurar que coincida con los requisitos de estructura de URL de su sitio
- Para sitios de alto tráfico, considerar ajustar la configuración redirect_prefix_list_max (por defecto 100) en settings.php
Technical Details
Admin Pages 4
/admin/config/search/redirect
Página principal de administración para ver, filtrar y gestionar todas las redirecciones de URL. Muestra una tabla con ruta de origen, destino, estado habilitado, código de estado, idioma, fecha de creación y operaciones. Soporta operaciones de eliminación masiva a través de Views Bulk Operations.
/admin/config/search/redirect/add
Formulario para crear una nueva redirección de URL. Permite especificar la ruta de origen, URL de destino, código de estado de redirección y configuración de idioma.
/admin/config/search/redirect/edit/{redirect}
Formulario para editar una redirección existente con los mismos campos que el formulario de añadir.
/admin/config/search/redirect/settings
Opciones de configuración global para el módulo Redirect, incluyendo creación automática de redirecciones, manejo de cadenas de consulta y ajustes de normalización de rutas.
Permissions 2
Hooks 6
hook_redirect_response_alter
Alterar la respuesta de redirección antes de entregarla al usuario. Puede modificar cabeceras, código de estado o incluso cambiar la URL de destino.
hook_redirect_presave
Actuar sobre una redirección antes de que sea guardada
hook_redirect_insert
Actuar sobre una redirección después de que ha sido creada
hook_redirect_update
Actuar sobre una redirección después de que ha sido actualizada
hook_redirect_delete
Actuar sobre una redirección después de que ha sido eliminada
hook_redirect_load
Actuar sobre redirecciones después de que han sido cargadas
Troubleshooting 6
Verificar si hay redirecciones circulares donde A→B→A. El módulo registra estas en watchdog. Revisar sus redirecciones para romper la cadena del bucle.
Verificar si 'Ignorar redirecciones en rutas de administración' está habilitado en la configuración. Esto es intencional para prevenir bloqueos.
Asegurar que 'Conservar cadena de consulta a través de la redirección' esté habilitado en la configuración. Notar que los parámetros de consulta definidos en el destino de la redirección tienen prioridad.
Verificar que 'Crear automáticamente redirecciones cuando se cambien los alias de URL' esté habilitado en la configuración. El módulo Path también debe estar habilitado.
Verificar si la ruta coincide con algún patrón en la configuración de 'Páginas a ignorar'. También verificar que el submódulo redirect_404 esté habilitado.
El módulo usa caché de prefijos para optimizar las búsquedas. Asegurar que la caché esté funcionando correctamente. Considerar la configuración redirect_use_prefix_list en settings.php.
Security Notes 4
- Habilitar la configuración 'Verificar acceso a la página redirigida' si tiene contenido protegido para prevenir el descubrimiento de URLs a través de sondeo de redirecciones
- Ser cauteloso al crear redirecciones a URLs externas - verificar que los destinos sean legítimos
- El módulo requiere el permiso 'administer redirects' para crear/editar redirecciones, y 'administer redirect settings' para cambios de configuración global
- Los orígenes de redirección se validan para prevenir la creación de redirecciones desde la página principal, lo cual podría causar bloqueo del sitio