Réparer un site web qui ne s'affiche pas (erreurs courantes)
Site inaccessible, erreur 500, écran blanc, cadenas barré ? Chaque symptôme a ses causes. Voici la méthode pour diagnostiquer et remettre votre site en ligne.
Commencer par identifier le symptôme exact
Un site web qui ne s’affiche pas peut avoir un problème de DNS, de serveur web, de PHP, de certificat ou d’application. Avant de modifier la configuration, relevez précisément le message affiché.
Les symptômes les plus courants sont :
| Symptôme | Piste principale |
|---|---|
| « Site introuvable » | DNS ou nom de domaine |
500 Internal Server Error | PHP, application ou configuration serveur |
| Écran entièrement blanc | Erreur PHP masquée, souvent sous WordPress |
403 Forbidden | Permissions ou règle d’accès |
404 Not Found | Fichier absent ou réécriture incorrecte |
| Alerte de certificat | HTTPS ou certificat TLS |
| Chargement infini | Application lente, base de données ou surcharge |
502 Bad Gateway | Service PHP ou application indisponible |
504 Gateway Timeout | Traitement trop long ou service inaccessible |
Commencez par quelques tests simples :
- ouvrez le site en navigation privée ;
- videz le cache du navigateur ;
- testez depuis un autre appareil ;
- essayez un autre réseau, par exemple une connexion mobile ;
- vérifiez la racine et
www; - testez séparément HTTP et HTTPS ;
- notez l’heure exacte de l’erreur.
En ligne de commande :
curl -I http://exemple.fr
curl -I https://exemple.fr
Sur un VPS utilisant Nginx, consultez les journaux :
sudo tail -n 100 /var/log/nginx/error.log
sudo tail -n 100 /var/log/nginx/access.log
Suivez les erreurs pendant que vous rechargez la page :
sudo tail -f /var/log/nginx/error.log
Le chemin peut différer selon l’hébergement et la configuration. Un panel d’hébergement propose généralement une rubrique consacrée aux journaux ou aux erreurs PHP.
Corrigez un seul élément à la fois, puis retestez. Plusieurs modifications simultanées rendent difficile l’identification de la cause réelle.
Le domaine ne pointe pas vers le bon hébergement
Lorsque le navigateur affiche « serveur introuvable », DNS_PROBE_FINISHED_NXDOMAIN ou une ancienne version du site, vérifiez le DNS.
Interrogez l’enregistrement A :
dig +short exemple.fr A
Vérifiez également www :
dig +short www.exemple.fr A
Sous Windows, vous pouvez utiliser :
nslookup exemple.fr
Comparez le résultat avec l’adresse IP fournie par l’hébergement.
Plusieurs erreurs sont possibles :
- aucun enregistrement A n’existe ;
- l’enregistrement pointe vers une ancienne adresse ;
wwwn’est pas configuré ;- un enregistrement AAAA incorrect dirige certains visiteurs ailleurs ;
- la zone DNS modifiée n’est pas celle réellement active ;
- les serveurs de noms viennent d’être changés ;
- une ancienne réponse est encore conservée dans un cache DNS.
La propagation dépend du TTL et des caches intermédiaires. Il n’existe pas de délai exact à garantir.
Pour distinguer DNS et serveur, testez directement l’adresse IP lorsque l’hébergement le permet :
curl -I http://ADRESSE_IP
Si l’IP répond, mais pas le domaine, le problème se situe probablement dans le DNS ou dans le bloc de configuration associé au domaine.
Consultez le guide pour relier un domaine à un VPS.
Réparer une erreur 500 Internal Server Error
Une erreur 500 Internal Server Error indique que le serveur a rencontré un problème qu’il n’a pas pu traiter correctement.
Les causes fréquentes comprennent :
- une erreur PHP ;
- une extension ou un thème défectueux ;
- une configuration
.htaccessincorrecte sous Apache ; - une directive Nginx invalide ;
- des permissions inadaptées ;
- une limite de mémoire atteinte ;
- un fichier de configuration contenant une erreur ;
- une dépendance manquante.
Commencez par les logs :
sudo tail -n 100 /var/log/nginx/error.log
Si PHP-FPM est utilisé :
sudo journalctl -u php8.3-fpm -n 100 --no-pager
Adaptez le nom à la version installée :
systemctl list-units --type=service | grep php
Testez la configuration Nginx :
sudo nginx -t
Sous Apache, une erreur ajoutée récemment dans .htaccess peut provoquer une erreur 500. Renommez temporairement le fichier pour tester :
mv .htaccess .htaccess.test
Cette piste ne s’applique pas à Nginx, qui ne lit pas les fichiers .htaccess.
Pour WordPress, désactivez temporairement l’extension récemment installée ou mise à jour. Avec WP-CLI :
wp plugin deactivate nom-extension
Ne supprimez pas immédiatement les données. Cherchez d’abord l’erreur exacte et conservez une copie avant toute modification.
Diagnostiquer un écran blanc WordPress
L’écran blanc, parfois appelé White Screen of Death ou WSOD, correspond souvent à une erreur PHP dont l’affichage public est désactivé.
Les causes courantes sont :
- une extension incompatible ;
- un thème défectueux ;
- une version PHP non compatible ;
- une erreur dans
functions.php; - une limite de mémoire atteinte ;
- un fichier WordPress corrompu.
Activez temporairement la journalisation dans wp-config.php :
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
Placez ces lignes avant :
/* That's all, stop editing! Happy publishing. */
Rechargez la page, puis consultez :
tail -n 100 wp-content/debug.log
WP_DEBUG_DISPLAY reste désactivé pour éviter d’exposer publiquement des chemins, requêtes ou informations techniques.
Si vous n’avez plus accès à l’administration, renommez temporairement le dossier des extensions :
mv wp-content/plugins wp-content/plugins.disabled
Si le site revient, restaurez le nom du dossier puis désactivez les extensions une par une afin d’identifier la responsable.
Pour tester le thème, renommez son dossier uniquement si un thème par défaut fonctionnel est déjà installé :
mv wp-content/themes/mon-theme \
wp-content/themes/mon-theme.disabled
Une erreur indiquant :
Allowed memory size exhausted
signale une limite de mémoire atteinte. Vous pouvez tester dans wp-config.php :
define( 'WP_MEMORY_LIMIT', '256M' );
Cette valeur reste soumise à la limite configurée par PHP et l’hébergement. Augmenter la mémoire sans corriger un plugin défectueux peut seulement masquer le problème.
Désactivez le debug après le diagnostic :
define( 'WP_DEBUG', false );
Corriger une erreur 403 Forbidden
Une erreur 403 Forbidden signifie que le serveur a compris la demande, mais refuse l’accès.
Les causes possibles sont :
- permissions trop restrictives ;
- propriétaire incorrect ;
- absence de fichier index ;
- règle
denydans Nginx ; - règle de blocage dans
.htaccess; - restriction d’adresse IP ;
- protection ajoutée par une extension ;
- accès interdit au dossier demandé.
Vérifiez les permissions :
ls -la /var/www/exemple.fr
namei -l /var/www/exemple.fr/index.php
Des valeurs courantes sont :
Dossiers : 755
Fichiers : 644
Appliquez-les séparément si elles correspondent à votre environnement :
find /var/www/exemple.fr \
-type d \
-exec chmod 755 {} \;
find /var/www/exemple.fr \
-type f \
-exec chmod 644 {} \;
Vérifiez aussi le propriétaire :
ls -ld /var/www/exemple.fr
Ne corrigez jamais une erreur 403 avec :
chmod -R 777 /var/www/exemple.fr
Cette commande accorde des droits excessifs à tous les utilisateurs. Consultez le guide sur les permissions Linux pour choisir des droits adaptés.
Contrôlez enfin la présence d’un fichier d’entrée :
ls -l /var/www/exemple.fr/index.*
Corriger une erreur 404 Not Found
Une erreur 404 Not Found indique que la ressource demandée n’a pas été trouvée ou que la requête n’a pas été dirigée vers l’application.
Si toutes les pages affichent une erreur 404 sauf l’accueil, vérifiez les règles de réécriture.
Sous WordPress, ouvrez :
Réglages
→ Permaliens
→ Enregistrer les modifications
Cette opération régénère les règles de permaliens.
Avec Nginx, un bloc WordPress contient généralement une directive similaire :
location / {
try_files $uri $uri/ /index.php?$args;
}
Après une modification :
sudo nginx -t
sudo systemctl reload nginx
Sous Apache, contrôlez .htaccess et l’activation de la réécriture d’URL.
Pour une seule page en erreur, vérifiez :
- le slug ;
- le chemin du fichier ;
- les majuscules et minuscules ;
- la suppression ou le déplacement de la page ;
- les redirections ;
- le cache ;
- les règles d’un plugin.
Linux distingue généralement :
Image.jpg
image.jpg
Une ressource peut donc fonctionner sur un ancien environnement et retourner une erreur 404 après une migration.
Résoudre une erreur de certificat HTTPS
Une alerte HTTPS peut être provoquée par :
- un certificat expiré ;
- un certificat délivré pour un autre domaine ;
- l’absence de
wwwdans le certificat ; - une chaîne de certificats incorrecte ;
- une mauvaise configuration Nginx ;
- un renouvellement Certbot échoué ;
- une date incorrecte sur l’appareil du visiteur.
Affichez les certificats gérés par Certbot :
sudo certbot certificates
Testez le renouvellement :
sudo certbot renew --dry-run
Vérifiez la configuration Nginx :
sudo nginx -t
Puis consultez les journaux Certbot :
sudo journalctl -u certbot.timer -n 100 --no-pager
Si le cadenas est présent, mais que certaines ressources sont bloquées, recherchez du contenu mixte : la page HTTPS charge encore une image, une feuille de style ou un script en HTTP.
Consultez le guide pour activer HTTPS avec Let’s Encrypt.
Distinguer un site lent d’un site en panne
Un site peut finir par s’afficher après plusieurs secondes ou retourner :
502 Bad Gateway
504 Gateway Timeout
Connection timed out
Vérifiez les ressources du serveur :
uptime
free -h
df -h
Affichez les processus consommateurs :
top
Contrôlez les services :
sudo systemctl status nginx
sudo systemctl status php8.3-fpm
Les causes fréquentes sont :
- processeur saturé ;
- mémoire insuffisante ;
- disque plein ;
- processus PHP indisponibles ;
- base de données lente ;
- requête externe bloquante ;
- extension WordPress trop lourde ;
- absence de cache ;
- attaque ou trafic inhabituel.
Consultez le guide pour optimiser la vitesse d’un site si le service fonctionne, mais répond lentement.
Avant une intervention importante, créez une sauvegarde exploitable. Des sauvegardes automatiques sont incluses pour vous aider à restaurer. Conservez aussi vos propres exports réguliers : vous restez responsable de vos données.
En résumé
- Un site web qui ne s’affiche pas doit être diagnostiqué à partir du message exact.
- Testez en navigation privée, depuis un autre appareil et un autre réseau.
- Consultez les logs avant de modifier la configuration.
- Vérifiez le DNS avec
digounslookup. - Une erreur
500 Internal Server Errorvient généralement du serveur ou de l’application. - Sous Apache, contrôlez
.htaccess; sous Nginx, vérifiez les blocs de configuration. - Un écran blanc WordPress cache souvent une erreur PHP.
- Activez temporairement
WP_DEBUG_LOG, mais n’affichez pas les erreurs aux visiteurs. - Désactivez les extensions et thèmes un par un pour identifier un conflit.
- Une erreur
403 Forbiddenpeut provenir des permissions, du propriétaire ou d’une règle d’accès. - N’utilisez jamais
chmod 777pour corriger une erreur. - Une erreur
404 Not Foundpeut venir d’un fichier absent ou d’une réécriture cassée. - Régénérez les permaliens WordPress lorsque les pages internes retournent 404.
- Vérifiez les certificats et le renouvellement avec
certbot renew --dry-run. - En cas de lenteur, contrôlez le CPU, la mémoire, le disque, PHP et la base de données.
- Sauvegardez avant toute modification et corrigez un seul élément à la fois.
- Pour héberger un site web avec un panel de gestion, un support francophone, du stockage NVMe et une protection Anti-DDoS L3/L4/L7 incluse, découvrez l’offre hébergement web TalCloud.