L’errore 500 Internal Server Error di WordPress è uno degli errori più frustranti perché non fornisce alcuna informazione su cosa sia andato storto. Può comparire su qualsiasi pagina, mettere completamente offline il tuo sito e danneggiare il tuo posizionamento nei motori di ricerca se rimane irrisolto per più di qualche ora.
Contents
- Che cos’è l’errore 500 Internal Server Error di WordPress?
- Cosa causa un errore 500 in WordPress?
- Controlli rapidi da provare per primi
- Soluzione 1: Attivare la modalità debug di WordPress
- Soluzione 2: Rigenerare il file .htaccess
- Soluzione 3: Aumentare il limite di memoria PHP
- Soluzione 4: Disattivare tutti i plugin
- Soluzione 5: Reinstallare i file del core di WordPress
- Soluzione 6: Contattare il tuo provider di hosting
- Cosa fare se nessuna delle soluzioni funziona
- Articoli correlati
In breve: Le cinque soluzioni più comuni per un errore 500 di WordPress sono: (1) attivare la modalità debug per leggere il log degli errori, (2) controllare e rigenerare il file .htaccess, (3) aumentare il limite di memoria PHP, (4) disattivare tutti i plugin e riattivarli uno alla volta e (5) reinstallare i file del core di WordPress. Inizia dalla modalità debug, così saprai quale soluzione specifica applicare.
Che cos’è l’errore 500 Internal Server Error di WordPress?
Un codice di stato 500 è il modo generico con cui il server dice "qualcosa è andato storto". Quando il tuo browser richiede una pagina, il server esegue il codice PHP per costruire quella pagina. Se qualcosa in quel processo fallisce prima che si possa formare una risposta corretta, il server risponde con un HTTP 500 anziché con la pagina stessa.
L’errore può presentarsi così:

Oppure può presentarsi così:

La caratteristica principale è che l’errore è generico. Ti dice che la richiesta è fallita, ma non il perché. È questo che lo rende più difficile da risolvere rispetto a un errore più specifico come un 404 (pagina non trovata) o un 403 (accesso negato). Il resto di questa guida ti offre un percorso sistematico attraverso le cause più comuni.
Cosa causa un errore 500 in WordPress?
Le cause più comuni sono:
- Un file
.htaccessdanneggiato o malformato - Esaurimento della memoria PHP
- Un conflitto tra plugin o temi che provoca un errore fatale di PHP
- File del core di WordPress danneggiati
- Un guasto a livello di server (crash di PHP-FPM, configurazione errata, permessi dei file)
Usa la tabella seguente per abbinare la tua situazione alla causa più probabile e alla prima soluzione più rapida da provare:
| Quando è comparso l’errore 500? | Ambito | Causa più probabile | Prima soluzione da provare |
|---|---|---|---|
| Dopo aver installato o aggiornato un plugin | Intero sito | Conflitto tra plugin | Soluzione 4: Disattivare tutti i plugin |
| Dopo aver modificato wp-config.php o .htaccess | Intero sito | Errore di sintassi nel file di configurazione | Soluzione 2: Rigenerare .htaccess |
| Dopo un aggiornamento del core di WordPress | Intero sito | File del core danneggiati | Soluzione 5: Reinstallare i file del core |
| Nessuna modifica recente, intero sito offline | Intero sito | Esaurimento della memoria | Soluzione 3: Aumentare il limite di memoria PHP |
| Nessuna modifica recente, una sola pagina interessata | Una sola pagina | Problema di permalink o mod_rewrite | Soluzione 2: Rigenerare .htaccess |
| Impossibile accedere a wp-admin | Intero sito | Causa sconosciuta | Soluzione 1: Attivare prima la modalità debug |
Controlli rapidi da provare per primi
Prima di toccare qualsiasi file, esegui questi due rapidi passaggi. Uno dei due può risolvere un errore 500 causato da una cache obsoleta.
Forza l’aggiornamento della pagina: Premi Ctrl + F5 su Windows o Cmd + Shift + R su Mac per bypassare la versione in cache e caricare la copia più recente della pagina.
Svuota la cache del browser: Svuotare la cache del browser esclude un problema di caching lato client prima che tu modifichi qualsiasi file del server.
- Google Chrome: Premi
Ctrl + Shift + Delete, seleziona l’intervallo di tempo desiderato e clicca su "Cancella dati".

- Mozilla Firefox: Premi
Ctrl + Shift + Delete, scegli l’intervallo di tempo appropriato e clicca su "Cancella adesso".

