Recentemente mi sono trovato ad aiutare un cliente che lamentava un problema molto fastidioso: diversi suoi nuovi siti andavano randomicamente in errore 500, senza apparente motivo.
L’errore 500, per chi sviluppa, è uno dei più odiosi perché il sito crasha e non restituisce alcun output leggibile. Anche attivare il debug di WordPress spesso non basta: il sito resta bianco o restituisce la generica scritta Internal Server Error.
Ma non preoccuparti: l’esperienza accumulata mi ha insegnato che, seguendo alcuni semplici passaggi in sequenza, è possibile diagnosticare e risolvere questo errore apparentemente incomprensibile. Nella maggior parte dei casi, la soluzione è più semplice di quanto sembri.
Indice dei contenuti
Partire dai log del server
Quando un sito va in errore 500, il primo passo consigliato è controllare i log di errore del server.
Ogni pannello di controllo (Plesk, cPanel, DirectAdmin, ecc.) mette a disposizione un registro dedicato, spesso chiamato “Error Logs” o “Registro errori”. Qui vengono annotate tutte le informazioni tecniche utili a capire cosa sta causando il malfunzionamento del sito.

Leggere questi log può sembrare complicato all’inizio, ma in realtà permette di individuare rapidamente la causa dei problemi, anche quando l’errore sembra inspiegabile.
Nel mio caso, consultando il log di uno dei siti del cliente, la causa era chiara fin da subito: un problema di memoria esaurita.
La memoria PHP e WordPress
Quando il tuo sito WordPress va in errore per limiti di memoria, il primo passo è controllare il pannello di controllo del tuo hosting e aumentare la memoria disponibile per PHP.
Nei pannelli più comuni (ad esempio Plesk, cPanel o DirectAdmin), queste impostazioni si trovano di solito sotto PHP Settings o Impostazioni PHP, dove puoi modificare il valore di memory_limit.

Tuttavia, WordPress ha dei limiti di memoria interni che vanno configurati separatamente nel file wp-config.php. La riga più conosciuta è:
define( 'WP_MEMORY_LIMIT', '256M' );Questa imposta la memoria massima utilizzabile dal frontend. WordPress di default assegna solo 128 MB, spesso insufficienti per la maggior parte dei siti. L’ideale sarebbe ottimizzare il sito per rimanere entro questo limite, ma non sempre è possibile.
In sintesi per aumentare la memoria
- Controlla il limite PHP sul tuo hosting e aumentalo se necessario.
- Configura il limite interno di WordPress nel wp-config.php
Quando il fix classico non basta
Nel caso del cliente, il sito aveva già:
- un limite server di 512 MB;
- un limite WordPress impostato a 512 MB sul frontend.
Eppure, continuava a crashare.
Approfondendo il log, ho trovato la causa esatta dell’errore fatale:
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted
(tried to allocate 8388608 bytes)
in /wp-content/wflogs/rules.php on line 5907Quindi, nonostante avessi già aumentato la memoria, il sito continuava a soffrire di un problema di memoria insufficiente. Dal momento che l’errore era legato a wflogs, una sezione di Wordfence richiamata lato backend, il limite impostato per il frontend non sortiva alcun effetto.
Wordfence e la memoria admin
Questa è una situazione che capita raramente, ma può succedere: Wordfence gira lato admin, perché fa scansioni, scrive nei log e legge file potenzialmente molto grandi.
In più, il sito del cliente aveva:
- oltre 30 plugin attivi
- plugin per custom fields
- plugin per form
- plugin per statistiche
- Query Monitor installato (ottimo strumento che, in questo caso, mi indicava consumi medi di 220 MB per ogni pagina admin)
In pratica, bastava una scansione più pesante, o una scrittura su file particolarmente corposo, per superare il limite di 256 MB previsto da WordPress per il backend.
La soluzione: aumentare la memoria admin
WordPress prevede due valori distinti di memoria: uno per il frontend e uno per il backend (wp-admin). Pochi lo sanno, ma anche se hai aumentato la memoria principale, il backend può avere limiti separati che causano crash con plugin pesanti o operazioni in background.
La costante dedicata al backend è:
define( 'WP_MAX_MEMORY_LIMIT', '512M' );Inserendola nel wp-config.php, è possibile risolvere problemi legati alla memoria dell’admin. Le righe finali consigliate sono:
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );⚠️ Nota: non sempre è necessario settarle entrambe. In molti casi, basta aumentare il
WP_MEMORY_LIMIT.WP_MAX_MEMORY_LIMITserve solo se il crash riguarda specificamente il backend o come operazione di fallback quando l’aumento del limite principale non sortisce effetto.
Nota sul debug
Infine, una piccola raccomandazione: sul sito del cliente era attivo il debug in produzione, con scrittura su file log.
Tenere il debug attivo in produzione:
- rallenta il sito;
- aumenta il consumo di risorse;
- può rivelare percorsi interni e informazioni sensibili.
In produzione, il debug deve essere sempre spento. Impostare così nel wp-config.php:
define( 'WP_DEBUG', false );
define( 'WP_DEBUG_LOG', false );
define( 'WP_DEBUG_DISPLAY', false );Conclusione: Errore 500 su WordPress Admin
- Controllare sempre i log server-side quando si presenta un errore 500.
- Ricordarsi che WordPress imposta limiti interni di memoria, anche se il server ha valori alti.
- Se si usano plugin pesanti come Wordfence, valutare di aumentare
WP_MAX_MEMORY_LIMIToltre a .WP_MEMORY_LIMIT - Disattivare il debug in produzione, se non strettamente necessario.
FAQ – Errore 500 su WordPress
Cosa significa l’errore 500 su WordPress?
È un errore generico del server che indica un malfunzionamento, ma senza dettagli leggibili sul frontend.
Perché il sito va in errore 500 anche con memoria alta sul server?
WordPress ha limiti di memoria interni separati per frontend (WP_MEMORY_LIMIT) e backend (WP_MAX_MEMORY_LIMIT). Se un plugin pesante lavora nel backend, può causare crash anche con memoria server elevata.
Aumentare WP_MEMORY_LIMIT risolve sempre l’errore?
No, serve principalmente per il frontend. Se il problema è nel backend, occorre aumentare anche WP_MAX_MEMORY_LIMIT.
Wordfence può causare errori 500?
Sì, soprattutto quando esegue scansioni o scrive file di log voluminosi nel backend.
Posso lasciare il debug attivo in produzione?
Meglio di no: rallenta il sito, consuma risorse e può esporre informazioni sensibili.
Disattivare plugin aiuta a risolvere l’errore?
Sì, specialmente plugin non essenziali o pesanti; riduce il consumo di memoria e aumenta stabilità.
Esiste un ordine corretto per risolvere l’errore 500?
Sì: controlla i log server, verifica limiti PHP, aggiorna WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT, controlla plugin e disattiva quelli problematici.
Ottimizzare plugin e performance
Se vuoi rendere il tuo sito più leggero e performante, inizia controllando i plugin: disattiva quelli non necessari e valuta alternative più efficienti. Per approfondire, leggi il mio articolo su come velocizzare il tuo sito WordPress in 25 minuti.
Inoltre, ricorda che una manutenzione regolare, aggiornamenti, backup e ottimizzazioni, aiuta a mantenere il sito stabile, veloce e sicuro nel tempo. Puoi approfondire con l’articolo: perché un servizio di manutenzione WordPress è utile.
