Déplacer un site en ligne vers un site local
Cette procédure vaut lorsque l’on a un client qui souhaite des améliorations ou modifications sur son site en ligne. Pour ne pas commettre d’erreurs sur son site live, on va donc transférer tout son site ( ftp + base de donnée) en local.
On va alors avoir besoin des informations suivantes:
- les identifiants ftp pour pouvoir récupérer le dossier global du site
- la base de donnée du site
Création du site en local
On crée un dossier vide du même nom sur son serveur local, soit wamp/www, xampp/htdocs etc.
A partir de Filezilla ou tout autre client FTP, on sélectionne tout le site en ligne à l’intérieur du dossier www (à droite sur l’image: tous les dossiers au niveau de wp-admin, wp-content, wp-include ainsi que tous les fichiers php, htaccess.. etc), et on transfère le tout par glisser-déposer dans le dossier précédemment crée.
Modification du fichier wp-config
Une fois le site téléchargé, on prend le fichier wp-config importé et on modifie les informations d’accès à la base de donnée :
On change le nom de la base, le nom du serveur, le nom d’utilisateur et mot de passe du site en ligne pour les remplacer par nos données locales: typiquement « nom de la base » (si possible le même que celui en ligne), ‘root’ pour l’utilisateur, rien pour le mot de passe ( à moins d’en avoir un spécifique pour accéder à ses bases en local) et le nom de serveur : ‘localhost’.
Création de la base de donnée
Puis dans Phmyadmin, on crée notre base de donnée, et on y importe le fichier sql que le client nous a laissé.
Une fois importée, on clique sur l’onglet SQL et on tape les requêtes suivantes:
- Changer l’URL du site
UPDATE wp_options
SET option_value = replace(option_value, ‘http://www.ancien-site.com’, ‘http://localhost/nouveau-site.com’)
WHERE option_name = ‘home’
OR option_name = ‘siteurl’; - Changer l’URL des GUID
UPDATE wp_posts
SET guid = REPLACE (guid, ‘http://www.ancien-site.fr’, ‘http://localhost/nouveau-site.fr’); - Changer l’URL des médias dans les articles et pages
UPDATE wp_posts
SET post_content = REPLACE (post_content, ‘http://www.ancien-site.fr’, ‘http://localhost/nouveau-site.fr’); - Changer l’URL des données meta
UPDATE wp_postmeta
SET meta_value = REPLACE (meta_value, ‘http://www.ancien-site.com’,’http://localhost/nouveau-site.com’);
Ces requêtes vont changer tous les url du site en ligne par l’url de votre nouveau site local, et suffisent à faire fonctionner votre site en version locale. On retourne alors dans le backoffice de son site et on applique ou on réenregistre les permaliens.
Ces requêtes proviennent d’un site qui est resté longtemps en première position sur google, lorsqu’on tapait comme recherche « dépacer wordpress requêtes sql » par exemple. Aujourd’hui, une page du talentueux développeur wp Misha est passé devant, tout comme une page du célèbre site CSS Tricks.
Misha a carrément développé une interface qui remplace le script proposé plus bas (search and replace d’Interconnectit) et fait le job pour vous. Insérez l’url du site live par celui du site en local. Et cela va vous générer automatiquement toutes les requêtes SQL à effectuer pour n’oublier aucune table.
L’interface fonctionne évidemment pour tout déplacements de site, quelque soit les url de départ et d’arrivée.
Aller plus loin avec Search and Replace
Pour vraiment modifier tous les url restants, je vous conseille l’utilisation de search and replace de interconnect it.
Téléchargez le dossier search and replace. Dézipper et rentrer dans le dossier dézippé. Renommez le dossier à l’intérieur en quelque chose de simple, du genre : « search ».
Placez ce dossier à la racine de votre wordpress local, au même niveau que wp-content, wp-admin etc.
Maintenant, dans la barre de recherche internet, tapez l’adresse locale de votre site, suivi du nom du dossier « search » : http://localhost/monsite/search
Renseignez l’ancienne adresse du site en live, puis celle du site en local, sans slash à la fin
Cliquez enfin sur « Live Run« .
Cela va modifier tous les url restants ! Une fois terminé, supprimez le dossier search de votre wordpress. Votre site est prêt en local, avec les bons url !!
Déplacer son site local travaillé vers le site en ligne.
Pour déplacer son site local vers le site en ligne, c’est la même procédure, dans le sens inverse !
Déplacer son dossier wordpress de localhost vers le site live
On ouvre son client FTP. On transfère tout son dossier wordpress du localhost (à gauche) vers la racine de l’url en ligne (à droite)
Modification du fichier wp-config
On modifie le fichier wp-config et on renseigne les bonnes infos du site live
On met le nom de la base live, le mot de passe, le nom d’utilisateur et le host. Toutes ces informations vous sont transmises soit par le client, soit vous les avez reçues de votre hébergeur.
Mise à jour de la base de donnée
Sur PhpMyadmin du site local, on exporte sa base de donnée. Pas besoin de toucher au fichier. Sur le PhpMyadmin du site live, on crée la base, ou si elle est déjà créée, on clique sur importer, et on importe la base de donnée. Si tout se passe bien, une ligne verte s’affiche pour dire que l’importation s’est bien déroulée.
Une fois importée, on clique sur l’onglet SQL et on tape les requêtes suivantes:
- Changer l’URL du site
UPDATE wp_options
SET option_value = replace(option_value, ‘http://localhost/ancien-site’, ‘http://www.nouveau-site.com’)
WHERE option_name = ‘home’
OR option_name = ‘siteurl’; - Changer l’URL des GUID
UPDATE wp_posts
SET guid = REPLACE (guid, ‘http://localhost/ancien-site’, ‘http://www.nouveau-site.com’); - Changer l’URL des médias dans les articles et pages
UPDATE wp_posts
SET post_content = REPLACE (post_content, ‘http://localhost/ancien-site’, ‘http://www.nouveau-site.com’); - Changer l’URL des données meta
UPDATE wp_postmeta
SET meta_value = REPLACE (meta_value, ‘http://localhost/ancien-site’, ‘http://www.nouveau-site.com’);
Ici aussi, vous pouvez très bien utiliser l’interface de Misha.
Ces requêtes vont remplacer tous les « localhost » par votre nouveau nom de domaine. On va dans le backoffice de son site live et on applique ou on réenregistre les permaliens.
Aller plus loin avec Search and Replace
Pour vraiment modifier tous les url restants, je vous conseille là aussi l’utilisation de search and replace de interconnect it.
Téléchargez le dossier search and replace. Dézippez et rentrez dans le dossier dézippé. Renommez le dossier à l’intérieur en quelque chose de simple, du genre : « search ».
Placez ce dossier à la racine de votre wordpress en ligne, au même niveau que wp-content, wp-admin etc.
Maintenant, dans la barre de recherche internet, tapez le nom de domaine de votre site, suivi du nom du dossier « search » : http://www.monsite.com/search
Renseignez l’ancienne adresse du site local, puis celle du site live, sans slash à la fin
Cliquez enfin sur « Live Run« .
Cela va modifier tous les url restants ! Une fois terminé, supprimez le dossier search de votre wordpress. Votre site est prêt en live, avec les bons url !!
Déplacer un site www.site.com/site vers www.site.com
La procédure est la aussi la même : on déplace tous nos fichiers via ftp à partir du sous dossier site.com/site au niveau de la racine www.
Le sous-dossier vidé, on peut le supprimer.
Dans la base de donné, on effectue les requêtes SQL pour modifier les liens et le tour est joué!!
Pas la peine de modifier quoique ce soit dans le backoffice de wordpress au niveau des réglages puisque les requêtes SQL se chargent de tout.
Inteconnect It et Yoast SEO
Si vous importez ou déplacez un site contenant le plugin Yoast, à l’utilisation du script search and replace vous obtiendrez certainement un message d’erreur. Voici les requêtes SQL à insérer via PhpMyAdmin, dans l’onglet SQL de votre base de donnée
Ces requêtes proviennent de ce site, mais visiblement ne suffisent pas à éradiquer toutes les données enregistrées par le plugin. Le supprimer du dossier plugin ne suffit pas non plus, Selon le site de Yoast lui même, il faut rechercher manuellement toutes les occurrences des données suivantes et les supprimer.
wp_yoast_indexable
wp_yoast_indexable_hierarchy
wp_yoast_migrations
wp_yoast_primary_term
wp_yoast_prominent_words
wp_yoast_seo_links
wp_yoast_seo_meta
A savoir quand même, le message d’erreur généré sur search and replace n’empêche pas la moulinette de fonctionner jusqu’au bout. En plus de search and replace vous pourrez donc appliquer les requêtes SQL obtenues sur le site de Misha.
Bon courage !!