- Apple Safari: Premi
Command + Option + Eper cancellare istantaneamente la cache. - Microsoft Edge: Premi
Ctrl + Shift + Delete, spunta "Immagini e file memorizzati nella cache" e clicca su "Cancella adesso".
Se l’errore scompare dopo aver svuotato la cache, hai finito. Se persiste, prosegui con le soluzioni numerate qui sotto.
Puoi creare un sito di staging per testare in sicurezza ogni soluzione prima di applicarla al tuo sito di produzione con WP STAGING.
Soluzione 1: Attivare la modalità debug di WordPress
Il primo passo più sicuro è attivare il logging di debug di WordPress, così da poter leggere l’errore esatto che ha causato la risposta 500. Senza il log, ogni soluzione successiva è solo un tentativo alla cieca. Nei ticket di supporto di WP STAGING, la prima causa più comune che riscontriamo è un conflitto tra plugin, e il log di debug lo fa emergere immediatamente.
Apri il tuo file wp-config.php (che si trova nella cartella radice della tua installazione WordPress, accessibile tramite FTP o il gestore file del tuo hosting) e aggiungi queste tre righe:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Dai un’occhiata a questo articolo per una guida passo passo su come attivare il log di debug di WordPress.
Il log di debug viene scritto in /wp-content/debug.log. Apri il file e cerca il primo errore nella parte superiore. Se il log indica un plugin specifico, rinomina la cartella di quel plugin per disabilitarlo. Ad esempio, rinomina /wp-content/plugins/woocommerce in /wp-content/plugins/woocommerce-disabled.
Se il log di debug è vuoto, controlla il log degli errori a livello di server:
- Apache:
/var/log/apache2/error.log - Nginx:
/var/log/nginx/error.log
Accedi a questi file tramite FTP o il pannello di controllo del tuo hosting. Alcuni pannelli di controllo mostrano il log degli errori anche attraverso la loro interfaccia utente.
Soluzione 2: Rigenerare il file .htaccess
Un file .htaccess danneggiato è una delle cause più comuni di un errore 500 sui server basati su Apache. Il file si trova nella directory radice di WordPress, accanto alle cartelle wp-admin, wp-includes e wp-content.

Per rigenerarlo:
- Connettiti al tuo sito tramite FTP o il gestore file del tuo hosting.
- Rinomina il file
.htaccessesistente in.htaccess_backup, così da avere una copia di riserva. - Crea un nuovo file chiamato
.htaccesse incolla al suo interno le regole di rewrite predefinite di WordPress:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Ricarica il tuo sito. Se la causa era il file .htaccess danneggiato, l’errore si risolve immediatamente.
Alternativa tramite la bacheca di WordPress: Se hai ancora accesso alla bacheca, vai su Impostazioni > Permalink e clicca su "Salva le modifiche" senza cambiare nulla. WordPress rigenera automaticamente il file .htaccess con quel salvataggio.
Soluzione 3: Aumentare il limite di memoria PHP
PHP elabora ogni richiesta di pagina entro un budget di memoria. Quando un plugin, un tema o una query complessa supera quel budget, il server risponde con un errore 500. Dai nostri test su ambienti di hosting condiviso, l’esaurimento della memoria PHP è il fattore scatenante lato server più comune che riscontriamo quando l’errore non è stato preceduto da modifiche recenti al sito.
Puoi aumentare il limite in due modi:
Opzione A: Tramite cPanel (se il tuo host lo fornisce)
- Accedi a cPanel.
- Apri "Select PHP Version".
- Clicca su "Switch to PHP Options".
- Clicca su
memory_limite aumenta il valore a256o512(MB), poi salva.
Opzione B: Tramite wp-config.php

Apri wp-config.php e aggiungi questa riga vicino alla parte superiore:
define('WP_MEMORY_LIMIT', '256M');
Salva il file e ricarica il tuo sito. Se la causa era l’esaurimento della memoria, l’errore si risolve dopo il salvataggio.
Soluzione 4: Disattivare tutti i plugin
I conflitti tra plugin sono una causa principale frequente di un errore 500 di WordPress. Se la Soluzione 1 ha confermato un conflitto tra plugin nel log di debug, oppure se non riesci a leggere il log, disattivare tutti i plugin e riattivarli uno alla volta ti permette di individuare il colpevole.
Se hai accesso alla bacheca di WordPress:
- Vai su Plugin nella bacheca.
- Seleziona tutti i plugin usando la casella di controllo in alto.
- Dal menu a tendina "Azioni di gruppo", scegli "Disattiva", poi clicca su "Applica".

