Il tuo carrello è attualmente vuoto!
Errore 500 su WordPress: il caso di Wordfence e della memoria admin

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.
Indice dei contenuti
Partire dai log del server
In questi casi, la strada più veloce è sempre la stessa: controllare i log di errore del server.
Ogni pannello di controllo (Plesk, cPanel, DirectAdmin, ecc.) mette a disposizione un file di log, spesso nella sezione “Error Logs”, Registro. È lì che si trovano le informazioni preziose.
Nel mio caso, leggendo il log di uno dei siti, ho individuato subito la causa: problema di memoria esaurita.
La memoria PHP e WordPress
Quando si parla di “memoria esaurita”, la soluzione più classica è quella di aumentare il limite di memoria tramite il file wp-config.php
.
Questa è la riga più famosa:
define( 'WP_MEMORY_LIMIT', '256M' );
Quasi sempre basta, perché la parte del sito che consuma più risorse è il frontend, dove girano i temi, gli shortcode, gli script di caricamento pagine.
Ma c’è un aspetto che molti ignorano: anche se il server ha un limite di memoria alto (es. 512 MB), WordPress di default imposta limiti più bassi:
- Frontend: 128 MB
- Admin (backoffice): 256 MB
Se il server ha un limite basso, non si può superare il valore definito in PHP (es. memory_limit
in php.ini). Quindi è sempre importante:
- verificare il limite server;
- eventualmente modificarlo dal pannello di controllo hosting.
- aumentare, quando serve, il limite di wordpress
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 5907
Era Wordfence, durante la scrittura del proprio log, a far collassare la memoria.
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
Pochi sanno che esiste una costante dedicata esclusivamente alla memoria del backend, diversa da quella del frontend:
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
Inserendola in wp-config.php
, ho risolto il problema. Ecco le righe finali consigliate:
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
WP_MEMORY_LIMIT
→ memoria per il frontendWP_MAX_MEMORY_LIMIT
→ memoria per il backend (wp-admin, scansioni, modifiche post, ecc.)
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_LIMIT
. - Disattivare il debug in produzione, se non strettamente necessario.
Spegnere plugins
E se vuoi rendere il tuo sito più leggero e performante leggi l’articolo: velocizzare il tuo sito WordPress in 25 minuti.
Dopo anni di esperienza con vari provider, ho scelto VHosting per i miei siti per le ottime prestazioni e l’affidabilità. Ho un’affiliazione attiva, quindi se acquisti tramite il mio link, io ricevo un compenso senza alcun costo aggiuntivo per te. Lo segnalo solo perché lo utilizzo personalmente e lo consiglio con convinzione!