Maintenance & Sécurité WordPress Maintenance Sécurité

Maintenance WordPress : la checklist mensuelle

Protégez votre site WordPress avec cette checklist mensuelle : mises à jour, sauvegardes, sécurité, performance et nettoyage de base de données en 45 min.

Benjamin Schweitzer Benjamin Schweitzer
Vendredi 9 mai 2025
5 min de lecture
Maintenance WordPress : la checklist mensuelle

Pourquoi la maintenance WordPress est non négociable

WordPress motorise 43% du web en 2025. C'est sa popularité qui en fait aussi une cible privilégiée des hackers : 94% des attaques sur WordPress visent des sites avec des extensions ou thèmes obsolètes.

Un site non maintenu, c'est :

  • Un risque de piratage (redirections malveillantes, spam, vol de données)
  • Une dégradation progressive des performances
  • Des incompatibilités qui cassent des fonctionnalités
  • Un référencement qui souffre (temps de chargement, indisponibilité)
Voici la checklist qui me prend 45 minutes par mois et qui protège tous mes clients.

Hebdomadaire — 10 minutes

Vérifier les mises à jour disponibles

Tableau de bord → Mises à jour
├── WordPress core
├── Extensions (plugins)
└── Thèmes

Procédure sécurisée :

  1. Faites une sauvegarde complète AVANT toute mise à jour
  2. Mettez à jour WordPress core en premier
  3. Mettez à jour les extensions une par une (pas toutes d'un coup)
  4. Testez les fonctionnalités critiques après chaque mise à jour

Vérifier le bon fonctionnement

  • Page d'accueil s'affiche correctement
  • Formulaire de contact fonctionne (envoyez un message test)
  • Zone admin accessible

Mensuelle — 35 minutes

1. Sauvegarde complète vérifiée

Une sauvegarde non testée n'est pas une sauvegarde.

# Via WP-CLI — sauvegarde complète
wp db export backup-$(date +%Y%m%d).sql
tar -czf backup-files-$(date +%Y%m%d).tar.gz wp-content/

# Via extension : UpdraftPlus (gratuit) ou BackupBuddy (payant)
# Stockage externe obligatoire : Google Drive, S3, Dropbox

Testez votre sauvegarde : restaurez-la sur un sous-domaine de staging au moins une fois par trimestre.

2. Nettoyage de la base de données

-- Via phpMyAdmin ou WP-CLI

-- Supprimer les révisions d'articles (principales sources de gonflement)
DELETE FROM wp_posts WHERE post_type = 'revision';

-- Supprimer les brouillons auto-save
DELETE FROM wp_posts WHERE post_status = 'auto-draft';

-- Supprimer les commentaires spam
DELETE FROM wp_comments WHERE comment_approved = 'spam';

-- Nettoyer les métadonnées orphelines
DELETE pm FROM wp_postmeta pm 
LEFT JOIN wp_posts wp ON wp.ID = pm.post_id 
WHERE wp.ID IS NULL;

-- Optimiser toutes les tables
OPTIMIZE TABLE wp_posts, wp_postmeta, wp_options, wp_comments;

Via extension : WP-Optimize automatise tout ça avec une interface graphique.

3. Audit sécurité

# Scan de malware avec Wordfence ou Sucuri
# Via WP-CLI avec Wordfence installé :
wp wordfence scan

# Vérifier les fichiers modifiés récemment (signe d'intrusion)
find wp-content/ -newer wp-config.php -type f | grep -v cache | head -20

# Vérifier les utilisateurs admin non autorisés
wp user list --role=administrator

Permissions de fichiers correctes :

# Fichiers : 644
find . -type f -exec chmod 644 {} \;
# Répertoires : 755  
find . -type d -exec chmod 755 {} \;
# wp-config.php : 600 (lecture uniquement par l'owner)
chmod 600 wp-config.php

4. Audit performance

# Score PageSpeed avant/après optimisation
curl "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=https://votresite.fr&key=VOTRE_CLE" | python3 -m json.tool | grep '"score"'

Actions systématiques :

  • Vider le cache (extension de cache + cache du CDN)
  • Purger les images non utilisées dans la médiathèque
  • Vérifier que Gzip/Brotli est actif
// Dans .htaccess — vérifiez la présence de ces lignes
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/css application/javascript
</IfModule>

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/webp "access plus 1 year"
    ExpiresByType text/css "access plus 1 month"
</IfModule>

5. Contrôle des formulaires et emails

  • Testez le formulaire de contact (vérifiez la réception)
  • Vérifiez les logs d'envoi d'email (extensions WP Mail SMTP)
  • Contrôlez que les emails ne partent pas en spam

6. Vérification des 404 et liens brisés

# Screaming Frog (gratuit jusqu'à 500 URLs) ou :
wp post list --post_status=publish --format=csv --fields=ID,post_name | while IFS=, read id slug; do
  code=$(curl -s -o /dev/null -w "%{http_code}" "https://votresite.fr/$slug/")
  [ "$code" != "200" ] && echo "$slug : $code"
done

Trimestrielle — 1 heure

  • Audit complet Google Search Console (erreurs d'indexation, Core Web Vitals)
  • Suppression des extensions inactives et thèmes non utilisés
  • Revue des comptes utilisateurs (supprimer les anciens)
  • Mise à jour du certificat SSL si nécessaire
  • Test de restauration de la sauvegarde sur un environnement staging

Automatiser avec WP-CLI et Cron

#!/bin/bash
# /scripts/wp-maintenance.sh — à lancer en cron mensuel

SITE_DIR="/var/www/votresite"
BACKUP_DIR="/backups/$(date +%Y%m)"
mkdir -p $BACKUP_DIR

cd $SITE_DIR

# Sauvegarde
wp db export $BACKUP_DIR/db-$(date +%Y%m%d).sql --allow-root
tar -czf $BACKUP_DIR/files-$(date +%Y%m%d).tar.gz wp-content/ --exclude=wp-content/cache

# Mises à jour
wp core update --allow-root
wp plugin update --all --allow-root
wp theme update --all --allow-root

# Nettoyage
wp db optimize --allow-root
wp cache flush --allow-root

echo "Maintenance terminée : $(date)"

# Crontab — exécution le 1er de chaque mois à 3h
0 3 1 * * /scripts/wp-maintenance.sh >> /var/log/wp-maintenance.log 2>&1


Pour aller plus loin : WP-CLI commands — référence complète des commandes en ligne de commande.

Cet article vous a plu ?

Donnez-lui une note, ça m'aide vraiment !

Partager l'article