Pourquoi auto-héberger WordPress sur un VPS
L'hébergement mutualisé partage CPU, RAM et même la base de données avec des centaines d'autres sites : votre vitesse dépend des voisins, et l'accès SSH ou la configuration fine du serveur sont souvent verrouillés. Un VPS dédié vous donne des ressources garanties, le contrôle total de PHP-FPM, du serveur web, du cache objet (Redis) et du cache de pages. Pour une agence qui gère plusieurs sites clients, c'est aussi la possibilité de tout isoler en conteneurs sur une seule machine, avec des sauvegardes et des déploiements maîtrisés, là où le mutualisé impose ses limites et ses surcoûts.
Les gains d'un WordPress sur VPS
- Ressources CPU/RAM garanties : plus de ralentissement à cause des voisins
- Contrôle total de PHP-FPM, du serveur web et des extensions
- Cache objet Redis et cache de pages pour des temps de réponse divisés
- Accès SSH/WP-CLI complet pour automatiser maintenance et déploiements
- Isolation par conteneur : plusieurs sites clients sur un seul VPS
- Sauvegardes et règles de sécurité définies par vous, sans surcoût par site
Prérequis réalistes
Un VPS 2 vCPU / 2 Go de RAM tient confortablement un site WordPress avec un trafic modéré ; passez à 4 Go avec Redis, WooCommerce ou plusieurs sites. Il vous faut Docker + Compose, une base MariaDB ou MySQL, idéalement Redis pour le cache objet, et un domaine votredomaine.ma avec son certificat SSL. Prévoyez un peu de réglage PHP (upload_max_filesize, memory_limit) selon vos médias et extensions.
Déploiement pas à pas
Composer WordPress, MariaDB et Redis
Dans docker-compose.yml, déclarez wordpress:php8.3-fpm ou wordpress:apache, un service mariadb:11 et redis:alpine. Persistez wp-content et la base dans des volumes nommés, sur un réseau Docker interne.
Renseigner la base et les secrets
Passez WORDPRESS_DB_* et des mots de passe forts via variables d'environnement. Ajoutez les clés de sécurité (salts) générées depuis l'API officielle WordPress dans WORDPRESS_CONFIG_EXTRA.
Lancer et installer WordPress
Démarrez avec docker compose up -d puis ouvrez votre domaine pour l'assistant d'installation. Mieux : automatisez via WP-CLI (wp core install) pour des déploiements reproductibles d'un site à l'autre.
Placer le reverse proxy et le SSL
Configurez Nginx/Caddy en HTTPS devant WordPress. Ajustez client_max_body_size pour les uploads, activez la compression gzip/brotli et le cache des assets statiques (images, CSS, JS) avec des en-têtes Cache-Control longs.
Activer le cache objet Redis
Installez un plugin de cache objet (ex. Redis Object Cache), pointez-le vers le service redis, et activez-le : les requêtes répétées à la base sont servies depuis la mémoire, allégeant fortement MariaDB.
Durcir et sauvegarder
Désactivez l'édition de fichiers dans l'admin (DISALLOW_FILE_EDIT), limitez les tentatives de connexion, et planifiez une sauvegarde nocturne de wp-content + dump SQL vers un stockage objet distant.
Pour des performances qui rivalisent avec les meilleures plateformes managées, ajoutez un cache de pages complet en amont de PHP : un plugin générant des fichiers HTML statiques servis directement par Nginx (via try_files), ou un module FastCGI cache. Vos pages publiques ne touchent alors plus du tout PHP ni MariaDB, ce qui permet à un VPS modeste d'encaisser des milliers de visiteurs simultanés, tout en gardant le back-office et le panier (WooCommerce) exclus du cache.
La documentation officielle
Pour la configuration avancée et les options propres à l'outil, référez-vous à la documentation officielle de WordPress. Ce guide couvre la mise en ligne sur VPS ; la doc éditeur reste la référence pour les réglages fins, les mises à jour majeures et les cas d'usage spécifiques.