Site icon Tosolini.info

WordPress 404 redirect

L’articolo di oggi non tratta specificatamente il cosiddetto error 404, ovvero pagina / articolo non trovato, ma piuttosto la conseguenza di tale evento e come fare a recuperare tali risorse trasformandole in articoli reali.

Il problema, in particolare per WordPress, può generarsi con facilità e più che riguardare l’utenza reale riguarda i motori di ricerca e il loro modo di “vedere” il nostro sito. Passiamo da una spiegazione astratta ad una di vita reale…

Con l’utilizzo della propria installazione di WordPress e con l’evoluzione dei propri contenuti non è poi così improbabile finire con il generare anche migliaia di pagine con error 404. Nel mio caso è stata Google ad avvisarmi, tramite il servizio di Search Console, che il numero di pagine non trovate era aumentato in modo esponenziale. Le pagine a cui fa riferimento Google non sono le pagine di WordPress (quelle con i contenuti che non sono post per intenderci), ma sono URL generate da un plugin che a sua volta offre un servizio. Proprio uno di questi servizi è venuto meno perché è stato dismesso, quindi la sua soppressione ha causato una sorta di effetto domino, poiché tutti gli oggetti generati dal plugin stesso avevano una particolare URL che non esiste più.

La stessa cosa può avvenire in altri contesti simili, ad esempio la rimozione di un plugin SEO o comunque di un plugin che genera delle URL. La rimozione di una TAG o un di una Categoria perché abbiamo ristrutturato la struttura del sito. Per finire alla ben più banale rimozione di un post o una pagina.

Questo tipo di rimozioni risultano essere moderatamente dannose. Come ho detto qualche paragrafo più sopra è altamente probabile che l’effetto non sia riscontrabile da un utente reale, a meno che non abbia messo quella specifica URL tra i preferiti, ma bensì dai motori di ricerca. Questi ultimi hanno una sort di “effetto imprinting” per cui quando si imbatto in una URL tendono a memorizzarla e continuare a verificare la raggiungibilità anche parecchi anni dopo.

Soluzioni.

Le soluzioni in questo caso sono quelle di redirezionare la URL orfana verso pagine raggiungibili. Per fare questo vi sono parecchie strade, diciamo due sono quelle interessanti per i nostri scopi.

Utilizzare un redirect attraverso .htaccess di Apache o utilizzare un plugin di WordPress che si chiama Redirection. La differenza è come al solito di tipo prestazionale, il redirect di Apache avviene prima del caricamento del sito, nel secondo caso il processo avviene dopo, con un aggravio di risorse. Normalmente andrei spedito per la prima opzione, ma in questo caso opto per il plugin perché offre un vantaggio secondario. Ovvero quello di mostrare quali siano le pagine 404 che vengono interessate dal sito. Sebbene, va detto, la visione delle pagine con codice 404 si può trovare con qualche comando GREP sui log di Apache e da li procedere ad una bonifica, in questo caso il plugin Redirection ci fa trovare tutto già pronto. Insomma è solo una questione di comodità.

Prima ho citato Google Search Console dove può mostrare quali URL non siano più valide, è vero, ma questo è il punto di vista di Google, non di tutti gli altri motori di ricerca. Ecco perché l’analisi dei 404 risulta interessante farla sul sito e non affidarsi ad un gestore esterno.

esempio di espressioni regolari in redirection
i log intercettati dal plugin

Una volta installato il plugin sarà raggiungibile sotto il menu Strumenti, ed è composto da 7 sezioni. Tralascio le impostazioni che per default sono già pronte all’uso, e così il supporto. Le parti interessanti sono 404 dove potremo appunto scoprire quali siano le pagine cercate e non trovate. Ovviamente dobbiamo attendere, a seconda del traffico del vostro sito web, anche qualche giorno per avere un quadro sostanziale della situazione. Qui potremo procedere ad effettuare una redirect direttamente sulla pagina non trovata. Tali comandi poi saranno visibili nella sezioni Redirects. La parte relativa ai Groups serve se avete molte Redirect e si vuole “contingentare” la ricerca associandole a specifici gruppi. Interessante anche la parte Import ed Export. L’importazione non tanto, ma l’esportazione permette ad esempio di creare al volo il codice necessario ad essere utilizzato in .htaccess. Questo è interessante perché nel caso gli eventi 404 scendano a zero grazie alla campagna di redirezione, è possibile pensare di poter eliminare il plugin e lasciare l’eventuale lavoro ad Apache.

Espressioni Regolari.

Sopra citavo appunto la situazione di un plugin dismesso che genera migliaia di URL non valide. Ovviamente e per fortuna, queste URL hanno una combinazione ricorrente, per cui a variare sono solo una parte della URL stessa. Attraverso le Espressioni Regolari è possibile intercettare in modo indefinito questa porzione della URL e fare in modo che con un solo comando si possano reinidirizzare tutte le migliaia di Error 404 che il motore di ricerca troverà.

Un esempio pratico:

\/tag\/dsl-(.*[0-9])-mt
/hiking/dislivello-\1-metri

L’esempio qui sopra va trovare tutte le url con /tag/dsl-NNN-mt e  le redirige verso /hiking/dislivello-NNN-metri dove al posto di NNN ci sarà una numerazione compresa tra 0 e 999 nel mio caso, ma in realtà la cifra può essere infinita. Tale cifra poi viene riportata nella nuova URL al posto di \1. Nel mio caso si tratta di una serie di tag create tre anni fa ed eliminate dopo solo un mese di utilizzo in favore di categorie personalizzate, ma tutt’ora sotto scansione da parte di molti motori di ricerca.

Non entro in maggiori dettagli poiché avremo modo a breve di disquisire sulle espressioni regolari con articoli specifici.

Redirect 301.

Tutto quanto sopra viene finalizzato nella redirezione da una URL non più valida ad una che lo è, ma non solo. Viene infatti indicato che tale redirezione utilizzerà il codice 301, ovvero “permanent redirect“. E questo sta proprio ad indicare ai motori di ricerca che d’ora in poi quella URL viene permanentemente rimandata alla nuova fornita. Questo dovrebbe, e il condizionale è decisamente d’obbligo, aggiornare i records interni di quel gestore e scartare la vecchia URL. Talvolta questo non accade.

In definitiva si tratta di un lavoro che sostanzialmente è utile per la SEO (Search Engine Optimization) ma che è molto importante proprio per avere un sito che non spreca risorse con inutili 404, ma li redirige verso pagine attive che potranno così essere indicizzate e tornare utili, con un cerchio virtuoso, all’utenza finale.

Exit mobile version