asset 1
asset 2
asset 3
asset 2
asset 21

Comment installer WordPress en ligne de commande avec WP-CLI

10 avril 2026

Ins­tal­ler Word­Press depuis une inter­face gra­phique fonc­tionne bien, mais prend du temps : créer la base de don­nées, lan­cer l’ins­tal­leur, rem­plir les for­mu­laires un par un. WP-CLI per­met de faire exac­te­ment la même chose depuis le ter­mi­nal, en quelques commandes.

C’est par­ti­cu­liè­re­ment utile si vous gérez plu­sieurs sites, si vous sou­hai­tez auto­ma­ti­ser vos ins­tal­la­tions ou sim­ple­ment gagner du temps. Cet article vous guide de A à Z : du télé­char­ge­ment de Word­Press jus­qu’à un site prêt à l’emploi, entiè­re­ment en ligne de commande.

Prérequis

Avant de com­men­cer, cinq élé­ments doivent être en place :

Un accès SSH fonctionnel

Toutes les com­mandes de cet article s’exé­cutent depuis un ter­mi­nal connec­té à votre héber­ge­ment. Si vous n’a­vez pas encore confi­gu­ré l’ac­cès SSH, consul­tez notre guide : Se connec­ter en SSH à son héber­ge­ment o2switch.

Sur un héber­ge­ment o2switch, WP-CLI est dis­po­nible nati­ve­ment. Aucune ins­tal­la­tion préa­lable n’est nécessaire.

Une base de données MySQL créée dans le cPanel

Créer une bases de données mysql

Sur un héber­ge­ment mutua­li­sé, WP-CLI ne peut pas créer la base de don­nées en rai­son des limi­ta­tions de droits MyS­QL. Elle doit donc être créée au préa­lable depuis le cPa­nel. Notez les infor­ma­tions sui­vantes au moment de la créa­tion, vous en aurez besoin à l’é­tape 3 :

  • le nom de la base de données ;
  • le nom d’u­ti­li­sa­teur associé ;
  • le mot de passe de l’utilisateur ;
  • l’hôte (géné­ra­le­ment localhost).

Ces infor­ma­tions sont défi­nies dans cPa­nel > Bases de don­nées MyS­QL®. Si vous ne retrou­vez plus le mot de passe, le nom de la base et l’u­ti­li­sa­teur res­tent visibles dans cette inter­face, mais le mot de passe devra être réini­tia­li­sé avant de continuer.

Savoir vers quel répertoire pointe votre domaine

Le réper­toire recom­man­dé par o2switch est ~/public_html. Si vous avez ache­té le nom de domaine en même temps que l’hé­ber­ge­ment, il sera dans le dos­sier /public_html. Pour un domaine ajou­té ou un sous-domaine, véri­fiez dans cPa­nel > Domaines Confi­gu­rés le che­min que vous avez défi­ni lors de la création.

Configurer un nom de domaine

Un certificat SSL actif sur le domaine

L’ins­tal­la­tion uti­lise une URL en https://. Avant de lan­cer les com­mandes, assu­rez-vous que le cer­ti­fi­cat SSL est actif sur votre domaine. Chez o2switch, les cer­ti­fi­cats Let’s Encrypt sont gra­tuits mais doivent être décla­rés manuel­le­ment depuis cPa­nel > Let’s Encrypt™ SSL. Le renou­vel­le­ment est ensuite auto­ma­tique. Consul­tez la docu­men­ta­tion o2switch si besoin : Acti­ver un cer­ti­fi­cat SSL Let’s Encrypt.

créer un certificat SSL Let's Encrypt ou vérifier qu'il est actif

Une version de PHP compatible

Word­Press néces­site PHP 7.4 mini­mum. PHP 8.3 est recom­man­dé pour les meilleures per­for­mances et la com­pa­ti­bi­li­té avec les exten­sions récentes. Chez o2switch, la ver­sion PHP active se confi­gure depuis cPa­nel > Sélec­tion­ner une ver­sion de PHP.

sélectionner une version de php compatible

Avant de démarrer

Chaque bloc de com­mandes de cet article peut être copié-col­lé et lan­cé en une seule fois dans le ter­mi­nal. Si vous sou­hai­tez enchaî­ner plu­sieurs com­mandes en sécu­ri­sant l’exé­cu­tion, vous pou­vez les sépa­rer par && : la com­mande sui­vante ne s’exé­cu­te­ra que si la pré­cé­dente a réussi.

