Intermédiaire ⏱ 40 min de mise en œuvre Mis à jour le 11 août 2026

Héberger une boutique WooCommerce sur un VPS

Lancer sa boutique WooCommerce en gardant le contrôle de son infra. Voici comment l'héberger sur un VPS, des conteneurs aux paiements, sans jamais stocker de données de carte.

WooCommerce transforme WordPress en véritable plateforme e-commerce. Il permet de gérer un catalogue, des produits variables, les stocks, les commandes, la TVA, les modes de livraison et les paiements depuis une interface familière. Pour un entrepreneur, c’est une solution flexible qui évite de dépendre entièrement d’une plateforme commerciale fermée.

Héberger WooCommerce sur son propre VPS apporte davantage de contrôle sur les ressources, les données et la configuration technique. En contrepartie, il faut administrer le serveur, sécuriser la boutique, organiser les sauvegardes et maintenir toute la stack. Ce guide propose un déploiement reproductible avec Docker Compose, WordPress, MariaDB et, en option, Redis.

VPS ou hébergement web managé ?

Un VPS fournit un environnement isolé sur lequel vous choisissez le système, les versions logicielles, les règles réseau et les ressources attribuées à chaque service. Cette liberté convient aux boutiques qui ont des besoins techniques précis, souhaitent optimiser leur stack ou prévoient une montée en charge.

Cette autonomie implique aussi des responsabilités : mises à jour du système, pare-feu, HTTPS, surveillance, sauvegardes et restauration. Une erreur de configuration peut rendre le site indisponible ou exposer des données clients.

Un hébergement web managé ou mutualisé est plus simple pour débuter. WordPress peut généralement être installé en quelques clics, tandis que l’hébergeur prend en charge une partie de l’infrastructure. Cette formule laisse moins de liberté, mais réduit fortement le temps consacré à l’administration.

TalCloud propose des VPS pour conserver un contrôle complet, et prépare une offre Web Pro pour démarrer plus simplement. Les services s’appuient sur des serveurs situés en France, du stockage NVMe, une protection Anti-DDoS Netrix et un support humain. La localisation française facilite également une démarche cohérente avec les exigences du RGPD, sans dispenser le marchand de ses propres obligations.

Prérequis pour déployer WooCommerce

Avant de commencer, prévoyez :

  • Un VPS avec une distribution Linux maintenue
  • Docker Engine et le module Docker Compose (voir installer Docker sur un VPS)
  • Un nom de domaine
  • Un enregistrement DNS pointant vers l’adresse IP du VPS
  • Les ports 80 et 443 accessibles
  • Un compte auprès d’une passerelle de paiement comme Stripe ou PayPal
  • Une adresse e-mail dédiée à l’administration
  • Un emplacement externe pour les sauvegardes

Dimensionnez le VPS selon le catalogue, le trafic et les extensions utilisées. WooCommerce sollicite davantage PHP et la base de données qu’un simple site vitrine. Le stockage NVMe améliore notamment la réactivité des requêtes et du back-office.

Déployer WordPress et MariaDB avec Docker Compose

Créez un répertoire dédié :

mkdir -p ~/woocommerce
cd ~/woocommerce
mkdir -p wordpress/wp-content

Ajoutez un fichier .env contenant des secrets longs et uniques :

MARIADB_ROOT_PASSWORD=remplacer_par_un_secret_root
MARIADB_DATABASE=woocommerce
MARIADB_USER=woocommerce
MARIADB_PASSWORD=remplacer_par_un_secret_bdd

Ne versionnez jamais ce fichier et limitez ses permissions :

chmod 600 .env

Créez ensuite compose.yaml :

services:
  db:
    image: mariadb:11.4
    restart: unless-stopped
    environment:
      MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD}
      MARIADB_DATABASE: ${MARIADB_DATABASE}
      MARIADB_USER: ${MARIADB_USER}
      MARIADB_PASSWORD: ${MARIADB_PASSWORD}
    volumes:
      - db_data:/var/lib/mysql
    networks:
      - internal

  wordpress:
    image: wordpress:php8.3-apache
    restart: unless-stopped
    depends_on:
      - db
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_NAME: ${MARIADB_DATABASE}
      WORDPRESS_DB_USER: ${MARIADB_USER}
      WORDPRESS_DB_PASSWORD: ${MARIADB_PASSWORD}
    volumes:
      - ./wordpress/wp-content:/var/www/html/wp-content
    ports:
      - "127.0.0.1:8080:80"
    networks:
      - internal

  redis:
    image: redis:7-alpine
    restart: unless-stopped
    command: redis-server --appendonly yes
    volumes:
      - redis_data:/data
    networks:
      - internal

