Guida · Problemi comuni
Errore 500 Internal Server Error su WordPress: cause e soluzioni
L’errore 500 è un messaggio generico del server: dice che qualcosa è andato storto ma non cosa. Su WordPress le cause sono quasi sempre poche e note, e si risolvono per esclusione. Il posto giusto dove guardare è il log degli errori dell’hosting.
Leggi il log degli errori. Nel pannello hosting (Logs / error_log) trovi la riga esatta che ha causato il 500, con il nome del file. Ti fa saltare metà dei tentativi qui sotto.
Le cause più comuni
- File .htaccess corrotto o con regole aggiunte da un plugin di cache o sicurezza.
- Limite di memoria PHP esaurito o tempo di esecuzione superato.
- Plugin o tema con errore fatale (lo stesso caso del «sito bianco»).
- Versione PHP cambiata o incompatibile, permessi dei file sbagliati.
- Problema del server: carico eccessivo, spazio disco esaurito, processi PHP terminati.
Come risolvere, passo per passo
1. Rigenera il file .htaccess
Via FTP rinomina
.htaccessin.htaccess_olde ricarica il sito. Se funziona, entra in Impostazioni → Permalink e clicca Salva: WordPress ne crea uno pulito. Poi riaggiungi solo le regole che ti servono davvero.2. Aumenta memoria e tempo di esecuzione
In
wp-config.phpaggiungidefine('WP_MEMORY_LIMIT', '256M');. Se l’hosting lo consente, nel pannello alza anchemax_execution_timea 120 secondi. Un 500 che compare solo su operazioni pesanti (importazioni, backup) è quasi sempre questo.3. Disattiva plugin e tema
Rinomina
wp-content/pluginsper escludere i plugin, poi la cartella del tema attivo: se il 500 sparisce, riattiva uno alla volta per trovare il colpevole.4. Controlla la versione di PHP
Se l’hosting ha aggiornato PHP (o l’hai fatto tu), un plugin vecchio può andare in errore fatale. Prova a tornare temporaneamente alla versione precedente dal pannello e aggiorna il plugin.
5. Controlla i permessi dei file
Le cartelle devono essere
755e i file644;wp-config.phppuò essere640. Permessi troppo permissivi (777) o troppo restrittivi generano 500 su alcuni hosting.6. Se anche un file PHP vuoto dà 500, è l’hosting
Carica un file
test.phpcon solo<?php echo "ok";: se dà errore 500 anche quello, il problema è del server (spazio esaurito, PHP non funzionante). Apri un ticket all’hosting.
Attenzione. Prima di rinominare .htaccess scaricane una copia: se contiene redirect o regole di sicurezza personalizzate, dovrai reinserirle. E dopo aver risolto, rimetti eventuali WP_DEBUG a false.
Non ha funzionato?
Succede. Interveniamo noi a prezzo fisso: 79 €, entro 1 giorno lavorativo, paghi solo se il problema è risolto.