wp core download --locale=fr_FR && wp config create --dbname=nom_de_la_base ...

Dans tous les cas, après avoir col­lé un bloc dans le ter­mi­nal, si vous n’u­ti­li­sez pas le bou­ton de copie, pen­sez à appuyer sur Entrée pour vous assu­rer que la der­nière com­mande est bien lancée.

Étape 1 : se placer dans le bon répertoire

WP-CLI tra­vaille dans le réper­toire cou­rant. La pre­mière chose à faire est de s’y positionner.

cd ~/public_html

Si votre domaine pointe vers un autre réper­toire, adap­tez le che­min en consé­quence. En cas de doute, véri­fiez dans cPa­nel > Domaines.

Étape 2 : télécharger WordPress

wp core download --locale=fr_FR

Cette com­mande télé­charge la der­nière ver­sion de Word­Press en fran­çais et extrait les fichiers dans le réper­toire cou­rant. Si vous avez besoin d’une ver­sion spé­ci­fique, ajou­tez l’op­tion --version :

wp core download --locale=fr_FR --version=6.7

Étape 3 : créer le fichier wp-config.php

C’est ici que vous uti­li­sez les infor­ma­tions notées dans les pré­re­quis. Rem­pla­cez chaque valeur par vos infor­ma­tions réelles. Cette com­mande génère auto­ma­ti­que­ment le fichier wp-config.php avec les bonnes infor­ma­tions de connexion à la base de données.

wp config create \
  --dbname=nom_de_la_base \
  --dbuser=utilisateur \
  --dbpass=mot_de_passe \
  --dbhost=localhost \
  --locale=fr_FR
  

Si vous ne retrou­vez plus le mot de passe de l’u­ti­li­sa­teur MyS­QL, ren­dez-vous dans cPa­nel > Bases de don­nées MyS­QL® pour en défi­nir un nou­veau, puis relan­cez la commande.

Pour com­prendre en détail le rôle de ce fichier et les options dis­po­nibles, consul­tez notre article : wp-config.php : com­prendre et bien confi­gu­rer ce fichier essen­tiel de Word­Press.

Étape 4 : installer WordPress

wp core install \
  --url=https://mon-domaine.fr \
  --title="Mon site" \
  --admin_user=VotreIdentifiant \
  --admin_password=VotreMotDePasseF0rt! \
  --admin_email=contact@mon-domaine.fr
  

Cette com­mande crée les tables en base de don­nées, confi­gure le site et génère le compte admi­nis­tra­teur. En cas de suc­cès, le ter­mi­nal affiche :

Success: WordPress installed successfully.

Notez le mot de passe admi­nis­tra­teur que vous venez de défi­nir ; il n’est pas récu­pé­rable depuis le cPanel.

Étape 5 : vérifications post-installation

Quelques com­mandes pour s’as­su­rer que tout est en ordre. Véri­fiez que l’URL enre­gis­trée cor­res­pond bien à celle défi­nie à l’é­tape pré­cé­dente, que la ver­sion ins­tal­lée est cor­recte, que les exten­sions pré­sentes sont bien celles atten­dues et que le compte admi­nis­tra­teur a bien été créé.

wp option get home
wp core version
wp plugin list
wp user list

Word­Press ins­talle par défaut deux exten­sions : Hel­lo Dol­ly et Akis­met ; vous pou­vez les sup­pri­mer directement :

wp plugin delete hello akismet

Pour les bonnes pra­tiques à appli­quer juste après l’ins­tal­la­tion, consul­tez notre che­ck­list : Les bonnes pra­tiques après l’ins­tal­la­tion de Word­Press.

Étape 6 : créer la structure de contenu

Si vous connais­sez déjà les pages de votre site, vous pou­vez les créer direc­te­ment depuis le ter­mi­nal, sans pas­ser par l’interface.

Les quatre com­mandes ci-des­sous créent des pages avec le sta­tut « publish » (publié).

ACCUEIL_ID=$(wp post create --post_type=page --post_title="Accueil" --post_status=publish --porcelain)
wp post create --post_type=page --post_title="À propos" --post_status=publish
wp post create --post_type=page --post_title="Services" --post_status=publish
wp post create --post_type=page --post_title="Contact" --post_status=publish