- Ricarica il tuo sito. Se l’errore è scomparso, riattiva i plugin uno alla volta, ricaricando dopo ciascuno, finché l’errore non ricompare. L’ultimo plugin che hai attivato è il colpevole.
Se non riesci ad accedere alla bacheca di WordPress:
Connettiti tramite FTP e rinomina la cartella dei plugin:
- Rinomina
/wp-content/pluginsin/wp-content/plugins-disabled. - Ricarica il tuo sito. Se torna a funzionare, hai confermato un conflitto tra plugin.
- Rinomina la cartella di nuovo in
/wp-content/plugins. - Disabilita i singoli plugin rinominando le loro sottocartelle (ad esempio, rinomina
/wp-content/plugins/woocommercein/wp-content/plugins/woocommerce-disabled), poi ricarica dopo ogni rinomina.
Soluzione 5: Reinstallare i file del core di WordPress
Se l’errore è comparso senza alcuna modifica ai plugin o ai temi, la causa potrebbero essere i file del core di WordPress danneggiati. Puoi reinstallare il core senza sovrascrivere i tuoi contenuti, plugin o temi.
- Scarica l’ultima copia di WordPress da wordpress.org.

- Decomprimi l’archivio scaricato.
- Connettiti al tuo server tramite FTP o il gestore file del tuo hosting.
- Rinomina le cartelle esistenti
/wp-admine/wp-includesin/wp-admin-backupe/wp-includes-backup.

- Carica le nuove cartelle
/wp-admine/wp-includesdall’archivio decompresso nella stessa posizione.

- Ricarica il tuo sito. Se la causa erano i file del core danneggiati, l’errore si risolve al termine del caricamento.
Non sostituire il file wp-config.php né la cartella wp-content durante questo processo. Quei file contengono le credenziali del database e tutti i media caricati.
Soluzione 6: Contattare il tuo provider di hosting
Se nessuna delle cinque soluzioni precedenti ha risolto l’errore, il problema è molto probabilmente a livello di server piuttosto che all’interno della tua installazione WordPress. Le cause a livello di server includono:
- Un processo PHP-FPM che è andato in crash o si è fermato silenziosamente
- Una configurazione errata di Apache o Nginx introdotta durante un aggiornamento del server
- Modifiche ai permessi dei file che impediscono a PHP di leggere i file di WordPress
- Limiti di risorse a livello di server non correlati al limite di memoria PHP
Contatta il team di supporto del tuo provider di hosting e condividi le righe pertinenti del log degli errori del server che hai trovato nella Soluzione 1. La maggior parte degli host WordPress gestiti può diagnosticare rapidamente gli errori 500 a livello di server a partire dal log.
Se il tuo host non riesce a risolvere il problema, oppure se gli errori 500 si ripresentano di frequente in condizioni di carico normale, potrebbe essere il momento di valutare un ambiente di hosting più performante per le esigenze del tuo sito.
Cosa fare se nessuna delle soluzioni funziona
Se hai provato tutte e sei le soluzioni e l’errore persiste, usa questa tabella per restringere le possibilità rimanenti:
| Sintomo | Cosa controllare |
|---|---|
| Il log di debug è vuoto dopo aver attivato WP_DEBUG | Controlla il log degli errori a livello di server (il percorso Apache o Nginx della Soluzione 1); l’errore PHP potrebbe non raggiungere il livello di log di WordPress |
| Tutti i plugin disattivati, ma l’errore si verifica ancora | Passa a un tema WordPress predefinito (come Twenty Twenty-Four) tramite FTP rinominando la cartella del tuo tema attivo sotto /wp-content/themes/ |
| Errore solo su wp-admin, non sul front-end | Un plugin o file specifico per l’amministrazione in /wp-content/mu-plugins/ potrebbe caricarsi e fallire; controlla quella directory |
| L’errore 500 compare su un solo URL | Uno shortcode, un campo personalizzato o un blocco specifico di un articolo potrebbe innescare un errore fatale; attiva WP_DEBUG e visita quell’URL per catturare la voce di log |
| Il provider di hosting dice che non c’è nessun errore del server | Chiedi in modo specifico dello stato di salute del processo PHP-FPM e se il pool di worker PHP è stato riavviato di recente |
Articoli correlati
- Come risolvere l’errore "File Type Not Permitted for Security Reasons"
- Come risolvere l’errore 503 Service Unavailable in WordPress
- Come risolvere i problemi di aggiornamento e reindirizzamento della pagina di login di WordPress?
- Risolvi l’errore "This Site Can’t Be Reached"
- Come risolvere i problemi di login di WordPress?