Come correggere l’errore «Cookies are blocked or not supported by your browser»

Soluzione rapida: questo errore significa che WordPress non riesce a impostare un cookie di accesso. Apri wp-config.php e rimuovi (o correggi) eventuali costanti COOKIE_DOMAIN e COOKIEPATH. Se così non si risolve, il metodo con functions.php qui sotto reimposta direttamente il percorso del cookie.

Vedi il messaggio «Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress» quando provi ad accedere? Questo articolo illustra le due soluzioni più affidabili e spiega cosa provare quando nessuna delle due funziona.

Diagnostica prima — scegli la soluzione adatta alla tua situazione:

Sintomo Causa più probabile Inizia da
L’errore compare solo sul tuo sito di staging Costante COOKIE_DOMAIN rimasta da una migrazione Metodo 1 (correzione di wp-config.php)
L’errore compare in modalità privata/incognito Cookie disabilitati per quella sessione del browser Passa a una normale finestra del browser
L’errore è comparso dopo lo spostamento su un nuovo host I vecchi cookie del browser entrano in conflitto con il nuovo server Elimina i cookie del browser e riprova
L’errore compare anche sul sito live Interferenza di un plugin di sicurezza o di cache Disabilita temporaneamente i plugin; poi prova il Metodo 1
Nessuna delle due soluzioni qui sotto lo risolve Disallineamento SSL o policy sui cookie di terze parti Vedi la sezione «Cosa fare se nessuna soluzione funziona»
Messaggio di errore: Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress
Questa immagine mostra l’errore: Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress.

Cause dell’errore: «Cookies are blocked or not supported by your browser»

Al contrario di quanto dice il messaggio di errore, la causa principale è raramente un’impostazione del browser. Il messaggio compare perché WordPress non riesce a scrivere il proprio cookie di autenticazione, il più delle volte perché una costante in wp-config.php punta al dominio sbagliato, oppure perché un plugin interferisce con la gestione dei cookie.

Nei ticket di supporto di WP STAGING, la causa più comune è una costante COOKIE_DOMAIN rimasta da una migrazione precedente che non corrisponde più al dominio attuale del sito.

A volte l’errore scompare aggiornando il browser. Se non succede, applica le soluzioni qui sotto.

Errore di accesso a WordPress causato da un plugin di sicurezza o di cache

I plugin di sicurezza o di cache possono interferire con la gestione dei cookie e del login di WordPress, impedendo la corretta generazione del cookie di accesso. Per isolare la causa, disattiva temporaneamente il plugin di sicurezza o di cache rinominando la sua cartella via FTP o con un file manager: rinomina /wp-content/plugins/plugin-name in qualcos’altro, quindi prova ad accedere.

Se questo risolve il problema, reinstalla il plugin e contatta il suo sviluppatore riguardo al conflitto sui cookie.

Errore «WordPress not supported cookies» dopo aver cambiato server o hosting provider

Se migri il tuo sito WordPress su un altro server mantenendo lo stesso dominio, i cookie memorizzati nel tuo browser potrebbero entrare in conflitto con la sessione del nuovo server. Elimina tutti i cookie del browser e prova ad accedere di nuovo.

Perché i cookie tendono a fallire soprattutto sui siti di staging

I siti di staging ospitati in una sottocartella (ad esempio tuosito.com/staging/) condividono il dominio principale con il sito live. WordPress imposta il proprio cookie di autenticazione usando le costanti COOKIE_DOMAIN e COOKIEPATH. Se una di queste costanti in wp-config.php punta ancora alla radice del sito live o al dominio di un host precedente, il sito di staging non riesce a scrivere il proprio cookie di accesso.

È lo scenario che gli utenti di WP STAGING incontrano più spesso: dopo aver effettuato il push di un sito di staging verso il live, la vecchia costante COOKIE_DOMAIN rimane in wp-config.php sulla copia di staging. La soluzione del Metodo 1 qui sotto la corregge in una sola riga.

Risolvere l’errore «Cookies Blocked» modificando il file wp-config.php

Questa è la soluzione più affidabile per gli ambienti di staging e le configurazioni post-migrazione. Apri wp-config.php nella cartella principale del tuo sito, accessibile via FTP (ad esempio FileZilla) o tramite il file manager del tuo host.

Cerca qualsiasi riga che definisce COOKIE_DOMAIN o COOKIEPATH. Se ne trovi una, rimuovila o sostituiscila con la riga qui sotto. Incollala appena sopra il commento che recita /* That's all, stop editing! Happy publishing. */:

PHP
define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST'] );

