Pendant une mise à jour de WordPress, le site pose un verrou dans la base de données pour empêcher deux mises à jour simultanées. Si la précédente a été interrompue (onglet fermé, délai dépassé, mise à jour automatique coupée), le verrou reste en place et toute nouvelle tentative est refusée. WordPress le considère comme périmé au bout de quinze minutes.
Pourquoi cette erreur apparaît
- Une mise à jour automatique de WordPress tournait en arrière-plan au moment où vous avez lancé la vôtre.
- Une mise à jour précédente a été interrompue (page fermée, connexion coupée, délai d’exécution dépassé) et le verrou n’a pas été retiré.
- Deux personnes ou deux outils (tableau de bord, WP-CLI, outil de gestion de sites) ont lancé la mise à jour presque en même temps.
- Une erreur de base de données a empêché WordPress d’effacer le verrou en fin d’opération.
Comment corriger le problème
Patienter un quart d’heure
Le verrou expire de lui-même après quinze minutes. Attendez ce délai sans relancer la mise à jour, puis retournez dans Tableau de bord > Mises à jour : le plus souvent, le bouton fonctionne de nouveau.
Vérifier que le site n’est pas resté en maintenance
Une mise à jour arrêtée en route peut aussi laisser le site bloqué sur le message de maintenance (« Briefly unavailable for scheduled maintenance » en anglais). Si c’est le cas, un fichier .maintenance est resté à la racine du site : renommez-le par FTP pour rendre le site aux visiteurs.
Retirer le verrou avec WP-CLI
Si le message revient après ce délai, et seulement si aucune mise à jour ne tourne réellement, supprimez l’option qui sert de verrou. Avec un accès SSH, exportez d’abord la base dans votre dossier personnel, hors de portée des visiteurs, puis lancez la seconde commande.
wp db export ~/avant-deverrouillage.sql
wp option delete core_updater.lock
Retirer le verrou dans phpMyAdmin
Sans WP-CLI, exportez la base depuis phpMyAdmin (onglet Exporter), puis ouvrez la table des options : wp_options, ou un autre préfixe défini dans wp-config.php. Repérez la ligne dont option_name vaut core_updater.lock (sa valeur est l’heure de création du verrou) et supprimez uniquement celle-ci, ou exécutez la requête ci-dessous en adaptant le préfixe.
DELETE FROM wp_options WHERE option_name = 'core_updater.lock';
Contrôler les fichiers après une mise à jour coupée
Relancez la mise à jour depuis le tableau de bord. Si elle échoue encore, vérifiez l’intégrité des fichiers : une mise à jour interrompue au milieu de la copie peut laisser un mélange d’ancienne et de nouvelle version.
wp core verify-checksums
Exportez la base de données avant de toucher au verrou, et assurez-vous qu’aucune mise à jour automatique n’est encore en cours : interrompre une mise à jour active peut laisser des fichiers à moitié remplacés.
Un autre message d'erreur ? Collez-le dans le décodeur : il le reconnaît et vous oriente vers la bonne fiche.
Ouvrir le décodeur