volumes:
  db_data:
  redis_data:

networks:
  internal:

Le port WordPress écoute uniquement sur 127.0.0.1. Il n’est donc pas directement exposé sur Internet : le reverse proxy sera le seul point d’entrée public. Le volume db_data conserve la base MariaDB et le montage wp-content conserve les médias, extensions et thèmes.

Démarrez les conteneurs puis vérifiez leur état :

docker compose up -d
docker compose ps
docker compose logs --tail=100 wordpress db

Redis reste facultatif. Sa présence ne suffit pas à activer le cache objet : il faudra installer une extension WordPress compatible et lui indiquer l’hôte redis.

Activer HTTPS avec un reverse proxy

Le HTTPS est obligatoire pour une boutique. Il protège les identifiants, les sessions, les adresses clients et les échanges avec les prestataires de paiement. N’exposez jamais WooCommerce publiquement en HTTP.

Vous pouvez installer Caddy sur l’hôte et utiliser cette configuration :

boutique.example.com {
    reverse_proxy 127.0.0.1:8080
    encode zstd gzip
}

Après avoir remplacé le domaine, rechargez Caddy :

sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl reload caddy

Le DNS doit déjà pointer vers le VPS et les ports 80 et 443 doivent être autorisés par le pare-feu. Vérifiez ensuite que le certificat est valide et que les accès HTTP sont redirigés vers HTTPS.

Installer WordPress et WooCommerce

Ouvrez le domaine dans votre navigateur et suivez l’assistant WordPress. Choisissez un identifiant administrateur difficile à deviner, un mot de passe unique et une adresse e-mail surveillée. Évitez les identifiants génériques comme admin. Notre guide pour héberger un site WordPress complète ces étapes.

Dans le tableau de bord, ouvrez la page des extensions, recherchez WooCommerce, puis installez et activez l’extension. Son assistant vous accompagne dans les réglages essentiels :

  • Adresse et pays de la boutique
  • Devise en EUR
  • Calcul et affichage de la TVA
  • Zones et tarifs d’expédition
  • Types de produits vendus
  • Pages du panier, de la commande et du compte client

Vérifiez les règles fiscales avec un professionnel compétent. WooCommerce fournit les outils de configuration, mais ne garantit pas que vos taux, factures ou obligations déclaratives correspondent à votre situation.

Configurer les paiements sans stocker de cartes

Créez un compte professionnel chez une passerelle comme Stripe ou PayPal, puis installez son extension WooCommerce officielle. Configurez d’abord le mode de test afin de simuler un paiement, un refus, un remboursement et le retour du client vers la boutique.

La boutique ne doit jamais collecter ni stocker elle-même les numéros complets de carte bancaire, les cryptogrammes ou les données équivalentes. La saisie et le traitement doivent être confiés au prestataire de paiement qui prend en charge la conformité PCI DSS applicable à son service.

Cette délégation réduit le périmètre technique, mais ne supprime pas toutes vos obligations. Le HTTPS reste obligatoire et les clés API doivent être protégées. Utilisez des clés distinctes pour les tests et la production, limitez leurs permissions et renouvelez-les immédiatement en cas de fuite.

Avant l’ouverture, réalisez une commande complète avec un faible montant réel. Contrôlez le paiement, les e-mails, la création de commande, la mise à jour du stock et le remboursement.

Ajouter et structurer les produits

WooCommerce distingue notamment les produits simples et variables. Un produit simple correspond à une référence unique. Un produit variable propose plusieurs déclinaisons, par exemple une taille ou une couleur, avec un prix et un stock propres.

Pour chaque fiche, renseignez un titre précis, une description utile, des images optimisées, le prix TTC ou HT selon votre configuration, le taux de TVA, le poids, les dimensions et le stock. Utilisez des catégories cohérentes pour faciliter la navigation.