Le flag --porcelain retourne uni­que­ment l’ID de la page créée. On peut ain­si le sto­cker dans une variable et le réuti­li­ser direc­te­ment dans les com­mandes sui­vantes. Pas de nota­tion manuelle, pas de filtre inexis­tant.
Une fois les pages créées, défi­nis­sez la page d’ac­cueil sta­tique à l’aide de ces deux com­mandes : la pre­mière confi­gure Word­Press pour affi­cher une page sta­tique, la seconde désigne la page « Accueil » comme page d’ac­cueil du site.

wp option update show_on_front page
wp option update page_on_front "$ACCUEIL_ID"

Cette étape est option­nelle. Si la struc­ture de votre site n’est pas encore défi­nie, elle peut tout à fait attendre.

Aller plus loin : un script réutilisable

Si vous ins­tal­lez régu­liè­re­ment des sites Word­Press, vous pou­vez regrou­per toutes ces com­mandes dans un script shell. Créez un fichier install.sh direc­te­ment sur le ser­veur, copiez-col­lez le conte­nu ci-des­sous et ajus­tez les variables selon votre projet.

#!/bin/bash

set -e

# -------------------------------------------------
# Configuration
# -------------------------------------------------

LOCALE="fr_FR"
DB_NAME="nom_de_la_base"
DB_USER="utilisateur"
DB_PASS="mot_de_passe"
DB_HOST="localhost"
SITE_URL="https://mon-domaine.fr"
SITE_TITLE="Mon site"
ADMIN_USER="VotreIdentifiant"
ADMIN_PASS="VotreMotDePasseF0rt!"
ADMIN_EMAIL="contact@mon-domaine.fr"

# -------------------------------------------------
# Installation
# -------------------------------------------------

wp core download --locale="$LOCALE"
wp config create --dbname="$DB_NAME" --dbuser="$DB_USER" --dbpass="$DB_PASS" --dbhost="$DB_HOST" --locale="$LOCALE"
wp core install --url="$SITE_URL" --title="$SITE_TITLE" --admin_user="$ADMIN_USER" --admin_password="$ADMIN_PASS" --admin_email="$ADMIN_EMAIL"
wp rewrite structure '/%postname%/' --hard
wp rewrite flush --hard

# -------------------------------------------------
# Nettoyage
# -------------------------------------------------

set +e
wp plugin delete hello akismet
set -e

# -------------------------------------------------
# Structure de contenu
# -------------------------------------------------

ACCUEIL_ID=$(wp post create --post_type=page --post_title="Accueil" --post_status=publish --porcelain)
wp post create --post_type=page --post_title="À propos" --post_status=publish
wp post create --post_type=page --post_title="Services" --post_status=publish
wp post create --post_type=page --post_title="Contact" --post_status=publish

wp option update show_on_front page
wp option update page_on_front "$ACCUEIL_ID"

# -------------------------------------------------
# Extensions (optionnel)
# -------------------------------------------------

# Installer et activer une extension
# Le slug correspond au nom du dossier de l'extension (ex : "contact-form-7" et non "Contact Form 7")
# wp plugin install slug-de-l-extension --activate

echo "Installation terminée."

La pre­mière ligne #!/bin/bash est obli­ga­toire : elle indique au sys­tème qu’il s’a­git d’un script shell et quel inter­pré­teur uti­li­ser pour l’exé­cu­ter. La ligne set -e est une sécu­ri­té indi­quant au script de s’ar­rê­ter en cas d’erreur.

Une fois le fichier créé, ren­dez-le exé­cu­table et lancez-le :

chmod +x install.sh
./install.sh

Pour aller plus loin avec WP-CLI au quo­ti­dien, consul­tez notre article dédié : WP-CLI et la ligne de com­mande pour Word­Press.

Conclusion

WP-CLI trans­forme une ins­tal­la­tion Word­Press en une suite de com­mandes claires et repro­duc­tibles. Une fois votre script en place, lan­cer un nou­veau site prend moins de deux minutes. Une méthode par­ti­cu­liè­re­ment effi­cace dès que vous gérez plu­sieurs pro­jets ou que vous sou­hai­tez indus­tria­li­ser vos installations.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *