Credit : Illustration backtotheweb.fr
Deboguer un site WordPress qui ne charge plus
Deboguer un site WordPress qui ne charge plus
Un site WordPress qui cesse de fonctionner, c'est stressant. Page blanche, erreur 500, boucle de redirection... Voici une approche methodique pour diagnostiquer et resoudre le probleme sur votre serveur IONOS.
Etape 1 : Activer le mode debug
Modifiez wp-config.php pour afficher les erreurs :
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
define('SCRIPT_DEBUG', true);
Les erreurs seront ecrites dans /var/www/monsite.fr/wp-content/debug.log :
tail -f /var/www/monsite.fr/wp-content/debug.log
Etape 2 : Verifier les logs du serveur
Avant tout, consultez les logs systeme :
# Logs Nginx
tail -50 /var/log/nginx/error.log
# Logs PHP-FPM
tail -50 /var/log/php8.2-fpm.log
# Logs systeme
journalctl -u nginx --since "1 hour ago"
journalctl -u php8.2-fpm --since "1 hour ago"
Ces logs revelent souvent directement la cause : memoire insuffisante, fichier manquant, erreur de syntaxe PHP.
Etape 3 : Desactiver les plugins
Un plugin defaillant est la cause la plus frequente. Desactivez-les tous via WP-CLI :
cd /var/www/monsite.fr
wp plugin deactivate --all --allow-root
Si le site fonctionne a nouveau, reactivez-les un par un pour identifier le coupable :
wp plugin activate nom-du-plugin --allow-root
Si vous n'avez pas WP-CLI, renommez le dossier plugins :
mv wp-content/plugins wp-content/plugins_backup
mkdir wp-content/plugins
chown www-data:www-data wp-content/plugins
Etape 4 : Tester le theme
Si les plugins ne sont pas en cause, le theme est le suspect suivant :
wp theme activate twentytwentyfour --allow-root
Ou via la base de donnees si le back-office est inaccessible :
mysql -u root -p wordpress_db
UPDATE wp_options SET option_value='twentytwentyfour' WHERE option_name='stylesheet';
UPDATE wp_options SET option_value='twentytwentyfour' WHERE option_name='template';
Etape 5 : Verifier la base de donnees
Une base corrompue peut bloquer le site :
wp db check --allow-root
wp db repair --allow-root
Verifiez que la connexion fonctionne :
mysql -u wp_user -p wordpress_db -e "SELECT COUNT(*) FROM wp_options;"
Attention : vérifiez bien deux fois avant d'appliquer en production.
Etape 6 : Problemes courants et solutions
Erreur de memoire PHP
Dans wp-config.php :
define('WP_MEMORY_LIMIT', '256M');
Et dans php.ini :
memory_limit = 512M
Boucle de redirection
Souvent liee aux URL mal configurees :
wp option get siteurl --allow-root
wp option get home --allow-root
wp option update siteurl 'https://monsite.fr' --allow-root
wp option update home 'https://monsite.fr' --allow-root
Erreur de permissions
find /var/www/monsite.fr -type d -exec chmod 755 {} \;
find /var/www/monsite.fr -type f -exec chmod 644 {} \;
chown -R www-data:www-data /var/www/monsite.fr
Fichier .htaccess corrompu (Apache)
Si vous utilisez Apache, regenerez les permaliens :
wp rewrite flush --allow-root
Espace disque plein
df -h
du -sh /var/www/monsite.fr/wp-content/uploads/
du -sh /var/log/
Etape 7 : Restaurer une sauvegarde
Si rien ne fonctionne, restaurez la derniere sauvegarde :
# Restaurer les fichiers
tar -xzf backup-files.tar.gz -C /var/www/monsite.fr
# Restaurer la base
wp db import backup.sql --allow-root
Pensez toujours a sauvegarder avant de modifier quoi que ce soit. Un debug methodique, en partant des logs puis en isolant les composants un par un, resout la grande majorite des pannes WordPress.