Come eliminare l’errore ERR_TOO_MANY_REDIRECTS in WordPress

Molto spesso, anzi frequentemente chi ha a che fare con WordPress si trova a dover risolvere molti errori di varia natura e, tra questi, ERR_TOO_MANY_REDIRECTS (noto anche come ciclo di reindirizzamento) è uno di quelli in cui regolarmente si sbatte il capo. In genere questo errore si verifica dopo una recente modifica ad un sito WordPress, per una errata configurazione dei reindirizzamenti sul server o a causa di impostazioni errate nei servizi di terze parti. Non credete a chi vi dice che è semplice da risolvere, a volte lo è, ma a volte non lo è affatto, bisogna “debuggare” nel modo giusti, ma non allarmatevi, la soluzione si può trovare sempre.

Cos’è l’errore ERR_TOO_MANY_REDIRECTS?

In pratica il significato dell’errore ERR_TOO_MANY_REDIRECTS è proprio quello scritto, ovvero qualcosa sta facendo entrare il vostro sito web in un ciclo di reindirizzamento infinito. Normalmente il sito è bloccato (l’URL 1 punta all’URL 2 e l’URL 2 punta all’URL 1, oppure il dominio vi ha reindirizzato troppe volte) il bello (o brutto a seconda delle opinioni) è che questo errore può succedere non solo nella home page, ma anche per accedere in wp-admin oppure in altre parti del vostro sito web, o magari la home page funziona, ma non si riesce ad entrare in wp-admin.
Questo tipo di errori, a differenza di altri, raramente si risolvono da soli quindi dovrete far qualcosa per eliminarli.
La finestra dell’errore varia anche esteticamente a seconda del browser che utilizzate, ad esempio Chrome la mostra ad un modo e Firefox ad un altro, Edge ancora in un altro, ma la sostanza dell’errore non cambia.

Per risolvere velocemente l’errore ci sono alcune raccomandazioni e verifiche da fare, ordinate in base alle cause più comuni:

In effetti il browser in genere raccomanda, proprio sotto l’errore, di “provare a cancellare i cookie”. Ovviamente non mi dilungo su cosa siano i cookies, ci vorrebbe un altro articolo, ma i cookie a volte possono contenere dati errati in cui potrebbe nascondersi la causa dell’errore ERR_TOO_MANY_REDIRECTS. Dato che i cookie mantengono il vostro stato di “autenticato” sui siti web e in altre diverse impostazioni, il consiglio è semplicemente di eliminare i cookie sul sito che presenta questo problema in modo specifico in modo da non incidere su nessuna delle vostre altre sessioni o sui siti web visitati di frequente. Oppure eliminateli tutti, a scanso di equivoci, poco male, tanto poi i cookies vengono ricreati ogni volta che visitate per la prima volta un sito o a tempistiche ricorrenti ogni tanto. Si possono fare a scelta l’una o l’altra cosa.
Su ogni browser, ovviamente, c’è il modo di cancellare i cookies, chiaramente tanto per semplificare le cose in ogni browser le modalità sono diverse, ma cercando un po’ si trovano senza problemi.

Cancellate la Cache del sito WordPress, del Server, del Proxy e del Browser

I loop di reindirizzamento possono essere memorizzate nella cache quindi è sempre consigliabile svuotare la cache nel vostro sito WordPress, sul server, sui servizi proxy di terze parti e persino sul browser, se necessario. Può sussistere un tipo di cache, ma anche tutti e tre i tipi, molti providers utilizzano il “bluff” della cache per velocizzare il vostro sito WordPress, quindi provate a cancellare tutti i tipi di cache, vediamo come fare.

Cancellare la Cache del Sito WordPress

Se siete in grado di accedere alla dashboard di WordPress, potrete evidentemente cancellare la cache all’interno delle impostazioni del vostro plugin di caching. Ma abbiamo visto che a volte non si riesce neanche ad accedere a wp-admin per cui eventualmente procediamo all’opzione successiva.

Cancellare la Cache del Server

Se non riuscite ad accedere alla vostra dashboard, allora riponete le vostre speranze nel provider di hosting. Infatti, molti host di WordPress dispongono di propri strumenti di controllo per svuotare la cache sul vostro sito WordPress. Ad esempio Kinsta, oppure Siteground usano la cache del server, di conseguenza avrete uno strumento per cancellarla oppure potrete chiedere di farlo all’assistenza.

Cancellare la Cache del Proxy

Utilizzando servizi più evoluti magari potreste utilizzare un servizio di reverse proxy di terze parti, tipo Cloudflare o Sucuri, nel caso può essere utile anche svuotare la cache da questo lato.

Cancellare la Cache del Browser

Un altro controllo da fare è se il problema sia causato dalla cache del browser, in questo caso potete: a) aprire il browser in modalità di navigazione in incognito, b) potete provare con altri browser, c) cancellare tutta la cache del browser, preferibilmente tutta e non quella del giorno.

Individuate da cosa è determinato il Ciclo di Reindirizzamento

Se siete qui a leggere evidentemente anche la cancellazione della cache non ha funzionato, quindi è ora di fare un vero Debug del problema, e di verificare se sia possibile determinare la natura del ciclo di reindirizzamento. Ci sono degli strumenti per farlo. Uno è Lo strumento online gratuito Redirect Checker tool che può aiutarvi ad approfondire l’analisi di quello che si sta verificando. Questa analisi è paragonabile a quella eseguita tramite cURL, naturalmente da sviluppatori esperti. Oppure si può usare l’estensione di Chrome Redirect Path molto utile per vedere i reindirizzamenti della pagina che si sta tentando di aprire.

Controllate le Vostre Impostazioni HTTPS

