dfredirects — Gestor de redirecciones 301
Instalar y configurar el gestor de redirecciones 301 para PrestaShop 8 y 9: reglas, wildcard, regex, monitorización 404 e importación CSV.
Introducción
dfredirects es un gestor de redirecciones completo para PrestaShop 8 y 9. Gestiona los códigos HTTP 301, 302, 307, 308 y 410, ofrece tres estrategias de coincidencia (exacta, wildcard, regex PCRE), monitoriza los errores 404 y crea automáticamente redirecciones cuando modifica el slug de un producto, categoría, página CMS, fabricante o proveedor.
Instalación
- Vaya a Módulos → Gestor de módulos → Subir un módulo.
- Suba el archivo
dfredirects-1.0.1.zip. - Haga clic en Instalar.
- Un nuevo menú Redirects aparece en el back office con cuatro pestañas: Dashboard, Rules, 404 Log e Import / Export / Settings.
La instalación crea tres tablas: ps_dfredirects_rule (las reglas), ps_dfredirects_notfound (las 404 registradas) y ps_dfredirects_slug_snapshot (las instantáneas de URL antes de modificar). La desinstalación elimina estas tablas y toda la configuración.
Requisitos: PrestaShop 8.0 mínimo, PHP 8.1 o superior. El módulo funciona de forma idéntica en PrestaShop 9.
Configuración
Vaya a Redirects → Import / Export / Settings. Los ajustes disponibles:
- Log 404 errors — interruptor principal del registro de 404.
- Log bot 404s — incluir o no las solicitudes de robots conocidos (Googlebot, Bingbot, GPTBot, ClaudeBot, etc.). Recomendado: desactivado para mantener un registro limpio.
- Auto-redirect on slug change — activa la creación automática de 301 al cambiar la URL.
- Preserve query string by default — valor por defecto del campo preserve_qs para las nuevas reglas.
- 404 log retention (days) — periodo de retención antes de la purga automática. 0 desactiva la purga.
- Default HTTP code — código usado para las reglas creadas automáticamente (301 recomendado).
- Ignored URL patterns — un patrón por línea, coincidencia por subcadena. Ejemplo:
.well-known,wp-admin,autodiscover. Las URLs coincidentes nunca se registrarán.
Crear una regla de redirección
En Redirects → Rules, haga clic en New rule. Cada regla contiene:
- Source URL — la URL a interceptar (ruta relativa, ej.
/pagina-antigua). - Match type — exacta, wildcard o regex (ver más abajo).
- Target URL — el destino (ruta relativa o URL absoluta para un dominio externo). Vacío para un código 410.
- HTTP code — 301 (permanente, recomendado SEO), 302 (temporal), 307/308 (conservan el método HTTP), 410 (contenido eliminado definitivamente, sin destino).
- Preserve query string — si está activado,
?utm_source=xse transfiere al destino. - Shop / Language — alcance de la regla. 0 = todas las tiendas / todos los idiomas.
- Note — campo libre para sus anotaciones.
Coincidencia exacta
La URL solicitada debe coincidir exactamente con la fuente (tras normalización: minúsculas, sin query string, sin barra final). Es el tipo más eficiente — búsqueda indexada en base de datos, coste constante sea cual sea el tamaño de la tabla.
Coincidencia wildcard
El asterisco * captura cualquier secuencia. Las capturas son reutilizables en el destino con $1, $2, etc.
Fuente : /categoria-antigua/*
Destino : /categoria-nueva/$1
/categoria-antigua/mi-producto → /categoria-nueva/mi-producto
Coincidencia regex
Sintaxis PCRE completa entre delimitadores tilde. Los grupos de captura se usan con $1, $2, etc. Use la clase [0-9] para los dígitos.
Fuente : ~^/product/([0-9]+)/(.*)$~
Destino : /p/$1-$2
/product/42/producto-genial → /p/42-producto-genial
El modificador e (evaluación de código) se elimina automáticamente por seguridad. Las reglas regex inválidas se rechazan en la creación y en la importación.
Redirecciones automáticas al cambiar slug
Cuando la opción está activada, el módulo captura la URL de cada objeto antes de su actualización (hook UpdateBefore), la compara tras la actualización (hook UpdateAfter) y crea una redirección 301 si la URL cambió. Funciona para productos, categorías, páginas CMS, fabricantes y proveedores, para cada idioma y tienda activos.
Al eliminar un producto, se crea una redirección hacia su categoría por defecto. Al eliminar una categoría, hacia su categoría padre. Si no existe ningún destino relevante, el fallback es la página de inicio.
Detección de cadenas y bucles
Si existe una regla A→B y cambia el slug de B a C, el módulo actualiza automáticamente la regla A para apuntar directamente a C (resolución recursiva, 5 niveles máx). Las reglas actualizadas de esta forma llevan la mención [chain-fix] en su nota. Los bucles (A→B→A) se detectan y la creación se rechaza.
Las redirecciones automáticas solo se crean si el link_rewrite del objeto está relleno en el idioma correspondiente. Las URLs malformadas (segmentos compuestos únicamente de dígitos y guiones) se rechazan.
Monitorización de 404
Cada página no encontrada se registra en Redirects → 404 Log con la URL, el referrer, el user-agent, la dirección IP, un contador de hits y la fecha de la última visita. El filtro por defecto oculta los bots y las entradas ya resueltas.
Crear una redirección desde una 404
Haga clic en la acción Create redirect de una entrada 404. El módulo analiza su catálogo y propone hasta 5 destinos probables (productos, categorías, páginas CMS) clasificados por similitud, con una puntuación visual. Seleccione una sugerencia o introduzca una URL manual, elija el código HTTP, confirme: la regla se crea y la 404 se marca como resuelta.
Importación y exportación CSV
Formato del archivo
source_url,target_url,match_type,http_code,id_shop,id_lang,preserve_qs,active,note
/pagina-antigua,/pagina-nueva,exact,301,0,0,1,1,migracion 2026
/produits/*,/products/$1,wildcard,301,0,0,1,1,fr a en
~^/cat-([0-9]+)/$~,/category/$1,regex,301,0,0,1,1,ids numericos
Solo las columnas source_url y target_url son obligatorias (destino opcional para un código 410). Los delimitadores coma, punto y coma, tabulación y pipe se auto-detectan. La opción Update existing rules activa el UPSERT: una fuente ya presente se actualiza en lugar de ignorarse.
El informe de importación muestra el número de reglas importadas, actualizadas, ignoradas, y el detalle de errores línea por línea (regex inválida, fuente ausente, etc.).
Exportación
El botón Download CSV exporta todas las reglas en UTF-8 con BOM, abrible directamente en Excel.
Dashboard
El panel muestra: el número de reglas activas (con la parte auto-generada), el total de redirecciones servidas, el número de 404 sin resolver, la tendencia 404 en 30 días, el top 5 de las 404 más frecuentes, el top 5 de las redirecciones más usadas, y la lista de reglas muertas (creadas hace más de 90 días, nunca activadas) — candidatas a eliminación para mantener una tabla ligera.
Solución de problemas
Mi redirección no se activa
- Verifique que la regla está activa y que su alcance tienda / idioma corresponde a la solicitud.
- Las reglas exactas se evalúan antes que las wildcard y regex: verifique que una regla exacta no oculta su patrón.
- Vacíe la caché de PrestaShop (
var/cache/).
Demasiadas 404 generadas por bots
Desactive Log bot 404s en los ajustes, o añada patrones en Ignored URL patterns (ej. .well-known, wp-, autodiscover).
La auto-redirección no se creó al cambiar el slug
- La auto-redirección solo se activa si el
link_rewritecambia realmente — una modificación solo del nombre no basta. - Verifique que la opción Auto-redirect on slug change está activada.
- Si el objeto estaba desactivado o su
link_rewriteestaba vacío en el idioma correspondiente, no se toma ninguna instantánea.
Changelog
1.0.1 — 11 de mayo de 2026
- Validación de las URLs generadas antes de guardar: rechazo de fuentes malformadas.
- Omisión de la generación si el link_rewrite está vacío para el idioma o la tienda actual.
1.0.0 — 11 de mayo de 2026
- Versión inicial: motor de redirección (exacta / wildcard / regex), monitorización 404, auto-redirección, importación/exportación CSV, sugerencias, dashboard.