Errore 500 su WordPress: cause reali e guida rapida

L’errore 500 WordPress (Internal Server Error) blocca il sito e crea panico. In questa guida pratica scopri le cause reali, come diagnosticarle in pochi minuti e le soluzioni pronte all’uso. Alla fine trovi una checklist di emergenza e consigli per prevenire i più comuni errori WordPress.

Cos’è l’errore 500 in WordPress

È una risposta generica del server che indica un problema lato hosting o applicazione. Spesso è legato a configurazioni errate, limiti di risorse o codice difettoso di plugin/tema.

Cause reali più comuni

1) File .htaccess corrotto

Regole riscrittura danneggiate o direttive non supportate dal server.

2) PHP memory limit insufficiente

Operazioni pesanti o plugin esigenti superano il limite (es. 128M).

3) Conflitto plugin o tema

Aggiornamenti o componenti mal codificati causano errori fatali.

4) Versione PHP o estensioni non compatibili

Core, tema o plugin richiedono una versione o estensioni diverse (es. intl, mbstring).

5) Permessi e proprietà file errati

Permessi troppo permissivi o utente proprietario non corretto.

6) Limiti/timeout del server

Processi che superano max_execution_time, limiti di I/O o di processi su hosting condiviso.

7) Database e cache

Tabelle corrotte, cache opcode o pagina danneggiate.

Diagnosi rapida (10 minuti)

  1. Attiva il debug in wp-config.php subito prima della riga “/* That’s all, stop editing! */”:
    define('WP_DEBUG', true);
    define('WP_DEBUG_LOG', true);
    define('WP_DEBUG_DISPLAY', false);

    Ricarica una pagina del sito, poi apri wp-content/debug.log.

  2. Controlla i log del server dal pannello hosting (error log) oppure via SSH:
    tail -n 100 -f logs/error.log
    # oppure
    journalctl -u php-fpm --no-pager -n 100
  3. Verifica versione PHP e estensioni attive nel pannello hosting o con:
    php -v
    php -m
  4. Escludi plugin/tema rapidamente con WP-CLI:
    wp plugin deactivate --all
    wp theme activate twentytwentyfour
  5. Controlla permessi (da eseguire con cautela):
    find . -type d -exec chmod 755 {} \;
    find . -type f -exec chmod 644 {} \;

Soluzioni rapide per causa

Ripristina .htaccess

Rinomina il file corrente (.htaccess.bak) e crea un nuovo .htaccess con le regole di base WordPress:

# WordPress base
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Salva e svuota eventuali cache server/applicative.

Aumenta PHP memory limit

In wp-config.php:

define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');

Se disponibile, aumenta anche nel pannello hosting (memory_limit) e riavvia PHP-FPM.

Isola conflitti plugin/tema

  • Disattiva tutti i plugin e riattivali a gruppi per individuare il colpevole.
  • Cambia tema a uno di default. Se il problema sparisce, verifica funzioni e template del tema.
  • WP-CLI utile in emergenza:
    wp plugin deactivate --all
    wp plugin activate classic-editor woocommerce
    wp theme activate twentytwentyfour

Allinea versione PHP ed estensioni

  • Imposta una versione PHP supportata da core e plugin (es. 8.1/8.2).
  • Abilita estensioni comuni: intl, mbstring, xml, gd, imagick, zip, mysqli.

Permessi e proprietà

Regola permessi standard e, se necessario, proprietà utente/gruppo:

find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
# Esempio proprietà (adatta user:group al tuo ambiente)
chown -R user:group /percorso/del/sito

Database e riparazioni

  • Controllo/riparazione via WP-CLI:
    wp db check
    wp db repair
  • In alternativa, abilita la pagina di riparazione (disattiva dopo l’uso):
    define('WP_ALLOW_REPAIR', true);

Pulisci cache opcode e applicativa

Svuota cache plugin, cache a livello server (Varnish/NGINX) e riavvia PHP-FPM se disponibile.

Ripristino backup WordPress

  1. Esegui un backup attuale dei file e del DB prima di ogni intervento.
  2. Ripristina solo il necessario (file core, wp-content o singole tabelle) per isolare il problema.
  3. Verifica l’accesso al back-end e controlla log errori dopo il ripristino.

Hosting condiviso vs VPS: cosa cambia per l’errore 500

Hosting condiviso

  • Pro: costi bassi, gestione semplificata.
  • Contro: limiti di memoria/CPU/IO, meno controllo su PHP/estensioni, log ridotti, limitazioni su moduli e direttive .htaccess.
  • Impatto: più probabili errori 500 da limiti o da regole .htaccess non consentite.

VPS (Managed/Unmanaged)

  • Pro: risorse dedicate, pieno controllo su PHP-FPM/NGINX/Apache, log dettagliati, possibilità di tuning.
  • Contro: richiede competenze o un piano managed.
  • Impatto: errori 500 più spesso legati a configurazioni custom; risolvibili con accesso root e tuning.

Checklist finale “copia e incolla”

# 1) Debug WordPress
sed -i "/That's all/i define('WP_DEBUG', true);\ndefine('WP_DEBUG_LOG', true);\ndefine('WP_DEBUG_DISPLAY', false);" wp-config.php

# 2) .htaccess base
cat > .htaccess <<'EOF'
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
EOF

# 3) Aumenta memoria
wp option update blog_public 1 # comando innocuo per testare WP-CLI
php -r "echo ini_get('memory_limit'), PHP_EOL;"

# 4) Disattiva plugin/tema
wp plugin deactivate --all || true
wp theme activate twentytwentyfour || true

# 5) Permessi standard
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

# 6) Log server
tail -n 200 logs/error.log || tail -n 200 /var/log/apache2/error.log || tail -n 200 /var/log/php*-fpm.log

Prevenzione: evita il prossimo Internal Server Error

  • Staging per testare aggiornamenti di core, plugin e tema.
  • Monitoraggio uptime e log errori WordPress.
  • Backup automatici versionati e ripristino rapido.
  • Versione PHP aggiornata e compatibile; rimuovi plugin obsoleti.
  • Hardening sicurezza e controllo permessi.

Hai fretta? Ti aiutiamo noi

Se l’errore 500 WordPress persiste o il sito è mission-critical, il team Costruzione Siti Web offre diagnosi e ripristino prioritari, ottimizzazione server (condiviso o VPS) e messa in sicurezza. Contattaci per un intervento urgente.

× Possiamo aiutarti?