dfredirects — Gestionnaire de redirections 301
Installer et configurer le gestionnaire de redirections 301 pour PrestaShop 8 et 9 : règles, wildcard, regex, monitoring 404 et import CSV.
Introduction
dfredirects est un gestionnaire de redirections complet pour PrestaShop 8 et 9. Il gère les codes HTTP 301, 302, 307, 308 et 410, propose trois stratégies de matching (exact, wildcard, regex PCRE), surveille les erreurs 404 et crée automatiquement des redirections lorsque vous modifiez le slug d’un produit, d’une catégorie, d’une page CMS, d’un fabricant ou d’un fournisseur.
Installation
- Rendez-vous dans Modules → Gestionnaire de modules → Installer un module.
- Uploadez le fichier
dfredirects-1.0.1.zip. - Cliquez sur Installer.
- Un nouveau menu Redirects apparaît dans le back-office avec quatre onglets : Dashboard, Rules, 404 Log et Import / Export / Settings.
L’installation crée trois tables : ps_dfredirects_rule (les règles), ps_dfredirects_notfound (les 404 loggées) et ps_dfredirects_slug_snapshot (les instantanés d’URL avant modification). La désinstallation supprime ces tables et toute la configuration.
Prérequis : PrestaShop 8.0 minimum, PHP 8.1 ou supérieur. Le module fonctionne à l’identique sur PrestaShop 9.
Configuration
Rendez-vous dans Redirects → Import / Export / Settings. Les paramètres disponibles :
- Log 404 errors — interrupteur principal du logger 404.
- Log bot 404s — inclure ou non les requêtes des robots connus (Googlebot, Bingbot, GPTBot, ClaudeBot, etc.). Recommandé : désactivé pour garder un log propre.
- Auto-redirect on slug change — activation de la création automatique de 301 au changement d’URL.
- Preserve query string by default — valeur par défaut du champ preserve_qs pour les nouvelles règles.
- 404 log retention (days) — durée de rétention des logs 404 avant purge automatique. 0 désactive la purge.
- Default HTTP code — code utilisé pour les règles créées automatiquement (301 recommandé).
- Ignored URL patterns — un motif par ligne, matching par sous-chaîne. Exemple :
.well-known,wp-admin,autodiscover. Les URLs correspondantes ne seront jamais loggées.
Créer une règle de redirection
Dans Redirects → Rules, cliquez sur New rule. Chaque règle comporte :
- Source URL — l’URL à intercepter (chemin relatif, ex.
/ancienne-page). - Match type — exact, wildcard ou regex (voir ci-dessous).
- Target URL — la destination (chemin relatif ou URL absolue pour un domaine externe). Vide pour un code 410.
- HTTP code — 301 (permanent, recommandé SEO), 302 (temporaire), 307/308 (conservent la méthode HTTP), 410 (contenu définitivement supprimé, sans cible).
- Preserve query string — si activé,
?utm_source=xest transféré vers la cible. - Shop / Language — scope de la règle. 0 = toutes les boutiques / toutes les langues.
- Note — champ libre pour vos annotations.
Matching exact
L’URL demandée doit correspondre exactement à la source (après normalisation : minuscules, sans query string, sans slash final). C’est le type le plus performant — lookup indexé en base, coût constant quelle que soit la taille de la table.
Matching wildcard
L’étoile * capture n’importe quelle séquence. Les captures sont réutilisables dans la cible avec $1, $2, etc.
Source : /ancienne-categorie/*
Cible : /nouvelle-categorie/$1
/ancienne-categorie/mon-produit → /nouvelle-categorie/mon-produit
Matching regex
Syntaxe PCRE complète entre délimiteurs tilde. Les groupes capturants s’utilisent avec $1, $2, etc. Utilisez la classe [0-9] pour les chiffres (équivalente au raccourci antislash-d).
Source : ~^/product/([0-9]+)/(.*)$~
Cible : /p/$1-$2
/product/42/super-produit → /p/42-super-produit
Le modificateur e (évaluation de code) est automatiquement retiré par sécurité. Les règles regex invalides sont refusées à la création et à l’import.
Redirections automatiques au changement de slug
Quand l’option est activée, le module capture l’URL de chaque objet avant sa mise à jour (hook UpdateBefore), la compare après la mise à jour (hook UpdateAfter), et crée une redirection 301 si l’URL a changé. Cela fonctionne pour les produits, catégories, pages CMS, fabricants et fournisseurs, pour chaque langue et boutique actives.
À la suppression d’un produit, une redirection est créée vers sa catégorie par défaut. À la suppression d’une catégorie, vers sa catégorie parente. Si aucune cible pertinente n’existe, le fallback est la page d’accueil.
Détection de chaînes et de boucles
Si une règle A→B existe et que vous changez le slug de B en C, le module met automatiquement à jour la règle A pour pointer directement vers C (résolution récursive, 5 niveaux max). Les règles mises à jour de cette manière portent la mention [chain-fix] dans leur note. Les boucles (A→B→A) sont détectées et la création est refusée.
Les redirections automatiques ne sont créées que si le link_rewrite de l’objet est renseigné dans la langue concernée. Les URLs malformées (segments composés uniquement de chiffres et de tirets) sont rejetées.
Monitoring des 404
Chaque page introuvable est enregistrée dans Redirects → 404 Log avec l’URL, le referrer, le user-agent, l’adresse IP, un compteur de hits et la date de dernière visite. Le filtre par défaut masque les bots et les entrées déjà résolues.
Créer une redirection depuis une 404
Cliquez sur l’action Create redirect d’une entrée 404. Le module analyse votre catalogue et propose jusqu’à 5 cibles probables (produits, catégories, pages CMS) classées par similarité, avec un score visuel. Sélectionnez une suggestion ou saisissez une URL manuelle, choisissez le code HTTP, validez : la règle est créée et la 404 est marquée résolue.
Import et export CSV
Format du fichier
source_url,target_url,match_type,http_code,id_shop,id_lang,preserve_qs,active,note
/ancienne-page,/nouvelle-page,exact,301,0,0,1,1,migration 2026
/produits/*,/products/$1,wildcard,301,0,0,1,1,fr vers en
~^/cat-([0-9]+)/$~,/category/$1,regex,301,0,0,1,1,ids numeriques
Seules les colonnes source_url et target_url sont obligatoires (target facultative pour un code 410). Les délimiteurs virgule, point-virgule, tabulation et pipe sont auto-détectés. L’option Update existing rules active l’UPSERT : une source déjà présente est mise à jour au lieu d’être ignorée.
Le rapport d’import affiche le nombre de règles importées, mises à jour, ignorées, et le détail des erreurs ligne par ligne (regex invalide, source manquante, etc.).
Export
Le bouton Download CSV exporte toutes les règles au format UTF-8 avec BOM, directement ouvrable dans Excel.
Dashboard
Le tableau de bord affiche : le nombre de règles actives (avec la part auto-générée), le total de redirections servies, le nombre de 404 non résolues, la tendance 404 sur 30 jours, le top 5 des 404 les plus fréquentes, le top 5 des redirections les plus utilisées, et la liste des règles mortes (créées il y a plus de 90 jours, jamais déclenchées) — candidates à la suppression pour garder une table légère.
Dépannage
Ma redirection ne se déclenche pas
- Vérifiez que la règle est active et que son scope boutique / langue correspond à la requête.
- Les règles exact sont évaluées avant les wildcard et regex : vérifiez qu’une règle exact ne masque pas votre pattern.
- Videz le cache PrestaShop (
var/cache/).
Trop de 404 générées par des bots
Désactivez Log bot 404s dans les paramètres, ou ajoutez des motifs dans Ignored URL patterns (ex. .well-known, wp-, autodiscover).
L’auto-redirect ne s’est pas créé au changement de slug
- L’auto-redirect ne se déclenche que si le
link_rewritechange réellement — une modification du nom seul ne suffit pas. - Vérifiez que l’option Auto-redirect on slug change est activée.
- Si l’objet était désactivé ou que son
link_rewriteétait vide dans la langue concernée, aucun instantané n’est pris.
Changelog
1.0.1 — 11 mai 2026
- Validation des URLs générées avant enregistrement : rejet des sources malformées.
- Skip de la génération si le link_rewrite est vide pour la langue ou la boutique courante.
1.0.0 — 11 mai 2026
- Version initiale : moteur de redirection (exact / wildcard / regex), monitoring 404, auto-redirect, import/export CSV, suggestions, dashboard.