Home / Errori del sito / Errore 404 su PrestaShop: cause e soluzioni

Errore 404 su PrestaShop: cause e soluzioni

Un errore 404 su un negozio PrestaShop pesa più che su un sito qualsiasi: dietro ogni pagina non trovata c’è potenzialmente un cliente che stava per acquistare e che invece se ne va. Le cause sono in parte le stesse di qualsiasi sito, come link sbagliati o pagine eliminate, ma PrestaShop ne aggiunge alcune specifiche: URL semplificati, prodotti disattivati, cache, lingue e negozi multipli. Conoscerle permette di risolvere in pochi minuti problemi che altrimenti sembrano inspiegabili.

In questa guida vediamo le cause più frequenti dell’errore 404 su PrestaShop, come diagnosticarle e come risolverle, con un’attenzione particolare alla gestione dei prodotti fuori catalogo, che è anche una questione di SEO.

Cosa significa un 404 su PrestaShop

Il significato del codice è quello di sempre: il server ha ricevuto la richiesta ma non ha trovato la risorsa, come spiegato nella guida all’errore 404. Su PrestaShop, però, quasi tutte le pagine del negozio sono generate dall’applicazione a partire dal database: prodotti, categorie, pagine CMS, marchi. Quando PrestaShop non riesce a collegare un indirizzo a un elemento attivo del catalogo, mostra la propria pagina di errore, con il tema del negozio e il messaggio che la pagina non è disponibile.

Per questo, a differenza dei siti statici, un 404 su PrestaShop non significa necessariamente che “manca un file”: molto spesso significa che l’elemento esiste ma non è attivo, non è associato al negozio o alla lingua giusta, oppure che le regole di riscrittura degli indirizzi non funzionano.

Il caso più comune: tutte le pagine danno 404

Se la home page funziona ma qualsiasi prodotto o categoria restituisce 404, il problema è quasi sempre negli URL semplificati, cioè gli indirizzi leggibili come /scarpe/123-sneaker-bianca.html. Per funzionare, questi indirizzi hanno bisogno delle regole di riscrittura contenute nel file .htaccess, che PrestaShop genera automaticamente.

Il problema si presenta tipicamente dopo una migrazione, dopo un cambio di hosting o dopo che qualcuno ha modificato o sostituito il file .htaccess. La soluzione è rigenerarlo: nel back office, nella sezione delle impostazioni del negozio dedicata a traffico e SEO, salva di nuovo le impostazioni degli URL semplificati. PrestaShop riscrive il file con le regole corrette. Prima di farlo, se il file contiene regole personalizzate, come reindirizzamenti o protezioni, fanne una copia per poterle reinserire.

Se dopo la rigenerazione il problema persiste, verifica con l’hosting che sul server sia attivo il modulo di riscrittura degli indirizzi e che il file .htaccess venga effettivamente letto. Su server Nginx, dove il file .htaccess non ha effetto, le regole di riscrittura vanno inserite nella configurazione del server.

Prodotti disattivati o eliminati

In un negozio online i prodotti entrano ed escono dal catalogo continuamente, ed è la fonte più grande di errori 404. Su PrestaShop un prodotto può essere in tre condizioni diverse, e ognuna ha conseguenze diverse per i visitatori e per Google.

Prodotto attivo ma esaurito. La pagina resta online e mostra l’indisponibilità. Se il prodotto tornerà, è la situazione migliore: la pagina conserva posizionamento e link, e il cliente può iscriversi all’avviso di ritorno in magazzino, se il modulo è attivo.

Prodotto disattivato. La pagina non è più visibile al pubblico. Nelle impostazioni SEO di ciascun prodotto PrestaShop permette di scegliere che cosa succede in questo caso: mostrare un errore oppure reindirizzare il visitatore, in modo permanente o temporaneo, verso un altro prodotto o verso una categoria. Lasciare l’impostazione predefinita significa spesso produrre un 404.

Prodotto eliminato. Il prodotto non esiste più nel database e il suo indirizzo restituisce 404. Se riceveva visite o link, il valore va perso, a meno di creare un reindirizzamento manuale.

La strategia consigliata è questa. Se il prodotto tornerà disponibile, lascialo attivo e mostrane l’indisponibilità. Se è stato sostituito da un nuovo modello, disattivalo e imposta un reindirizzamento permanente verso il nuovo prodotto. Se esce dal catalogo senza sostituti, reindirizzalo in modo permanente alla sua categoria. Elimina definitivamente solo i prodotti che non hanno mai avuto visite né link.

Categorie, marchi e pagine CMS

Lo stesso discorso vale per le altre pagine del negozio. Una categoria disattivata restituisce 404, e con lei possono diventare irraggiungibili i prodotti che la usano come categoria principale nei propri indirizzi. Prima di disattivare una categoria, verifica quali prodotti ne dipendono e assegna loro una nuova categoria principale. Anche marchi, fornitori e pagine CMS disattivati restituiscono 404: se ricevevano traffico, conviene reindirizzarli.

