Maintenir un site WordPress en production demande un rythme, pas seulement des clics. Cette page décrit la politique de maj que nous recommandons à nos clients agences, la procédure avant une maj majeure, et la marche à suivre quand une maj casse le site.
Politique de mises à jour
Core WordPress
- Versions mineures (6.5.1 → 6.5.2) : mises à jour automatiques activées par défaut depuis WP 3.7. Ne pas désactiver, elles corrigent des failles de sécurité.
- Versions majeures (6.5 → 6.6) : en manuel, après test sur staging. Fréquence typique : toutes les 4 à 6 mois.
Plugins et thèmes
- Plugins critiques et très stables (Yoast, WooCommerce, ACF, Wordfence) : maj auto OK.
- Plugins qui touchent l'affichage ou le checkout : manuel, sur staging d'abord.
- Thème : si c'est un thème sur-mesure avec modifications, ne jamais activer les maj auto (elles écrasent le code). Utilisez un child theme.
Avant chaque mise à jour majeure
1. Sauvegarde
Sauvegarde applicative rapide avant toute maj majeure :
cd /var/www/vhosts/mon-domaine.fr/httpdocs
# BDD
wp db export ../backup-$(date +%Y%m%d-%H%M).sql
# Fichiers (plugins + thèmes + uploads)
tar -czf ../backup-files-$(date +%Y%m%d-%H%M).tar.gz wp-content/
Alternative graphique : plugin UpdraftPlus avec stockage sur Nextcloud/S3/Google Drive.
2. Cloner en staging (Plesk)
Dans WP Toolkit → votre site → Clone. Plesk crée un sous-domaine staging.mon-domaine.fr avec une copie complète. Vous y testez la maj en conditions réelles.
Si la maj passe sans casse pendant 24 h sur staging, vous la jouez en prod.
3. Vérifier la compatibilité des plugins
# Lister ce qui va être mis à jour, sans rien faire
wp plugin update --all --dry-run
wp theme update --all --dry-run
wp core check-update
Pour chaque plugin listé, vérifiez sur WordPress.org sa note de compatibilité avec la version cible.
Procédure de mise à jour
Via WP-CLI (recommandé)
cd /var/www/vhosts/mon-domaine.fr/httpdocs
# Mode maintenance (affiche une page d'attente aux visiteurs)
wp maintenance-mode activate
# Maj core
wp core update
wp core update-db
# Maj plugins et thèmes
wp plugin update --all
wp theme update --all
# Purge caches
wp cache flush
wp transient delete --expired
# Sortie du mode maintenance
wp maintenance-mode deactivate
En une seule ligne :
wp maintenance-mode activate && \
wp core update && wp plugin update --all && wp theme update --all && \
wp core update-db && wp cache flush && \
wp maintenance-mode deactivate
Via l'admin WordPress
Moins scriptable, mais visuel : Tableau de bord → Mises à jour, tout cocher, Mettre à jour. WordPress active automatiquement un mode maintenance pendant l'opération.
Mode maintenance
Natif WordPress
Pendant une maj, WordPress crée automatiquement un fichier .maintenance à la racine. Les visiteurs voient Briefly unavailable for scheduled maintenance. Ce fichier est supprimé à la fin de la maj.
Si une maj plante et que le fichier reste, votre site est bloqué. Solution :
cd /var/www/vhosts/mon-domaine.fr/httpdocs
ls -la .maintenance
rm .maintenance
Mode maintenance personnalisé
Pour un message sur-mesure (logo, horaire, contact), un plugin comme WP Maintenance Mode & Coming Soon ou LightStart fait le travail. Activable/désactivable en un clic.
Site cassé après une mise à jour
Symptômes typiques : écran blanc, erreur 500, message There has been a critical error on this website. Procédure :
Étape 1 — Identifier le coupable
# Activer le log de debug
wp config set WP_DEBUG true --raw
wp config set WP_DEBUG_LOG true --raw
wp config set WP_DEBUG_DISPLAY false --raw
# Rechargez le site, puis lisez le log
tail -100 wp-content/debug.log
Voir le guide Debug WordPress.
Étape 2 — Désactiver tous les plugins
wp plugin deactivate --all
Si le site remonte, réactivez un par un jusqu'à retrouver le coupable :
wp plugin activate plugin-suspect
# testez le site
wp plugin activate autre-plugin
# ...
Étape 3 — Revenir à une version précédente d'un plugin
Plugin WP Rollback : ajoute un lien Rollback à côté de chaque plugin dans l'admin, propose la liste des versions précédentes. Installez-le, revenez à la version qui fonctionnait, signalez le bug à l'auteur.
En ligne de commande, télécharger une version précise depuis le SVN de WordPress :
wp plugin install https://downloads.wordpress.org/plugin/nom-plugin.2.3.1.zip --force
Étape 4 — Repasser le thème par défaut
Si le site reste cassé plugins désactivés, le thème est peut-être en cause :
wp theme activate twentytwentyfour
Étape 5 — Mode récupération
Depuis WP 5.2, quand une erreur fatale se produit, WordPress envoie un email à l'admin avec un lien Recovery Mode. Ce lien vous connecte à l'admin avec le plugin coupable isolé. Vérifiez que votre admin_email (Réglages → Général) est une adresse que vous lisez réellement.
Étape 6 — Restaurer le backup
Dernier recours : restaurer le backup pris avant la maj.
# Fichiers
tar -xzf ../backup-files-20260423-1015.tar.gz
# BDD
wp db import ../backup-20260423-1015.sql
Si vous n'avez pas de backup applicatif, ouvrez un ticket chez Datacampus avec la date et l'heure précises souhaitées, nous vous restaurons depuis le snapshot serveur.
Rythme recommandé
| Fréquence | Action |
|---|---|
| Quotidien | Vérifier email d'alerte de Wordfence / Recovery Mode |
| Hebdomadaire | Maj plugins et thèmes (hors auto), purge caches |
| Mensuel | Audit des plugins inutiles, vérif comptes admin, relecture logs |
| Trimestriel | Maj majeure WordPress si disponible, rotation mots de passe admin, test restore |
| Annuel | Upgrade PHP (ouverture de ticket Datacampus), audit sécurité complet |