Un’altra cosa da controllare sono le impostazioni HTTPS. Molto spesso di verifica l’errore ERR_TOO_MANY_REDIRECTS subito dopo una migrazione di WordPress su HTTPS in cui la configurazione non è stata completata o è stata effettuata in modo errato.
Se forzate il caricamento del vostro sito WordPress su HTTPS senza prima installare un certificato SSL, immediatamente si verificherà un ciclo di reindirizzamento. Questo è di gran lunga uno dei motivi più frequenti dell’errore TOO_MANY_REDIRECT. Per risolvere il problema, è sufficiente installare un certificato SSL sul vostro sito WordPress. Ma controlliamo anche la corretta impostazione del certificato ed in rete si possono trovare strumenti gratuiti per fare questo controllo.

Controllate i Reindirizzamenti da HTTP a HTTPS sul Server, potrebbe benissimo essere che le regole di reindirizzamento HTTPS sul server siano state configurate in modo errato

Controllate i Servizi di Terze Parti

L’errore ERR_TOO_MANY_REDIRECTS è spesso causato anche da servizi di reverse proxy come Cloudflare. Questo di solito accade quando la loro opzione Flexible SSL è attivata e voi avete già un certificato SSL installato sul vostro host WordPress. Quando è selezionato Flexible, tutte le richieste al server di hosting vengono inviate tramite HTTP. Molto probabilmente il server host ha già in funzione un reindirizzamento da HTTP a HTTPS e pertanto si verifica un ciclo di reindirizzamento. Per risolvere questo problema è necessario modificare le impostazioni Crypto di Cloudflare da Flexible a Full o a Full (strict).

Controllate le Impostazioni del Vostro Sito WordPress

Nelle impostazioni del vostro sito WordPress ci sono due diversi campi che dovreste verificare se siano impostati correttamente e che non puntino a un dominio sbagliato o che siano corrispondenti. Un altro errore comune è quello di non utilizzare il prefisso corretto per abbinare le altre pagine del vostro sito, www o non www. A volte si migrano gli host o si cambiano i domini e questi possono anche essere modificati a vostra insaputa. In pratica sono due: Indirizzo WordPress (URL) ovvero l’indirizzo per raggiungere il vostro blog e Indirizzo del sito (URL ossia l’indirizzo dei file core di WordPress. Dovrebbero corrispondere a meno che non stiate utilizzando WordPress in una specifica directory.
Nel malaugurato caso che non siate in grado di accedere alla dashboard di WordPress in wp-admin è possibile sovrascrivere queste impostazioni modificando il file wp-config.php che si trova nella cartella principale del vostro sito WordPress inserendo questi valori, naturalmente con il dominio corretto, prima della riga /* That's all, stop editing! Happy publishing. */ :

define('WP_HOME','https://yourdomain.com');
define('WP_SITEURL','https://yourdomain.com');

ci sarebbero altri due modi per farlo: entrando direttamente nel database, oppure tramite WP-CLI. Il primo lo sconsiglio assolutamente, perchè si rischia di fare dei danni irreparabili se non si è più che esperti, il secondo è una operazione da sviluppatori esperti e con conoscenza di WP-CLI.

Disattivate Temporaneamente i Plugin di WordPress

Ci sono dei plugin molto usati tipo Redirection o Yoast SEO, che consentono di implementare reindirizzamenti. Può benissimo succedere quindi che le impostazioni o gli aggiornamenti di questi plugin possano andare in conflitto con i reindirizzamenti che potrebbero già essere impostati sul server, causando un ciclo di reindirizzamento.
Teniamo presente che non si perde alcun dato se viene disabilitato un plugin. Nel sempre malaugurato caso che non possiate accedere al pannello di amministrazione di WordPress per fare questa cosa avrete bisogno di accedere via FTP e per disabilitare i vari plugins ritenuti probabili responsabili del problema è sufficiente rinominare la cartella del plugin stesso assegnando un nome diverso ad esempio plugins_temp oppure quello che volete. Poi fate i dovuti controlli nella speranza di poter accedere di nuovo al pannello di amministrazione e poi riattivare i plugin momentaneamente disabilitati.

Controllate i Reindirizzamenti sul Vostro Server

Avendo già controllato i reindirizzamenti da HTTP a HTTPS sul server, bisognerebbe, se ancora il problema non è stato risolto, assicurarsi che non ci siano ulteriori impostazioni di redirect errate. Ad esempio, un redirect 301 verso se stesso potrebbe mandar giù il vostro sito, oppure altri redirect di altro tipo. Di solito, questi redirect si trovano nei file di configurazione del vostro server che può essere .htaccess se usate Apache oppure nginx.conf se utilizzate NGINX. Per Apache è necessario accedere via FTP e controllare il file .htaccess, magari è buona norma farne prima una copia. Normalmente se vi trovate nel bel mezzo del problema creato dall’errore ERR_TOO_MANY_REDIRECTS e non potete accedere al pannello di amministrazione di WordPress può essere utile ricreare il file .htaccess utilizzando quello standard di WordPress:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

che potrete trovare anche nel CODEX di wordpress insieme a descrizione ed esempi.

Se l’host utilizza Nginx, il file di configurazione può essere un po’ più complesso in quanto può variare leggermente a seconda del provider di hosting. In questo caso vi consiglio di contattare l’assistenza del vostro provider e chiedere di controllarlo.

Evidentemente i loop di reindirizzamento possono a volte essere difficili da risolvere, per cui non credete mai a chi vi pone soluzioni facili, ma voglio sperare che alcuni dei passaggi sopra riportati vi siano di aiuto a risolvere l’errore ERR_TOO_MANY_REDIRECTS.

Lascia un commento