Contexte
Lors d’une mise à jour (core WordPress + plugins), le site est resté bloqué sur le message « Briefly unavailable for scheduled maintenance ». Côté admin, l’accès était également perturbé. Le blocage survient typiquement quand une mise à jour est interrompue, ou quand le serveur ne peut pas terminer l’opération (timeout, permissions, espace disque).
Symptômes observés
- Affichage permanent de l’écran maintenance sur le front-office.
- Accès
/wp-admininstable ou impossible. - Mise à jour interrompue (navigateur fermé, timeout, connexion perdue).
- Cache/CDN qui propage l’écran maintenance même après correction.
Objectifs du dépannage
- Remettre le site en ligne immédiatement.
- Finir la mise à jour proprement, sans créer d’incohérences.
- Identifier la cause de l’interruption (permissions, ressources, espace disque).
- Mettre une procédure simple pour éviter une récidive.
Diagnostic
- Vérification de la présence du fichier
.maintenanceà la racine WordPress. - Contrôle des logs serveur et des erreurs PHP (timeout, droits, disque plein).
- Contrôle des permissions sur
wp-contentet sur les dossiers plugins/thèmes. - Vérification de l’espace disque et des quotas sur mutualisé.
Cause identifiée
La mise à jour s’était interrompue avant la suppression automatique du fichier .maintenance. En parallèle, un temps d’exécution trop court provoquait un arrêt sur un plugin volumineux, ce qui laissait WordPress dans un état intermédiaire.
Correctifs appliqués
1) Déblocage immédiat
- Suppression du fichier
.maintenancevia SFTP/FTP. - Purge cache (plugin + Cloudflare) pour retirer l’écran maintenance côté visiteurs.
2) Reprise des mises à jour proprement
- Contrôle des plugins: ceux partiellement mis à jour ont été réinstallés proprement.
- Mise à jour relancée par lots, avec tests entre chaque lot.
- Validation de l’admin et des pages clés après finalisation.
3) Stabilisation technique
- Vérification des permissions et du propriétaire des fichiers.
- Contrôle de l’espace disque et nettoyage si nécessaire.
- Planification d’une fenêtre de maintenance pour les mises à jour lourdes.
Exemple technique : supprimer le fichier .maintenance
Le fichier se trouve à la racine du site, au même niveau que wp-config.php.
# via SFTP/SSH
rm -f .maintenance
Exemple technique : repérer les plugins en état incohérent
WP-CLI aide à vérifier l’état, même si l’admin est fragile.
wp plugin status
wp core verify-checksums
Exemple technique : mise à jour par lots (WP-CLI)
Réduit les risques de timeout sur mutualisé.
wp plugin update --all
wp theme update --all
wp core update
Résultats
- Site remis en ligne rapidement.
- Mises à jour terminées proprement, sans écran maintenance.
- Admin stable, plus de comportements intermédiaires.
- Cache purgé, rendu cohérent pour tous les visiteurs.
Prévention mise en place
- Faire les mises à jour par lots, avec tests rapides entre chaque lot.
- Éviter les mises à jour lourdes aux heures de forte affluence.
- Surveiller espace disque et permissions avant les opérations.
- En cas de blocage: supprimer
.maintenance, puis vérifier l’état des plugins.
Points clés à retenir
- Le mode maintenance persistant est souvent simplement un fichier
.maintenancenon supprimé. - Le vrai risque vient des mises à jour interrompues: il faut ensuite vérifier la cohérence.
- WP-CLI et une approche par lots réduisent fortement les incidents.