Salva il file, elimina i cookie del browser e ricarica la pagina di accesso.

Cosa fa questa riga: usare $_SERVER['HTTP_HOST'] fa sì che COOKIE_DOMAIN si risolva nel dominio su cui il sito è attualmente in esecuzione, invece di un valore fisso ereditato da un host precedente o da una migrazione. In questo modo si elimina il disallineamento tra il cookie memorizzato e il dominio attuale.

Risolvi l’errore «Cookies are blocked or not Supported» modificando il file functions.php

Se la correzione di wp-config.php non ha risolto il problema, questa alternativa reimposta il percorso del cookie a livello di WordPress. Dai nostri test, questo approccio risolve i casi in cui SITECOOKIEPATH e COOKIEPATH sono divergenti, una causa dell’errore meno comune ma persistente.

Passaggio 1: Apri e modifica il file functions.php

Accedi al file functions.php del tuo tema tramite il file manager di cPanel o via FTP. Il file si trova in wp-content/themes/your-theme-name/functions.php.

Passaggio 2: Aggiungi codice al file functions.php

Copia il codice qui sotto e incollalo in fondo al file functions.php:

PHP
if ( SITECOOKIEPATH != COOKIEPATH ) {
    setcookie(TEST_COOKIE, 'WP Cookie check', 0, SITECOOKIEPATH, COOKIE_DOMAIN);
}

Passaggio 3: Salva il file

Salva il file e ricaricalo sul tuo server se l’hai modificato in locale. L’errore non dovrebbe più comparire quando accedi.

Cosa fare se nessuna soluzione funziona

Se entrambi i metodi precedenti non hanno effetto, la causa è probabilmente una delle seguenti:

Il browser blocca tutti i cookie a livello globale. Apri le impostazioni sulla privacy del tuo browser e verifica che i cookie siano abilitati. In Chrome: Impostazioni → Privacy e sicurezza → Cookie e altri dati dei siti → «Consenti tutti i cookie». In Firefox: Impostazioni → Privacy e sicurezza → Personalizzata → deseleziona «Cookie». In Safari: Preferenze → Privacy → deseleziona «Blocca tutti i cookie».

Restrizioni sui cookie di terze parti nei browser moderni. Chrome, Firefox e Safari limitano i cookie di terze parti per impostazione predefinita. Se l’endpoint di accesso di WordPress viene servito da un sottodominio diverso da quello del sito principale, come spesso accade nelle configurazioni di staging, il browser potrebbe bloccare il cookie. La correzione di COOKIE_DOMAIN del Metodo 1 risolve questo problema per la maggior parte delle installazioni di staging in sottocartella.

Disallineamento del cookie-domain nella sottocartella di staging. Se il tuo sito di staging è in tuosito.com/staging/ e COOKIE_DOMAIN è impostato su tuosito.com senza il percorso della sottocartella, WordPress non riesce a far corrispondere il cookie. Aggiungi define('COOKIEPATH', '/staging/'); a wp-config.php insieme alla correzione di COOKIE_DOMAIN.

Configurazione errata di SSL/HTTPS. Se il tuo sito ha un certificato SSL ma WordPress è ancora configurato per usare http:// in siteurl o home (in wp_options), il requisito di cookie sicuro del browser potrebbe rifiutare il cookie di autenticazione. Verifica che entrambi i valori in wp-admin → Impostazioni → Generali usino https://.

Verificare la soluzione: cosa dovresti vedere dopo aver eliminato i cookie ed effettuato l’accesso

Dopo aver applicato uno dei due metodi:

  1. Elimina tutti i cookie del dominio del tuo sito nel browser.
  2. Apri una nuova scheda del browser e vai alla pagina di accesso di WordPress.
  3. Inserisci le tue credenziali. Se la soluzione ha funzionato, arriverai alla bacheca senza vedere l’errore dei cookie.
  4. Prova anche in una finestra in incognito o privata: questo esclude eventuali stati di cookie memorizzati nella tua sessione principale.

Se l’errore ricompare solo in modalità privata, è probabile che un’estensione del browser (come un ad blocker o uno strumento per la privacy) stia intercettando il cookie. Prova a disabilitare le estensioni una alla volta per individuare il conflitto.


Cerchi il plugin di backup, migrazione e staging più affidabile per WordPress? Prova WP STAGING.

Articoli correlati

Rene Hermenau

Autore: Rene Hermenau

Informazioni sull'autore: René Hermenau è il fondatore di WP STAGING. Si occupa di backup WordPress, staging, migrazioni, gestione dei database e flussi di deployment sicuri.