PS PrestaShop Principiante

dfredirects — Gestore di reindirizzamenti 301

Installare e configurare il gestore di reindirizzamenti 301 per PrestaShop 8 e 9: regole, wildcard, regex, monitoraggio 404 e importazione CSV.

Aggiornato Versione del modulo 1.0.1

Introduzione

dfredirects è un gestore di reindirizzamenti completo per PrestaShop 8 e 9. Gestisce i codici HTTP 301, 302, 307, 308 e 410, offre tre strategie di corrispondenza (esatta, wildcard, regex PCRE), monitora gli errori 404 e crea automaticamente reindirizzamenti quando si modifica lo slug di un prodotto, una categoria, una pagina CMS, un produttore o un fornitore.

Installazione

  1. Andare su Moduli → Gestore moduli → Carica un modulo.
  2. Caricare il file dfredirects-1.0.1.zip.
  3. Cliccare su Installa.
  4. Un nuovo menu Redirects appare nel back office con quattro schede: Dashboard, Rules, 404 Log e Import / Export / Settings.

L’installazione crea tre tabelle: ps_dfredirects_rule (le regole), ps_dfredirects_notfound (i 404 registrati) e ps_dfredirects_slug_snapshot (le istantanee URL prima della modifica). La disinstallazione rimuove queste tabelle e tutta la configurazione.

Requisiti: PrestaShop 8.0 minimo, PHP 8.1 o superiore. Il modulo funziona in modo identico su PrestaShop 9.

Configurazione

Andare su Redirects → Import / Export / Settings. Le impostazioni disponibili:

  • Log 404 errors — interruttore principale del logger 404.
  • Log bot 404s — includere o meno le richieste dei bot conosciuti (Googlebot, Bingbot, GPTBot, ClaudeBot, ecc.). Consigliato: disattivato per mantenere un log pulito.
  • Auto-redirect on slug change — attiva la creazione automatica di 301 al cambio di URL.
  • Preserve query string by default — valore predefinito del campo preserve_qs per le nuove regole.
  • 404 log retention (days) — periodo di conservazione prima della pulizia automatica. 0 disattiva la pulizia.
  • Default HTTP code — codice usato per le regole create automaticamente (301 consigliato).
  • Ignored URL patterns — un pattern per riga, corrispondenza per sottostringa. Esempio: .well-known, wp-admin, autodiscover. Gli URL corrispondenti non verranno mai registrati.

Creare una regola di reindirizzamento

In Redirects → Rules, cliccare su New rule. Ogni regola contiene:

  • Source URL — l’URL da intercettare (percorso relativo, es. /vecchia-pagina).
  • Match type — esatta, wildcard o regex (vedi sotto).
  • Target URL — la destinazione (percorso relativo o URL assoluto per un dominio esterno). Vuoto per un codice 410.
  • HTTP code — 301 (permanente, consigliato SEO), 302 (temporaneo), 307/308 (conservano il metodo HTTP), 410 (contenuto rimosso definitivamente, senza destinazione).
  • Preserve query string — se attivato, ?utm_source=x viene trasferito alla destinazione.
  • Shop / Language — ambito della regola. 0 = tutti i negozi / tutte le lingue.
  • Note — campo libero per le vostre annotazioni.

Corrispondenza esatta

L’URL richiesto deve corrispondere esattamente alla fonte (dopo normalizzazione: minuscole, senza query string, senza barra finale). È il tipo più performante — ricerca indicizzata in database, costo costante indipendentemente dalla dimensione della tabella.

Corrispondenza wildcard

L’asterisco * cattura qualsiasi sequenza. Le catture sono riutilizzabili nella destinazione con $1, $2, ecc.

