Transférer son site wordpress local sur un serveur web

(Note: au moment de rédaction de ce billet, j'utilise la version 3.1.3 de Wordpress. Procédure retesté et valide sur la version 3.4)

Pour faciliter notre travail d’intégrateur lorsque nous travaillons sur un thème wordpress, nous préférons habituellement travailler sur une copie directement sur notre serveur local (wamp, xamp, mamp, etc). Cela permet d’avoir un accès direct aux codes sources du site (mais surtout aux fichiers php/css de nos templates) sans devoir à chaque fois uploader notre travail sur un serveur distant, ni travailler avec l’éditeur de code intégré à wordpress.

Mais voilà qu’il vient le moment où l’on souhaite mettre ce site en ligne. Voici comment procéder.

Désactiver les extensions

Il est très important de désactiver vos extensions. Certaines peuvent causer un bug qui empêchera votre site de fonctionner correctement une fois en ligne ! C’est notamment le cas avec quelques extensions SEO (dont l’extension de google).

J'expliquerai plus bas comment corriger ce bug si vous avez sauté cette étape.

Tout transférer

C’est le moment de transférer l’entier de votre dossier local sur votre serveur. Vous devriez savoir comment faire, on se connecte par FTP et on envoie les fichiers.

Ensuite on transfert notre base de donnée (probablement avec phpmyadmin). On clique sur notre base de données en local, et on choisit l’onglet « exporter » (les paramètres par défaut marchent sans problème pour la majorité des cas). Sur notre base de donnée distante, on créé la base de donnée, puis on importe (onglet « importer ») la base que nous venons d’exporter.

Jusque là rien de bien compliqué. N’oubliez pas de prendre en note le nom de la base, le nom d’utilisateur et le mot de passe pour se connecter sur la base de données de votre serveur !

Modifier le fichier wp-config.php

À la racine de votre site wordpress, vous trouverez un fichier « wp-config.php ». Modifiez les constantes PHP reliés à la connexion (DBNAME, DBUSER, DB_PASSWORD) avec vos nouveaux accès.

Il m’est arrivé une fois lors d’une édition directement via FTP que le fichier wp-config soit corrompu. Si jamais ça devait vous arriver, le fichier « wp-config-sample.php » dans le même répertoire vous permettra de récupérer l’intégrité du fichier (il ne vous manquera plus qu’à y insérer vos informations).

Modifier votre base de données

À ce niveau, votre site devrait être visible en ligne. Cela dit, il faut encore aller changer manuellement deux valeurs dans la base de données du serveur web afin de notamment permettre l’accès au panneau d’administration de votre site.

Dans la table « options » (ou wp_options, ou autre selon le préfixe définit), trouvez le champ « siteurl » (id 1) et « home » (id 39). Normalement vous aurez là une adresse menant vers http://localhost, modifiez le champ pour qu’il pointe à la racine de votre site wordpress, par exemple http://blog.simonboudrias.com

Bug lors du transfert de wordpress sur serveur web

Si vous n’avez pas désactivé vos extensions et que cela vous crée un problème, pas de panique! Entrez dans votre base de donnée et dans la table « options », trouvez le champ « active_plugins » (id 36). À la place de la ligne s’y trouvant, écrivez ceci :

a:0:{}

Et tout devrait entrer dans l’ordre. Il vous suffira ensuite de réactiver vos extensions dans votre nouveau panneau d’administration en ligne.

 

Des questions ?