Transférer wordpress sur un serveur web

10 jan

Logo Wordpress

Dans cet article nous allons voir comment transférer un blog WordPress d’un environnement de développement local (Wamp, Lamp, etc.) vers un serveur web de production. À noter toutefois que cette procédure sera aussi applicable pour transférer un WordPress d’un hébergement à un autre.

Vérifier les prérequis

Dans un premier temps il faudra s’assurer que le serveur de destination réponde aux prérequis de WordPress (ici pour la version actuelle – 3.5)

  • PHP version 5.2.4 ou supérieure
  • MySQL version 5.0 ou supérieure

Voici la procédure pour modifier la version de PHP chez les principaux hébergeurs :

OVH

Dans le .htaccess (celui de WordPress par exemple) ajouter la ligne suivante :

  • Pour PHP 5.2 : SetEnv PHP_VER 5
  • Pour PHP 5.3 : SetEnv PHP_VER 5_3
  • Pour PHP 5.4 : SetEnv PHP_VER 5_4

1AND1

PHP5 est normalement actif par défaut, si ce n’est pas le cas ajouter les lignes suivantes dans votre .htaccess :

AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php

Sauvegarder la base de données

  • Accédez au phpMyAdmin (local ou de l’ancien hébergeur)
  • Sélectionnez la base de données contenant WordPress
  • Sélectionnez toutes les tables
  • Vérifiez que les cases « Ajouter un énoncé DROP TABLE … », « IF NOT EXISTS » et « AUTO_INCREMENT » sont cochées
  • Exportez (Structures + Données).

Vous pouvez aussi utiliser la commande mysqldump (via SSH ou un script PHP)

mysqldump --add-drop-table -h serveur_mysql-u utilisateur_mysql -p base_de_donnees

Modifier le fichier config.php

Modifier les valeurs des constantes liées à la connexion MySQL à savoir :

  • DB_NAME
  • DB_USER
  • DB_PASSWORD
  • DB_HOST

Modifier le .htaccess

Il peut être bon de vérifier la configuration du .htaccess afin de vérifier les chemins des instructions RewriteBase et RewriteRule

Cette modification est utile dans le cas par exemple d’un WordPress qui se trouve en local dans un dossier nommé « Blog » et en production à la racine de l’hébergement.

Par exemple, si le blog se trouve à la racine de l’hébergement il faudra alors mettre les chemins suivants :

  • RewriteBase /
  • RewriteRule . /index.php [L]

Transférer la base de données

  • Accédez au phpMyAdmin du nouvel hébergement
  • Vérifier que la base de données spécifiée dans la constante (DB_HOST) est bien créée
  • Importer la sauvegarde de la base de données

Modifier la base de données

Pour que le site fonctionne parfaitement, il faut modifier au minimum deux paramètres dans la base de données :

  • Accédez au phpMyAdmin du nouvel hébergement
  • Accédez à la base de données contenant WordPress
  • Accédez à la table « wp_options »
  • Trouvez les ID 1 (siteurl) et 36 (home) pour modifier les champs afin de remplacer la valeur actuelle par l’adresse du blog en ligne, exemple : http://www.blog.florian-bogey.fr

Transférer les fichiers

Ici rien de compliqué, il suffit de se connecter au serveur FTP afin de transférer tous les fichiers de WordPress sur le nouvel hébergement.

Changer les URL absolues

Arrivé à cette étape le blog devrait fonctionner, cependant il est possible que des références à l’ancienne URL du blog soient présentes soit dans les extensions, soit dans les articles :

  • Pour les extensions, il est préférable de vérifier les configurations une à une afin de modifier les références aux anciennes URL
  • Pour les articles, il faudra exécuter la requête SQL suivante dans votre PhpMyAdmin (En ayant pris soin de faire au préalable une sauvegarde de la base de données)

UPDATE wp_posts SET post_content = replace(post_content, 'http://www.mon-ancienne-url.com', 'http://www.ma-nouvelle-url.com');

C’est fini, la migration est terminée tout devrait fonctionner sans problème.

Commentaires clos.