Errore 500 su un sito web: come risolverlo
Una guida passo-passo per diagnosticare e risolvere un errore interno del server 500 controllando .htaccess, plugin, temi e limiti del server.

Errore 500 su un sito web: come risolverlo — Guida passo-passo
Ti stai chiedendo come risolvere l'errore interno del server 500 su un sito web? Spesso si presenta non in un giorno tranquillo, ma proprio quando il traffico aumenta, una campagna pubblicitaria viene lanciata, o subito dopo un altro aggiornamento. L'errore 500 significa un errore interno del server: la pagina non ha restituito una risposta, ma il browser non ha ricevuto nemmeno un motivo esatto — solo un segnale di errore generico. È frustrante, ma può essere diagnosticato. Quasi sempre.
La buona notizia è che un errore 500 raramente appare dal nulla. Nella maggior parte dei casi è causato da codice rotto, un processo PHP fallito, un file .htaccess danneggiato, plugin o un tema in conflitto, o un server che raggiunge i limiti di memoria e di tempo di esecuzione. Anche l'host può essere il colpevole. O l'ultimo commit.
Se il sito porta già contatti o vendite, anche 10 minuti di inattività danneggiano sia le entrate che la fiducia. Ecco perché l'ordine delle azioni è più importante delle congetture: prima isola il problema, poi cambia le impostazioni. Niente caos.
1. Cosa significa un errore 500 e perché appare
L'errore interno del server non è una diagnosi, ma un termine ombrello per diversi fallimenti. Il server ha ricevuto la richiesta, ha cercato di elaborarla e ha incontrato un problema che non poteva mostrare all'utente in modo appropriato. Esternamente, tutto appare uguale: una pagina bianca, un messaggio di errore, a volte uno schermo vuoto.
Ci sono 5 cause più comuni. La prima è un errore di codice PHP dopo aver modificato un modello o una funzione. La seconda sono regole errate in .htaccess. La terza è un conflitto tra plugin o tema. La quarta è una mancanza di risorse: memory_limit, max_execution_time, tempo CPU. La quinta è un guasto lato server o hosting. E c'è una sesta, molto ordinaria: i permessi dei file sono impostati in modo errato.
Su WordPress e piattaforme CMS simili, questo è particolarmente evidente dopo gli aggiornamenti. Un plugin si aggiorna, un altro no, la cache rimane vecchia e il tema chiama una funzione che è già stata rimossa. Il risultato è una breve ma sgradevole cascata. L'errore 500 ama quel tipo di combinazione, ed è per questo che Risoluzione degli errori 500 di WordPress spesso inizia con aggiornamenti, cache e controlli di compatibilità.
Se il sito è costruito come un'applicazione web, la catena può essere più lunga: API, coda di attività, database, servizio di pagamento esterno. In progetti come questi, è utile pensare in anticipo a sicurezza del sito web e alla logica di recupero dei backup, perché un incidente senza registri degli eventi trasforma la risoluzione dei problemi in un gioco di ipotesi.
2. Prima di tutto, controlla dove si verifica esattamente l'errore
Il primo passo è capire l'ambito. L'errore 500 si verifica solo su una pagina? O su tutto il sito? O magari appare nell'area admin mentre la parte visibile al pubblico si carica ancora? Questi 3 casi indicano cause diverse, e quel controllo dell'ambito è il più veloce correzione dell'errore 500 del sito web punto di partenza.
Se l'errore appare solo su una pagina, cerca codice locale: uno shortcode, un widget, un modulo, un template personalizzato o uno script incorporato. Se l'intero sito è inattivo, controlla .htaccess, PHP e limiti di sistema. Se l'area admin non si apre, ispeziona i plugin e il tema. Dopo un aggiornamento, il problema si nasconde spesso lì.
Un errore 500 appare anche spesso dopo il passaggio a un nuovo host. Le impostazioni PHP possono differire, le autorizzazioni delle cartelle possono differire anch'esse, e le vecchie regole di configurazione non si adattano sempre al nuovo ambiente. Una migrazione. Una sorpresa.
È utile annotare quando tutto è andato in crash: dopo aver installato un plugin, cambiato il tema, cambiato la versione PHP o spostato il sito. Quella piccola cronologia fa risparmiare ore. A volte un'intera giornata.
3. Come controllare .htaccess e plugin
.htaccess è un colpevole comune. Una direttiva errata è sufficiente affinché il server inizi a restituire errori 500 su quasi ogni pagina. Soprattutto se i reindirizzamenti, le regole di caching o i permalink belli sono stati modificati manualmente.
Il test più semplice è rinominare temporaneamente il file .htaccess, ad esempio in .htaccess_old. Se il sito torna in vita, hai probabilmente trovato la causa. Poi crea un nuovo file e ripristina le impostazioni dei permalink nel pannello di amministrazione del CMS. In WordPress, questo si fa attraverso la sezione Permalink, senza copiare manualmente le regole.
Se l'errore scompare dopo aver ricreato le regole, è meglio non ripristinare il vecchio file. Potrebbe contenere ancora una riga extra, ad esempio di un vecchio plugin che è già stato rimosso. Un'istruzione extra può far crollare l'intero sito. Non solo in teoria.
Quando un sito utilizza una struttura di reindirizzamento complessa, specialmente dopo un redesign, vale la pena controllare in anticipo come si comportano i vecchi URL e i link canonici. Per progetti con un aggiornamento strutturale, può essere utile leggere su come scegliere uno studio web per un redesign del sito web, così da non ritrovarsi con confusione nelle regole del server e nei percorsi interni.
4. Disabilita i plugin e controlla il tema
Se .htaccess è pulito, passa ai plugin. Su WordPress, è veloce: rinomina la cartella dei plugin tramite il file manager o FTP. Tutti i plugin verranno disabilitati contemporaneamente. Se l'errore 500 scompare, la causa è uno di essi.
Poi abilita i plugin uno per uno. Controlla il sito dopo ogni attivazione. È così che trovi il modulo in conflitto, anche se ce ne sono 17. Noioso? Sì. Funziona? Anche sì.
I colpevoli tipici sono i plugin di caching, sicurezza, SEO, page builder e qualsiasi estensione che interferisca con il routing o la generazione di contenuti. A volte il problema non è il plugin stesso, ma una sua versione obsoleta. Questo tende a emergere soprattutto dopo un aggiornamento.
Fai lo stesso con il tema: passa temporaneamente al tema predefinito del CMS. Se l'area admin non è disponibile, rinomina la cartella del tema attivo tramite FTP in modo che il sistema torni a un'opzione di backup. Se l'errore 500 scompare, il tema contiene un modello rotto, un hook incompatibile o una chiamata a una funzione obsoleta.
Quando il sito è legato a servizi esterni, come i pagamenti, il codice di integrazione può a volte attivare l'errore. In questi casi, è utile valutare il flusso di pagamento e aggiornare i rischi in anticipo. Ad esempio, dai un'occhiata a quanto costa collegare Stripe a un sito web se hai una logica di integrazione e reindirizzamento simile.
5. Controlla gli errori PHP e i limiti del server
Se i plugin e il tema non sono il problema, guarda i log. I log degli errori PHP di solito mostrano quale file, riga o funzione ha fallito. A volte lo dicono direttamente: Dimensione massima della memoria consentita esaurita. A volte: errore fatale. A volte: niente affatto, il che è peggio.
I log possono trovarsi nel pannello di controllo dell'hosting, in una cartella separata del sito o nei rapporti di sistema del server. I diversi fornitori li memorizzano in posti diversi, quindi il pannello di hosting è di solito necessario qui. Controlla almeno 2 posti: il log degli errori del sito e il log del sistema dell'account.
Ora per le impostazioni PHP. Cerca memory_limit, max_execution_time, upload_max_filesize, post_max_size, e la versione PHP. Se il sito ha iniziato a bloccarsi dopo un aggiornamento della versione PHP, tornare a una versione compatibile spesso risolve il problema. Se la memoria è troppo bassa, una pagina pesante, un'importazione o un plugin semplicemente non hanno abbastanza tempo per completarsi.
Il memory_limit l'impostazione è particolarmente importante per i negozi e i grandi cataloghi. Un'esportazione di prodotto può utilizzare l'intero pool di risorse. Anche un modulo di importazione può farlo. Se il sito utilizza analisi, code, attività in background e monitoraggio, vale la pena avere un piattaforma di analisi e monitoraggio del sito · come parte del tuo stack di osservazione, in modo da poter vedere le interruzioni dai log piuttosto che da un reclamo del cliente.
Se non sei sicuro di dove controllare le impostazioni, chiedi al tuo host di mostrarti la configurazione PHP attuale e i limiti del server. Verifica non solo la versione PHP, ma anche il limite di memoria effettivo, il tempo di esecuzione e la dimensione di upload. È sorprendente quanto spesso il problema sia solo un valore.
6. Pulisci la cache e rivedi le modifiche recenti
La cache può nascondere sia il problema che il fatto che sia scomparso. Quindi, dopo aver apportato modifiche, svuota la cache del sito, la cache del browser e la cache del CDN se ne utilizzi uno. Altrimenti, stai guardando una vecchia versione dell'errore e pensando che nulla sia cambiato.
Prima svuota la cache nel pannello CMS o nel plugin di caching. Poi svuota la cache del browser, preferibilmente in modalità incognito. Se il sito è servito tramite un CDN, purga anche quello. Tre posti, tre cache, un risultato — solo dopo un completo svuotamento puoi fidarti del test.
Successivamente, rivedi le ultime modifiche. Hai aggiunto un nuovo blocco? Hai cambiato una funzione nel template? Hai caricato un file fresco nella libreria? Torna all'ultima modifica e testa di nuovo. Un errore 500 appare spesso dopo una piccola riga di codice, non dopo un “aggiornamento importante.”
Nei progetti con supporto continuo, questi problemi sono solitamente meno comuni perché le modifiche al codice e alle impostazioni passano attraverso il controllo. Se il tuo sito è attivo e migliorato regolarmente, l'articolo su supporto del sito web dopo il lancio può aiutarti a vedere come non lasciare che la cache e gli aggiornamenti si trasformino in uno stato di inattività.
Controlla anche se il CDN si è rotto dopo le modifiche SSL, i reindirizzamenti o un aggiornamento della politica di sicurezza. Un'intestazione di risposta errata può attivare un errore 500 solo per parte dei tuoi utenti. E questo è molto più difficile da individuare.
7. Cosa fare se l'errore 500 non scompare
Se il sito continua a bloccarsi dopo tutti i controlli, è tempo di lavorare in modo sistematico. Inizia contattando il supporto dell'hosting e richiedi i log per l'orario esatto del guasto. Fornisci l'ora, la data e la pagina in cui si è verificato l'errore 500. Senza queste informazioni, il supporto impiegherà più tempo a trovarlo.
Controlla quindi i permessi di file e cartelle. Le persone spesso impostano le cartelle su 777 “temporaneamente” e poi dimenticano di cambiarle. Questa è una cattiva pratica, e non solo a causa dell'errore 500: il server potrebbe bloccare tali permessi per motivi di sicurezza. I file e le directory dovrebbero avere permessi corretti.
Se hai un backup recente, ripristina la versione funzionante del sito e verifica se il problema scompare. Questo è particolarmente utile dopo un aggiornamento problematico del core, dei plugin o della migrazione del server. Un rollback fa risparmiare più tempo rispetto a cercare di correggere manualmente 12 modifiche incompatibili.
Quando il sito è importante per l'azienda, non ritardare il recupero. A volte è più economico ripristinare la copia di ieri piuttosto che passare mezza giornata a cercare una riga di codice. E se il progetto dipende da richieste esterne, moduli e API, controlla anche il lato rete: a volte il problema non è nel CMS, ma nell'infrastruttura. Per casi come questi, un infrastruttura di rete privata può aiutare quando parte della complessità si sposta in un ambiente controllato.
L'ultimo passo pratico è passare temporaneamente il sito a una configurazione minima. Mantieni solo il core, un tema, un plugin funzionante e le regole di base. Se l'errore 500 scompare in quella modalità, aggiungi i componenti uno alla volta. In questo modo troverai l'elemento problematico senza inutili congetture. È lento, ma onesto.