Compressez les images avant leur import et évitez les fichiers surdimensionnés. Une photographie de plusieurs mégaoctets ralentit les pages, augmente la consommation de stockage et pénalise particulièrement les visiteurs mobiles.

Respecter le RGPD

Les comptes clients, adresses, commandes, historiques et messages constituent des données personnelles. Leur hébergement sur des serveurs en France soutient une stratégie de maîtrise des données, mais le marchand reste responsable de ses traitements.

Préparez au minimum :

  • Des mentions légales
  • Des conditions générales de vente
  • Une politique de confidentialité
  • Une politique de conservation des données
  • Un mécanisme de consentement pour les cookies non essentiels
  • Une procédure d’accès, de rectification et de suppression
  • Des contrats adaptés avec les sous-traitants

Ne conservez pas les données indéfiniment. Définissez des durées justifiées par la gestion commerciale, les obligations comptables, la lutte contre la fraude et les demandes des clients.

Optimiser les performances

WooCommerce peut devenir lourd lorsque le catalogue, les extensions ou le trafic augmentent. Commencez par utiliser un cache de page compatible avec les pages dynamiques. Le panier, la commande et le compte client ne doivent généralement pas être servis depuis un cache public.

Redis peut accélérer l’accès aux objets WordPress et réduire certaines requêtes MariaDB. Ajoutez une extension de cache objet, configurez redis comme hôte, puis contrôlez son état depuis WordPress.

Optimisez aussi les images, limitez les scripts tiers et supprimez les extensions inutilisées. Un stockage NVMe aide la base et les fichiers, mais il ne compense pas un thème surchargé ou une accumulation d’extensions. Notre guide sur l’optimisation de la vitesse d’une boutique détaille ces réglages.

Sécuriser la boutique

WordPress est une cible fréquente. Appliquez des mots de passe uniques, activez la double authentification pour les administrateurs et limitez le nombre de comptes privilégiés. Mettez à jour WordPress, WooCommerce, les extensions et le thème.

Installez uniquement les composants nécessaires provenant de sources fiables. Supprimez les extensions et thèmes abandonnés au lieu de simplement les désactiver. Protégez également SSH avec des clés, désactivez l’authentification distante de l’utilisateur root et activez un pare-feu.

La protection Anti-DDoS Netrix de l’infrastructure TalCloud constitue une couche supplémentaire, mais elle ne corrige pas une extension vulnérable ou un compte compromis.

Sauvegarder WordPress et MariaDB

Une sauvegarde exploitable doit couvrir la base MariaDB et wp-content. Exportez la base ainsi :

mkdir -p backups
docker compose exec -T db mariadb-dump \
  -uwoocommerce \
  -p"$MARIADB_PASSWORD" \
  --single-transaction \
  woocommerce > backups/woocommerce.sql

Sauvegardez ensuite les fichiers :

tar -czf backups/wp-content.tar.gz wordpress/wp-content

Copiez ces archives vers un stockage externe au VPS et chiffrez-les, car elles peuvent contenir des données personnelles. Notre guide sur les sauvegardes chiffrées avec restic aide à automatiser cette copie. Automatisez les sauvegardes, définissez une durée de conservation et testez régulièrement une restauration sur un environnement isolé. Une sauvegarde jamais restaurée ne constitue pas une garantie.

Organiser les mises à jour et la maintenance

Avant une mise à jour importante, sauvegardez la boutique et vérifiez la compatibilité du thème, de WooCommerce et des extensions critiques. Mettez à jour les images Docker de manière contrôlée :

docker compose pull
docker compose up -d
docker compose ps
docker compose logs --tail=100

Surveillez les erreurs applicatives, l’espace disque, la mémoire, la charge, l’expiration des certificats et l’échec des tâches planifiées. Testez périodiquement le parcours complet : consultation d’un produit, ajout au panier, paiement, e-mail de confirmation et remboursement.

Un VPS offre la maîtrise nécessaire pour adapter WooCommerce à votre activité. Cette maîtrise devient un avantage durable si elle s’accompagne d’une maintenance régulière, de sauvegardes testées et d’une séparation claire entre la boutique et le prestataire chargé des paiements.