Un caso frequente è la modifica del nome di una categoria o di un prodotto. PrestaShop aggiorna il nome nella parte leggibile dell’indirizzo, ma in molte configurazioni riconosce comunque il vecchio indirizzo grazie all’identificativo numerico che contiene. Se però hai personalizzato la struttura degli URL eliminando gli identificativi, un cambio di nome può generare un 404 sul vecchio indirizzo.

Lingue e negozi multipli

PrestaShop gestisce più lingue e, con la modalità multinegozio, più negozi dalla stessa installazione. Un prodotto può esistere nel catalogo ma non essere associato al negozio da cui il visitatore arriva, oppure non avere il nome e l’indirizzo compilati in una delle lingue attive. In questi casi la pagina restituisce 404 solo in una lingua o solo in un negozio. Se il problema riguarda una versione specifica, controlla nella scheda del prodotto le associazioni ai negozi e la traduzione dei campi principali, compreso l’indirizzo semplificato.

La cache

PrestaShop usa diversi livelli di cache: quella dei template, quella dei moduli e, sui server che lo prevedono, una cache di pagina o del CDN. Dopo aver modificato prodotti, categorie o regole degli indirizzi, una cache non aggiornata può continuare a mostrare 404 su pagine che ora funzionano, o link vecchi nei menu. Nella sezione dei parametri avanzati dedicata alle prestazioni trovi il pulsante per svuotare la cache; svuota anche quella dell’hosting e del CDN, se presenti.

Moduli e personalizzazioni

Alcuni moduli modificano il modo in cui PrestaShop costruisce gli indirizzi: moduli SEO che eliminano gli identificativi numerici, moduli per pagine di destinazione, moduli per blog integrati. Un aggiornamento o una disinstallazione possono far cambiare gli indirizzi di intere sezioni. Se i 404 sono comparsi dopo un intervento su un modulo, disattivalo temporaneamente per verificare, e consulta la documentazione del modulo per capire come gestisce gli indirizzi precedenti.

Dopo una migrazione o un aggiornamento

Le migrazioni di PrestaShop, che siano un trasloco di hosting o un passaggio a una versione più recente, sono il momento in cui i 404 compaiono in massa. Oltre al file .htaccess, controlla che il dominio indicato nelle impostazioni del negozio sia quello nuovo, che la cartella di installazione non sia cambiata e che le immagini dei prodotti siano state copiate per intero: immagini mancanti generano 404 su ogni scheda prodotto, anche se la pagina in sé funziona. Dopo un aggiornamento di versione, verifica anche la compatibilità del tema e dei moduli che intervengono sugli indirizzi. Prima di mettere online il negozio migrato, una scansione completa con uno strumento di crawling ti mostra subito se qualcosa non torna.

Come trovare i 404 del negozio

Gli strumenti sono quelli di qualsiasi sito. Il rapporto sull’indicizzazione di Google Search Console elenca gli indirizzi che Google ha trovato in 404. Uno strumento di crawling percorre il negozio seguendo i link e segnala quelli interrotti nei menu, nelle schede prodotto e nei blocchi di prodotti correlati. Il log del server, infine, mostra quali 404 vengono richiesti più spesso dai visitatori reali; la guida ai log del server spiega come estrarli. In un negozio con migliaia di prodotti conviene concentrarsi sui 404 che ricevono più visite o che compaiono nei link interni.

Il 404 di PrestaShop e la SEO

Per un negozio, la gestione dei 404 è soprattutto una questione di non disperdere valore. Le schede prodotto accumulano nel tempo posizionamento, link e recensioni: lasciarle diventare 404 ogni volta che un articolo esce dal catalogo significa ripartire da zero con il prodotto successivo. Reindirizzare i prodotti dismessi verso il modello nuovo o la categoria, invece, conserva buona parte di quel lavoro. Allo stesso tempo, evita di reindirizzare tutto alla home: Google tratta questi reindirizzamenti generici come pagine non trovate, e il cliente arriva in un posto che non c’entra con quello che cercava.

Ricorda anche la pagina di errore stessa: personalizzala con una ricerca, le categorie principali e qualche prodotto in evidenza, ma assicurati che continui a restituire il codice 404. Una pagina di errore che risponde 200 è un errore a sua volta, perché fa credere a Google che si tratti di una pagina vera.

Domande frequenti

Perché la home funziona ma i prodotti danno 404?

Quasi sempre per un problema con gli URL semplificati e il file .htaccess. Salva di nuovo le impostazioni degli URL semplificati per rigenerare il file e svuota la cache.

Cosa devo fare con un prodotto che non vendo più?

Se ha un sostituto, disattivalo e reindirizzalo in modo permanente al nuovo prodotto. Se non ce l’ha, reindirizzalo alla sua categoria. Lascia il 404 solo per i prodotti che non hanno mai avuto visite né link.

Il 404 compare solo in una lingua: perché?

Probabilmente il prodotto o la categoria non hanno i campi compilati in quella lingua, oppure non sono associati al negozio corretto in modalità multinegozio. Controlla traduzioni e associazioni nella scheda dell’elemento.

Tag:

Sign Up For Daily Newsletter

Stay updated with our weekly newsletter. Subscribe now to never miss an update!

[mc4wp_form]