Path Redirect Import
Permite la importación y exportación masiva de redirecciones de URL mediante archivos CSV utilizando la API Migrate de Drupal.
path_redirect_import
Instalar
composer require 'drupal/path_redirect_import:^2.1'
composer require 'drupal/path_redirect_import:^2.0'
Overview
Path Redirect Import proporciona una solución optimizada para gestionar grandes cantidades de redirecciones de URL en Drupal. Construido sobre la API Migrate de Drupal, este módulo permite a los administradores del sitio importar redirecciones de forma masiva desde archivos CSV y exportar redirecciones existentes para respaldo o propósitos de migración.
El módulo se integra perfectamente con el módulo Redirect, apareciendo como pestañas adicionales en la página de administración de redirecciones. Soporta varios escenarios de redirección incluyendo rutas internas, URLs externas, redirecciones a la página de inicio usando <front>, y URLs con parámetros de consulta. El módulo también proporciona comandos Drush para operaciones desde línea de comandos, haciéndolo adecuado para flujos de trabajo de despliegue automatizado y gestión de redirecciones a gran escala.
La validación de CSV asegura la integridad de los datos antes de la importación, verificando la codificación correcta, los campos requeridos y previniendo redirecciones circulares donde el origen y el destino son idénticos.
Features
- Importación masiva de redirecciones de URL desde archivos CSV con validación de codificación, valores vacíos y prevención de redirecciones circulares
- Exportación masiva de todas las redirecciones existentes a un archivo CSV descargable para respaldo o migración
- Soporta rutas internas, URLs externas y rutas especiales como <front> para redirecciones a la página de inicio
- Maneja caracteres codificados en URL y parámetros de consulta en las rutas de origen
- Redirecciones con reconocimiento de idioma con soporte para códigos de idioma (und para idioma neutral)
- Códigos de estado HTTP configurables (301, 302, etc.) por redirección
- Procesamiento por lotes para conjuntos de datos grandes para prevenir tiempos de espera agotados
- Integración con la API Migrate de Drupal para un manejo robusto de datos
- Comandos Drush para operaciones de importación y exportación desde línea de comandos
- Modo de eliminación para remover redirecciones definidas en un archivo CSV
Use Cases
Migración de Sitio con Redirecciones de URL
Al migrar contenido de un sitio antiguo a un nuevo sitio Drupal, las URLs a menudo cambian. Crea un CSV mapeando URLs antiguas a URLs nuevas e impórtalas de forma masiva para mantener los rankings SEO y prevenir enlaces rotos para los visitantes.
Reorganización de Estructura de URLs
Al reorganizar el contenido del sitio (por ejemplo, mover publicaciones de blog de /blog/titulo-post a /articulos/titulo-post), exporta las redirecciones actuales, prepara un CSV con los mapeos de antiguo a nuevo e importa para asegurar que todos los enlaces existentes continúen funcionando.
URLs Personalizadas para Campañas de Marketing
Crea URLs cortas y memorables para campañas de marketing (por ejemplo, /oferta redirigiendo a /productos/oferta-verano-2024) preparando un CSV con las URLs de campaña e importándolas antes del lanzamiento.
Respaldo y Restauración de Redirecciones
Exporta redirecciones regularmente a archivos CSV como parte de los procedimientos de respaldo del sitio. Si las redirecciones se eliminan accidentalmente o se corrompen, restáuralas importando el CSV de respaldo.
Sincronización de Redirecciones Multi-entorno
Exporta redirecciones desde producción, ajusta si es necesario e importa a entornos de staging o desarrollo para asegurar un comportamiento consistente de redirecciones entre entornos.
Limpieza Masiva de Redirecciones
Exporta todas las redirecciones, identifica las obsoletas en el CSV, luego usa el modo de eliminación para remover redirecciones desactualizadas que apuntan a páginas que ya no existen.
Redirecciones para Sitios Multilingües
Gestiona redirecciones específicas por idioma usando la columna language en el CSV. Configura redirecciones a 'und' para comportamiento neutral de idioma o códigos de idioma específicos (en, fr, de, etc.) para redirecciones específicas por idioma.
Tips
- Las rutas de origen en el CSV no deben tener una barra inicial - usa 'pagina-antigua' no '/pagina-antigua'
- Usa <front> como destino para redirigir a la página de inicio
- Los parámetros de consulta son soportados en las rutas de origen (por ejemplo, pagina-antigua?param=valor)
- Las URLs externas son completamente soportadas como destinos (por ejemplo, https://ejemplo.com)
- El código de estado 301 es el predeterminado si no se especifica, indicando una redirección permanente
- Para redirecciones temporales (por ejemplo, durante mantenimiento), usa el código de estado 302
- Las importaciones grandes se procesan en lotes para prevenir problemas de tiempo de espera de PHP
- Los archivos exportados son temporales y serán eliminados por cron - descarga prontamente
- Al usar la opción de eliminar, verás una página de confirmación antes de que las redirecciones sean removidas
- El módulo reutiliza la funcionalidad de actualización de Migrate, así que reimportar el mismo CSV actualizará las redirecciones existentes en lugar de crear duplicados
Technical Details
Admin Pages 2
/admin/config/search/redirect/migrate
Importar redirecciones de URL desde un archivo CSV o eliminar redirecciones existentes basándose en datos CSV. El formulario valida el archivo CSV verificando las cabeceras correctas, codificación UTF-8, valores vacíos y redirecciones circulares antes del procesamiento.
/admin/config/search/redirect/export
Exportar todas las redirecciones de URL existentes del sitio a un archivo CSV descargable. El archivo exportado sigue el mismo formato que la importación, haciéndolo adecuado para respaldo, migración a otro sitio, o edición y reimportación.
Drush Commands 2
drush path_redirect_import:import <file>
Importa redirecciones desde el archivo CSV especificado. El archivo debe seguir el formato estándar con cabeceras: source, destination, language, status_code.
drush path_redirect_import:export
Exporta todas las redirecciones existentes a un archivo CSV. El archivo se guarda en el directorio de archivos públicos bajo path_redirect_import/ con un nombre de archivo basado en marca de tiempo.
Troubleshooting 7
Asegúrate de que tu archivo CSV tenga exactamente estas cabeceras en la primera fila: source,destination,language,status_code (distingue mayúsculas y minúsculas, sin espacios)
Guarda tu archivo CSV con codificación UTF-8. En Excel, usa 'Guardar como' y selecciona 'CSV UTF-8 (delimitado por comas)'. En otros editores, asegúrate de que el archivo se guarde como UTF-8 sin BOM.
Revisa el CSV buscando filas donde origen y destino sean idénticos (incluyendo la comparación de la barra inicial). Una redirección no puede apuntar a sí misma.
Asegúrate de que cada fila tenga valores en las cuatro columnas. Usa 'und' para redirecciones neutrales de idioma y un código de estado válido (301, 302, etc.).
Limpia las cachés de Drupal después de importar. También verifica que la ruta de origen no tenga una barra inicial en el CSV (ruta-origen no /ruta-origen).
Asegúrate de que existan redirecciones para exportar. El módulo mostrará un mensaje de error si no hay redirecciones en el sistema.
Asegúrate de que el módulo Migrate Tools esté habilitado. Los comandos Drush se registran condicionalmente solo cuando Migrate Tools está instalado.