PS PrestaShop Principiante

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.

Actualizado Versión del módulo 1.0.1

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

  1. Vaya a Módulos → Gestor de módulos → Subir un módulo.
  2. Suba el archivo dfredirects-1.0.1.zip.
  3. Haga clic en Instalar.
  4. 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=x se 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_rewrite cambia 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_rewrite estaba 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.
¿Te ha resultado útil esta página?

¿Sigues atascado? Contacta con soporte