Errore 500 WordPress e schermata bianca: chi controlla cosa, tu, l'hosting o uno sviluppatore
Un errore 500 in WordPress è una risposta generica del server: la pagina non si è potuta costruire. Le cause più comuni sono un plugin dopo un aggiornamento, un file .htaccess rotto, un limite di memoria PHP basso o la versione PHP sbagliata. Modifiche recenti, .htaccess e plugin li controlli tu nel file manager. L'hosting legge il log del server, uno sviluppatore corregge il codice.
Autore: Il team TellMyShop. Una guida per i titolari di siti WordPress e negozi WooCommerce: la causa, la correzione a mano e lo stesso lavoro in una conversazione in chat.
Ultimo aggiornamento: · 6 min di lettura
Riconosci il sintomo in un minuto
Prima di cambiare qualcosa, controlla dove si trova esattamente l'errore. Da questo dipende se parti da solo o chiami l'hosting.
| Sintomo | Causa più comune | Chi inizia |
|---|---|---|
| Tutto il sito e /wp-admin danno 500 | .htaccess, un plugin, la versione PHP | tu, poi l'hosting |
| Una schermata bianca senza alcun testo | un errore PHP con la visualizzazione degli errori spenta | tu, poi l'hosting |
| Il messaggio «Si è verificato un errore critico sul sito» («There has been a critical error on this website») | un plugin o il tema | vedi la guida all'errore critico |
| Un 500 solo durante un'azione, per esempio il salvataggio o il carrello | un plugin, poca memoria, un limite di tempo | tu con il log, poi uno sviluppatore |
| Un 500 che va e viene con molto traffico | limiti del server | hosting |
| 502 o 504 invece di 500 | il server non ha ricevuto in tempo una risposta da PHP | hosting |
Se vedi il messaggio di errore critico, passa alla guida dedicata: parla della modalità di recupero con l'email di WordPress. Questo articolo riguarda il caso di un semplice errore 500 o di una schermata bianca.
Tu: i primi dieci minuti
Questi passaggi li fai nel pannello dell'hosting, senza uno sviluppatore. Dopo ognuno, apri il sito in una finestra privata.
- Ripensa all'ultima modifica. L'aggiornamento di un plugin, un nuovo plugin, un cambio di versione PHP nel pannello dell'hosting, una modifica a .htaccess da parte di un plugin di sicurezza o di cache. Un errore 500 raramente compare senza motivo.
- Controlla il file .htaccess. Nel file manager dell'hosting, nella cartella del sito, attiva la visualizzazione dei file nascosti. Rinomina .htaccess in .htaccess-old. Se il sito torna, accedi e vai in Impostazioni, Permalink, Salva le modifiche. WordPress creerà un file nuovo e pulito.
- Disattiva i plugin rinominando la cartella. In wp-content rinomina la cartella plugins in plugins-disabled. Se il sito torna, ripristina il nome e attiva i plugin uno alla volta dalla bacheca finché l'errore non ritorna. L'ultimo attivato è il colpevole.
- Annulla il cambio di versione PHP. Se prima dell'errore hai cambiato la versione PHP nel pannello dell'hosting, torna a quella precedente.
- Fai uno screenshot e annota l'ora. Ti serviranno se devi scrivere all'hosting.
Cosa non fare: non ripristinare un backup completo con il database in un negozio, non eliminare plugin, rinomina solo le cartelle, e non reinstallare WordPress alla cieca.
L'hosting: cosa chiedere e cosa fornire
L'hosting vede ciò che tu non vedi: il log degli errori del server, i limiti di memoria e di tempo, la versione PHP e il carico. Il codice 500 di proposito non dice cosa è successo, ed è per questo che la documentazione di WooCommerce su come ottenere informazioni su un errore 500 consiglia di dare all'hosting l'URL esatto e l'ora dell'errore.
Un messaggio all'hosting può essere così:
- l'URL che dà l'errore 500, e da quando,
- l'ora esatta dell'ultima volta che si è presentato,
- cosa è cambiato subito prima dell'errore,
- cosa hai già controllato: .htaccess, plugin, versione PHP,
- la richiesta di un estratto del log degli errori del server di quel momento.
Le risposte tipiche degli hosting sono memoria PHP insufficiente, tempo di esecuzione superato, un errore di sintassi in .htaccess o una versione PHP non compatibile con un plugin. Un elenco di cause simili è raccolto anche nella guida di Rackspace.
Uno sviluppatore: quando serve
Ti serve uno sviluppatore quando il log indica un errore nel codice: in un tema su misura, in uno snippet aggiunto a functions.php o in un plugin il cui autore non pubblica più correzioni. Lo sviluppatore attiva la registrazione degli errori nel file debug.log con la visualizzazione ai visitatori spenta. Le impostazioni sono descritte nella documentazione sul debug di WordPress.
In due frasi il compito per lo sviluppatore suona così: «Da questa data il sito restituisce un 500 durante questa azione, e il log mostra questo errore. Per favore correggi il codice o proponi un plugin sostitutivo.»
Come aiuta la chat quando il sito funziona in parte
Il plugin TellMyShop per WordPress e WooCommerce funziona dentro WordPress. Quando tutto il sito dà 500, non ci sarà collegamento con la tua chat (Claude o ChatGPT), e il primo soccorso lo fai seguendo i passaggi qui sopra. La chat è utile in altre due situazioni: quando l'errore riguarda solo una parte del sito, e dopo la correzione, quando devi capire cosa è successo.
In TellMyShop Free la chat legge gli errori PHP, WordPress e WooCommerce raggruppati degli ultimi giorni, lo stato di salute del sito con la versione PHP e l'elenco dei plugin con le versioni. Apre anche gli URL scelti come farebbe un visitatore e mostra il codice di risposta. Così scrivi all'hosting o allo sviluppatore con dati concreti.
Tu: Il salvataggio degli articoli più lunghi dà un errore 500. Quelli corti si salvano normalmente.
La tua chat: Il log degli ultimi 3 giorni ha 14 voci «Allowed memory size exhausted» al salvataggio di un articolo. Puntano tutte al plugin Sample Image Optimiser, che elabora le immagini di un articolo quando viene salvato.
La tua chat: Salute del sito: il limite di memoria PHP è basso. Due opzioni: chiedere all'hosting un limite più alto o disattivare questo plugin. Anteprima della disattivazione:
Tu: Disattivalo. Domani parlo con l'hosting.
La tua chat: Disattivato. La home page e la bacheca rispondono correttamente. Ora prova a salvare quell'articolo lungo. Puoi riattivare il plugin dalla cronologia delle modifiche.
versione precedente: Sample Image Optimiser: attivo
nuova versione: Sample Image Optimiser: disattivato
Il nome del plugin e i numeri in questa conversazione sono inventati. La disattivazione di un plugin funziona in TellMyShop Pro con l'interruttore Plugin acceso; l'interruttore dura 24 ore e richiede un backup del database fatto lo stesso giorno. Prima della modifica la chat mostra un'anteprima e dice cosa potrebbe smettere di funzionare. Il plugin non cambia mai .htaccess né wp-config.php, quindi la chat non sistemerà il limite di memoria né le regole del server. Quelle restano all'hosting.
Se l'errore è comparso subito dopo un aggiornamento, leggi anche cosa fare quando WordPress non funziona dopo un aggiornamento. La versione gratuita la scarichi dalla pagina TellMyShop Free, e le differenze rispetto a Pro le vedi nella pagina prezzi. Altre guide le trovi sul blog.
Domande e risposte
In cosa un errore 500 è diverso dal messaggio di errore critico?
Il messaggio «Si è verificato un errore critico sul sito» lo mostra WordPress stesso quando un plugin o il tema si ferma con un errore PHP. Un errore 500 è una risposta generica del server che può comparire prima ancora che WordPress parta, per esempio per un .htaccess rotto o per i limiti del server. Una schermata bianca è spesso lo stesso errore, solo senza messaggio.
Un errore 500 vuol dire che ho perso dei dati?
Quasi mai. Articoli, pagine e ordini sono nel database, e un errore 500 dice solo che il server non è riuscito a costruire la pagina. Non correre a ripristinare un backup completo con il database, perché in un negozio cancelleresti gli ordini arrivati dopo il backup.
Cosa scrivo all'hosting per un errore 500?
Indica l'URL dove compare l'errore, l'ora esatta e cosa è cambiato subito prima. Chiedi di controllare il log degli errori del server di quel momento. La documentazione di WooCommerce consiglia proprio questo, perché il codice 500 di proposito non dice cosa è successo.
L'errore 500 compare solo durante un'azione. Cosa vuol dire?
Che il sito in generale funziona e il problema sta in un punto: al salvataggio di un articolo, nel carrello, durante un'importazione o nel pannello di un plugin. È una buona notizia, perché il log degli errori di quel momento di solito indica il plugin difettoso o la mancanza di memoria.
Posso alzare da solo il limite di memoria PHP?
A volte, nel pannello dell'hosting, tra le impostazioni PHP. Se il pannello non lo offre, chiedilo all'hosting. Alzare il limite aiuta solo quando il log dice che la memoria è finita, e non deve mascherare un plugin che ne usa troppa.
WordPress è un marchio della WordPress Foundation. WooCommerce è un marchio di Automattic Inc. Claude è un marchio di Anthropic PBC. ChatGPT e OpenAI sono marchi di OpenAI. TellMyShop non è affiliato a queste aziende.