dfredirects: beheerder van 301-redirects
De beheerder van 301-redirects voor PrestaShop 8 en 9 installeren en configureren: regels, wildcards, regex, 404-bewaking en CSV-import.
Inleiding
dfredirects is een volwaardige redirectbeheerder voor PrestaShop 8 en 9. Hij verwerkt de HTTP-codes 301, 302, 307, 308 en 410, biedt drie manieren van matchen (exact, wildcard en PCRE-regex), bewaakt de 404-fouten en maakt automatisch redirects aan wanneer u de slug van een product, categorie, CMS-pagina, fabrikant of leverancier wijzigt.
Installatie
- Ga naar Modules → Modulebeheer → Een module installeren.
- Upload het bestand
dfredirects-1.0.1.zip. - Klik op Installeren.
- Er verschijnt een nieuw menu Redirects in de backoffice, met vier tabbladen: Dashboard, Rules, 404 Log en Import / Export / Settings.
De installatie maakt drie tabellen aan: ps_dfredirects_rule (de regels), ps_dfredirects_notfound (de gelogde 404’s) en ps_dfredirects_slug_snapshot (de momentopnamen van de URL’s vóór een wijziging). Bij het verwijderen worden die tabellen en de volledige configuratie gewist.
Vereisten: minimaal PrestaShop 8.0 en PHP 8.1 of hoger. De module werkt op PrestaShop 9 op dezelfde manier.
Configuratie
Ga naar Redirects → Import / Export / Settings. De beschikbare parameters:
- Log 404 errors: hoofdschakelaar van de 404-logger.
- Log bot 404s: al dan niet de verzoeken van bekende robots opnemen (Googlebot, Bingbot, GPTBot, ClaudeBot en dergelijke). Aanbevolen: uit, om het logboek schoon te houden.
- Auto-redirect on slug change: schakelt het automatisch aanmaken van een 301 bij een URL-wijziging in.
- Preserve query string by default: de standaardwaarde van het veld preserve_qs voor nieuwe regels.
- 404 log retention (days): hoelang de 404-logs bewaard blijven vóór het automatisch opruimen. 0 schakelt het opruimen uit.
- Default HTTP code: de code voor automatisch aangemaakte regels (301 aanbevolen).
- Ignored URL patterns: één patroon per regel, gematcht op deelstring. Bijvoorbeeld
.well-known,wp-adminofautodiscover. De overeenkomstige URL’s worden nooit gelogd.
Een redirectregel maken
Klik in Redirects → Rules op New rule. Elke regel bevat:
- Source URL: de URL die u wilt onderscheppen (relatief pad, bijvoorbeeld
/oude-pagina). - Match type: exact, wildcard of regex (zie hieronder).
- Target URL: de bestemming (een relatief pad of een absolute URL voor een extern domein). Laat leeg voor een 410-code.
- HTTP code: 301 (permanent, aanbevolen voor SEO), 302 (tijdelijk), 307 of 308 (die de HTTP-methode behouden) of 410 (inhoud definitief verwijderd, zonder doel).
- Preserve query string: staat dit aan, dan gaat
?utm_source=xmee naar het doel. - Shop / Language: het bereik van de regel. 0 betekent alle winkels of alle talen.
- Note: vrij veld voor uw eigen aantekeningen.
Exact matchen
De opgevraagde URL moet exact met de bron overeenkomen (na normalisatie: kleine letters, zonder query string, zonder slotslash). Dat is het snelste type: een geïndexeerde lookup in de database, met een constante kost ongeacht de grootte van de tabel.
Wildcard matchen
De ster * vangt om het even welke reeks op. De gevangen delen hergebruikt u in het doel met $1, $2 en zo verder.
Bron : /oude-categorie/*
Doel : /nieuwe-categorie/$1
/oude-categorie/mijn-product → /nieuwe-categorie/mijn-product
Regex matchen
Volledige PCRE-syntaxis tussen tilde-scheidingstekens. De vangende groepen gebruikt u met $1, $2 en zo verder. Gebruik de klasse [0-9] voor cijfers (gelijk aan de afkorting met backslash-d).
Bron : ~^/product/([0-9]+)/(.*)$~
Doel : /p/$1-$2
/product/42/super-product → /p/42-super-product
De modificator e (codeuitvoering) wordt uit veiligheidsoverwegingen automatisch weggehaald. Ongeldige regexregels worden bij het aanmaken en bij het importeren geweigerd.
Automatische redirects bij een slugwijziging
Staat de optie aan, dan legt de module de URL van elk object vast vóór de bewerking (hook UpdateBefore), vergelijkt hij die erna (hook UpdateAfter) en maakt hij een 301-redirect aan als de URL is veranderd. Dat werkt voor producten, categorieën, CMS-pagina’s, fabrikanten en leveranciers, voor elke actieve taal en winkel.
Bij het verwijderen van een product ontstaat een redirect naar zijn standaardcategorie. Bij het verwijderen van een categorie gaat die naar de bovenliggende categorie. Bestaat er geen zinvol doel, dan is de terugval de startpagina.
Ketens en lussen opsporen
Bestaat er een regel A→B en wijzigt u de slug van B in C, dan werkt de module regel A automatisch bij zodat die rechtstreeks naar C wijst (recursieve oplossing, maximaal 5 niveaus). Regels die zo zijn bijgewerkt, krijgen de vermelding [chain-fix] in hun notitie. Lussen (A→B→A) worden opgemerkt en het aanmaken wordt geweigerd.
Automatische redirects ontstaan alleen als de link_rewrite van het object in de betrokken taal is ingevuld. Misvormde URL’s (segmenten die uitsluitend uit cijfers en koppeltekens bestaan) worden geweigerd.
404-bewaking
Elke niet-gevonden pagina komt in Redirects → 404 Log terecht, met de URL, de referrer, de user-agent, het IP-adres, een hitteller en de datum van het laatste bezoek. Het standaardfilter verbergt de bots en de al opgeloste vermeldingen.
Een redirect maken vanuit een 404
Klik bij een 404-vermelding op de actie Create redirect. De module doorzoekt uw catalogus en stelt tot 5 waarschijnlijke doelen voor (producten, categorieën, CMS-pagina’s), gerangschikt op gelijkenis met een visuele score. Kies een suggestie of voer een eigen URL in, kies de HTTP-code en bevestig: de regel wordt aangemaakt en de 404 als opgelost gemarkeerd.
CSV-import en -export
Formaat van het bestand
source_url,target_url,match_type,http_code,id_shop,id_lang,preserve_qs,active,note
/oude-pagina,/nieuwe-pagina,exact,301,0,0,1,1,migratie 2026
/producten/*,/products/$1,wildcard,301,0,0,1,1,nl naar en
~^/cat-([0-9]+)/$~,/category/$1,regex,301,0,0,1,1,numerieke ids
Alleen de kolommen source_url en target_url zijn verplicht (het doel is optioneel bij een 410-code). De scheidingstekens komma, puntkomma, tab en pipe worden automatisch herkend. De optie Update existing rules zet UPSERT aan: een bron die al bestaat, wordt bijgewerkt in plaats van overgeslagen.
Het importrapport toont hoeveel regels zijn geïmporteerd, bijgewerkt en overgeslagen, en de fouten per regel (ongeldige regex, ontbrekende bron en dergelijke).
Export
De knop Download CSV exporteert alle regels als UTF-8 met BOM, meteen te openen in Excel.
Dashboard
Het dashboard toont: het aantal actieve regels (met het automatisch aangemaakte aandeel), het totale aantal geserveerde redirects, het aantal onopgeloste 404’s, de 404-trend over 30 dagen, de top 5 van de meest voorkomende 404’s, de top 5 van de meest gebruikte redirects en de lijst met dode regels (meer dan 90 dagen geleden aangemaakt en nooit geactiveerd), die in aanmerking komen om te verwijderen zodat de tabel licht blijft.
Problemen oplossen
Mijn redirect wordt niet uitgevoerd
- Controleer of de regel actief is en of het winkel- en taalbereik bij het verzoek past.
- Exacte regels worden vóór de wildcard- en regexregels beoordeeld: ga na of een exacte regel uw patroon niet afdekt.
- Leeg de PrestaShop-cache (
var/cache/).
Te veel 404’s van bots
Zet Log bot 404s uit in de instellingen, of voeg patronen toe bij Ignored URL patterns (bijvoorbeeld .well-known, wp- of autodiscover).
De automatische redirect is niet aangemaakt bij een slugwijziging
- De automatische redirect komt er alleen als de
link_rewritedaadwerkelijk verandert: alleen de naam aanpassen volstaat niet. - Controleer of de optie Auto-redirect on slug change aanstaat.
- Was het object uitgeschakeld of was zijn
link_rewriteleeg in de betrokken taal, dan is er geen momentopname gemaakt.
Changelog
1.0.1, 11 mei 2026
- Controle van de gegenereerde URL’s vóór het opslaan: misvormde bronnen worden geweigerd.
- De generatie wordt overgeslagen als de link_rewrite leeg is voor de huidige taal of winkel.
1.0.0, 11 mei 2026
- Eerste versie: redirectmotor (exact, wildcard en regex), 404-bewaking, automatische redirects, CSV-import en -export, suggesties en dashboard.