Fonte       : /vecchia-categoria/*
Destinazione : /nuova-categoria/$1

/vecchia-categoria/mio-prodotto  →  /nuova-categoria/mio-prodotto

Corrispondenza regex

Sintassi PCRE completa tra delimitatori tilde. I gruppi di cattura si usano con $1, $2, ecc. Usare la classe [0-9] per le cifre.

Fonte       : ~^/product/([0-9]+)/(.*)$~
Destinazione : /p/$1-$2

/product/42/prodotto-fantastico  →  /p/42-prodotto-fantastico

Il modificatore e (valutazione di codice) viene rimosso automaticamente per sicurezza. Le regole regex non valide vengono rifiutate alla creazione e all’importazione.

Reindirizzamenti automatici al cambio di slug

Quando l’opzione è attivata, il modulo cattura l’URL di ogni oggetto prima del suo aggiornamento (hook UpdateBefore), lo confronta dopo l’aggiornamento (hook UpdateAfter) e crea un reindirizzamento 301 se l’URL è cambiato. Funziona per prodotti, categorie, pagine CMS, produttori e fornitori, per ogni lingua e negozio attivi.

All’eliminazione di un prodotto, viene creato un reindirizzamento verso la sua categoria predefinita. All’eliminazione di una categoria, verso la sua categoria padre. Se non esiste alcuna destinazione pertinente, il fallback è la homepage.

Rilevamento di catene e loop

Se esiste una regola A→B e si cambia lo slug di B in C, il modulo aggiorna automaticamente la regola A per puntare direttamente a C (risoluzione ricorsiva, max 5 livelli). Le regole aggiornate in questo modo riportano la menzione [chain-fix] nella loro nota. I loop (A→B→A) vengono rilevati e la creazione viene rifiutata.

I reindirizzamenti automatici vengono creati solo se il link_rewrite dell’oggetto è compilato nella lingua interessata. Gli URL malformati (segmenti composti solo da cifre e trattini) vengono rifiutati.

Monitoraggio dei 404

Ogni pagina non trovata viene registrata in Redirects → 404 Log con URL, referrer, user-agent, indirizzo IP, contatore di hit e data dell’ultima visita. Il filtro predefinito nasconde i bot e le voci già risolte.

Creare un reindirizzamento da un 404

Cliccare sull’azione Create redirect di una voce 404. Il modulo analizza il vostro catalogo e propone fino a 5 destinazioni probabili (prodotti, categorie, pagine CMS) classificate per similarità, con un punteggio visivo. Selezionate un suggerimento o inserite un URL manuale, scegliete il codice HTTP, confermate: la regola viene creata e il 404 viene contrassegnato come risolto.

Importazione ed esportazione CSV

Formato del file

source_url,target_url,match_type,http_code,id_shop,id_lang,preserve_qs,active,note
/vecchia-pagina,/nuova-pagina,exact,301,0,0,1,1,migrazione 2026
/produits/*,/products/$1,wildcard,301,0,0,1,1,fr verso en
~^/cat-([0-9]+)/$~,/category/$1,regex,301,0,0,1,1,id numerici

Solo le colonne source_url e target_url sono obbligatorie (destinazione facoltativa per un codice 410). I delimitatori virgola, punto e virgola, tabulazione e pipe vengono rilevati automaticamente. L’opzione Update existing rules attiva l’UPSERT: una fonte già presente viene aggiornata invece di essere ignorata.

Il report di importazione mostra il numero di regole importate, aggiornate, ignorate, e il dettaglio degli errori riga per riga (regex non valida, fonte mancante, ecc.).

Esportazione

Il pulsante Download CSV esporta tutte le regole in UTF-8 con BOM, apribile direttamente in Excel.

Dashboard

Il pannello mostra: il numero di regole attive (con la quota auto-generata), il totale dei reindirizzamenti serviti, il numero di 404 non risolti, la tendenza 404 su 30 giorni, la top 5 dei 404 più frequenti, la top 5 dei reindirizzamenti più usati, e l’elenco delle regole morte (create da più di 90 giorni, mai attivate) — candidate all’eliminazione per mantenere una tabella leggera.

Risoluzione dei problemi

Il mio reindirizzamento non si attiva

  • Verificate che la regola sia attiva e che il suo ambito negozio / lingua corrisponda alla richiesta.
  • Le regole esatte vengono valutate prima delle wildcard e regex: verificate che una regola esatta non nasconda il vostro pattern.
  • Svuotate la cache di PrestaShop (var/cache/).

Troppi 404 generati dai bot

Disattivate Log bot 404s nelle impostazioni, o aggiungete pattern in Ignored URL patterns (es. .well-known, wp-, autodiscover).

L’auto-redirect non è stato creato al cambio di slug

  • L’auto-redirect si attiva solo se il link_rewrite cambia realmente — una modifica del solo nome non basta.
  • Verificate che l’opzione Auto-redirect on slug change sia attivata.
  • Se l’oggetto era disattivato o il suo link_rewrite era vuoto nella lingua interessata, non viene presa alcuna istantanea.

Changelog

1.0.1 — 11 maggio 2026

  • Validazione degli URL generati prima del salvataggio: rifiuto delle fonti malformate.
  • Omissione della generazione se il link_rewrite è vuoto per la lingua o il negozio corrente.

1.0.0 — 11 maggio 2026

  • Versione iniziale: motore di reindirizzamento (esatta / wildcard / regex), monitoraggio 404, auto-redirect, importazione/esportazione CSV, suggerimenti, dashboard.
Questa pagina ti è stata utile?

Ancora bloccato? Contatta l'assistenza