copie

Faire une copie locale exacte de son site WordPress

Mis à jour le

Quels problèmes se posent lors de la copie d’un site WordPress ?

Les copies locales (c’est à dire copie sur son ordinateur personnel) d’un site web déjà en ligne consistent à effectuer un changement d’emplacement physique du site.

Une copie exacte est souvent appelée déplacement ou migration d’un site WordPress. Quant à moi, je préfère le vocable de « copie exacte » qui est plus précis.

L’adresse d’un site sur un serveur en ligne est en général de la forme http://mon_site_en_ligne.fr ou http://www.mon_site_en_ligne.fr alors que l’adresse locale du même site est en général de la forme http://localhost/wordpress.
Lors d’une copie locale, toutes les adresses du site en ligne stockées dans les tables de données de WordPress doivent alors être mise à jour et remplacées par les adresses du site local.

Les différentes techniques permettant d’effectuer une copie locale :

Le changement des adresses du site en ligne/local sont la plupart du temps effectuées :

  • soit avec un traitement de texte du genre notepad++ dans le fichier d’extension .sql de sauvegarde de la base de données de WordPress
  • ou alors avec des requêtes SQL exécutées via phpMyAdmin.

L’inconvénient de ces techniques est qu’elles n’effectuent pas une copie exacte du site en ligne :

  • les widgets et les menus par exemple doivent être réenregistrés manuellement
  • et les photos ne sont plus visibles dans la page « Médias->Bibliothèque » du tableau de bord alors qu’elles sont visibles dans les pages du site.

En effet, les remplacements d’adresse du site distant/local dans la base de données effectués avec notepad++ ou avec des requêtes SQL ne tiennent pas compte de ce que l’on appelle les données sérialisées. C’est à dire que certaines données sont enregistrées dans une chaîne de caractères avec l’indication de sa propre longueur. Par exemple, l’option theme_mods_twentyten de la table wp_options de mon site, contient cette donnée sérialisée :

Exemple de données sérialisée, il y a 69 caractères entres les guillemets qui suivent le double-point !
s:69: signifie qu’il y a 69 caractères entres les guillemets qui suivent le double-point

Si on modifie un mot de la chaîne (« additifstabac.free.fr » par « localhost/wordpress ») alors la longueur de la chaine est différente (67 caractères et non plus 69) et la base est incapable de reconstituer les données originales, la copie du site en ligne est de fait partielle.

Pour éviter ce problème il existe un script PHP découvert par l’excellent Guy du forum de fr-wordpress dont je montre l’usage ici même dans ce tuto.

Comment effectuer une copie locale exacte de son site en ligne :

  1. Installez localement WordPress en choisissant le même préfixe des tables de données que celui du site en ligne (ce qui simplifie la copie) et en suivant un de ces tutos avec captures d’écran :
  2. Activez, si besoin, les REWRITE RULES sur votre serveur local xAMP (Apache MySQL PHP).
    • WAMP n’active pas les REWRITE RULE par défaut
    • XAMPP et UwAmp les activent par défaut
  3. Vérifiez que WordPress est correctement installé en allant sur ce nouveau premier site qui possède toujours au départ une seule page d’exemple et un commentaire fictif.
  4. Sauvegardez la base de données du site en ligne comme indiqué dans ce tuto avec captures d’écran : Sauvegarder et restaurer une base de données mysql avec phpmyadmin
    Cochez en plus de ce qui est dit dans le tuto, la case « Ajouter un énoncé DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT ».
  5. Restaurez la base de données du site en ligne précédemment sauvegardée (telle qu’elle a été sauvegardée, sans aucune modification donc !) dans la base de données du site local comme indiqué dans le tuto précédent.

    Si phpMyAdmin affiche le message d’erreur suivant :
    bdd_volumineuse
    C’est que la base de données est trop volumineuse. Vous pouvez alors utiliser le script « bigdump.php » qui sert à importer une grande base de données comme expliqué ici : Usage de bigdump.php

  6. Copiez via FTP (avec Filezilla, par exemple) le dossier wp-content à la racine du site local qui contient les dossiers et fichiers montré ci-dessous (sans remplacer les autres déjà existants localement) :
    Racine d’un site WordPress : Ne remplacez pas le fichier local « wp-config.php » déjà existant par celui du site en ligne !
    Racine d’un site WordPress : Remplacez uniquement le dossier local wp-content déjà existant par celui du site en ligne !

    Différentes dénominations de la racine du site local selon le logiciel utilisé

  7. Mise en place du script searchreplacedb2.php

    Placez le script « searchreplacedb2.php » à la racine du site local (exactement, à l’endroit où se situe le fichier « wp-config.php »). Ce script se télécharge ici : WordPress (and others) Search and Replace Tool

    Attention : le tuto a été réalisé à partir de l’ancienne version et non pas à partir de la dernière version 3.1.0. Ainsi, il vous faut cliquer sur le bouton « OLDER SERVER? TRY V 2.1.0 ». Comment essayer la version 3.1.0 ?

    Racine d’un site WordPress
    Racine d’un site WordPress

    Si WordPress a été installé dans le dossier /wordpress comme indiqué dans l’un des tutos de l’étape 1, alors :

    • Sous Windows : Lancer http://localhost/wordpress/searchreplacedb2.php avec un navigateur web
    • Sous MAC : Lancer http://localhost:8888/wordpress/searchreplacedb2.php

    Comment faire si vous n’avez pas installé WordPress dans un dossier nommé /wordpress ?

    Précaution à prendre lors de l’utilisation du script sur un site web en ligne

  8. Déroulement du script :

    1. Étape 1 (step 1) : Laissez la case « Pre-polulate the DB values form with the ones used in wp-config? It is possible to edit them later » cochée et cliquez sur le bouton « Submit ». Cela signifie « Pré-remplir le formulaire avec les valeurs de la base de données utilisées dans wp-config ? Il est possible de les modifier ultérieurement. »replace_step1
    2. Étape 2 (step 2) : Vérifiez que les différents champs caractérisant la base de données locale sont convenablement remplis et cliquez sur le bouton « Submit DB details »replace_step2
    3. Étape 3 (step 3) :
      Cochez la case « Leave GUID column unchanged?  » car le GUID doit rester inchangé comme le précise le CODEX : Codex Changing The Site URL Important GUID Note.

      Puis sélectionnez les tables de données, pour une copie exacte laissez-les toutes sélectionnées et cliquez sur le bouton « Continue ».

      replace_step3

      Voir comment effectuer une sélection particulière des tables

      Confirmez en cliquant sur « OK »

      Confirmez pour passer à l'étape suivante
      Confirmez pour passer à l’étape suivante
    4. Étape 4 (step 4) : Remplacez le nom de domaine (sans les http://) dans l’exemple de mon site perso additifstabac.free.fr par localhost/wordpress (sous Windows) ou localhost:8888/wordpress (sous MAC) et cliquez sur le bouton « Submit Search string »replace_step4
      Confirmez en cliquant sur « OK »
      Confirmez pour passer à l'étape suivante
      Confirmez pour passer à l’étape suivante
    5. Étape 5 (step 5) : Lorsque le remplacement est terminé, il apparait le message « Completed ».
      Ici le message indique que 14 tables de données ont étés scannées ayant en tout 1 746 918 lignes, 3808 cellules ont étés modifiées et 3743 mises à jour de la base de données ont été effectuées en 558,461971 secondes.
      Ici le message indique que 14 tables de données ont étés scannées ayant en tout 1 746 918 lignes, 3808 cellules ont étés modifiées et 3743 mises à jour de la base de données ont été effectuées en 558,461971 secondes.

      Remarque : Il est possible que ce texte n’apparaisse pas à cause d’un timeout PHP.
      replace_timeout

      Voir comment résoudre cette erreur

  9. Réenregistrer les permaliens localement

    Pour éviter les problèmes de permaliens, après avoir activé le mod REWRITE RULES sur WAMP (activé par défaut sur XAMPP) il suffit de réenregistrer les permaliens afin de réécrire correctement le fichier .htaccess local.

    Dans le tableau de bord, cliquer sur réglages –> permaliens puis « enregistrer les modifications ».

  10. Suppression du script searchreplacedb2.php :

    Pour terminer, comme le rappelle ce message à chaque étape du script :
    replace_dont_forgetSupprimez le fichier searchreplacedb2.php situé à la racine du site.

    N’oubliez pas de supprimer le script !
    N’oubliez pas de supprimer le script !
Le site local est désormais une copie exacte du site en ligne.

Le remplacement avec notepad++ :

Le problème du timeout PHP survient essentiellement si la base de données du site contient un nombre phénoménal de remplacements à effectuer comme c’est le cas pour les tables de données des plugins de statistiques.
Dans ce cas, il est préférable d’effectuer le remplacement avec notepad++ car, en règle générale, ces plugins n’enregistrent pas de données sérialisées dans leur propre tables de données. Cette technique est alors beaucoup plus rapide et évitera le problème du timeout PHP. Voir la technique

Le problème du timeout PHP et l’édition du fichier php.ini :

Un timeout PHP est un mécanisme qui spécifie le temps maximum pendant lequel un script PHP – comme celui que nous venons d’utiliser (searchreplacedb2.php) – est autorisé à se produire sur le serveur. Lire la suite

Si vous avez trouvé une faute d’orthographe, informez-nous en sélectionnant le texte et en appuyant sur Ctrl + Enter

146 réflexions au sujet de « Faire une copie locale exacte de son site WordPress »

  1. Très intéressant cet article.
    En effet, j’ai un peu galère pour transférer mon site wp de localhost à mon serveur o2switch.
    Merci.

  2. Merci pour ce tuto, fort utile vu le nombre de demandes sur le forum WP.
    Juste un complément, et une question :
    – le complément : pluôt que d’utiliser XAMP, qui me paraît un peu complexe (avis perso et subjectif), je préfère conseiller WAMP pour ceux qui sont sous PC Windows.
    Il y a un excellent tuto d’installation ici : Installer WordPress en local sur son PC avec Wamp

    (bon, d’habitude, il comporte des images qui sont absentes aujourd’hui, j’espère que c’est passager sinon le tuto sans images ne sert à rien ;) )
    – la question maintenant : dans ton tuto pour utiliser ce fameux script searchreplacedb2.php , tu ne dis pas comment procéder si les préfixes de tables sont différents (imaginons qu’on laisse wp_ pour les préfixes en local, mais qu’on veuille basculer en distant avec préfixes personnalisés pour la sécurité) : comment faire ?

    1. Bonjour,
      Le tuto avec XAMPP est le seul, qui, lorsque j’ai débuté avec WordPress m’a permis d’installer localement WordPress, avec les autres, je n’ai jamais réussi, alors je me dis que c’est le tuto le plus simple !
      De plus, XAMPP est compatible avec toutes les plateformes (Windows, MAC ou Linux), ainsi, ce tuto à lui seul embrasse toutes les configurations locales possibles.

      Le seul avantage de WAMP est qu’il permet de choisir la version de PHP très simplement, ce que ne permet pas XAMMP puisqu’il faut alors réinstaller XAMPP avec une vieille version.

      Pour utiliser le script en donnant un autre préfixe aux tables de données locales que celui des tables du site en ligne, il faut éditer le fichier .sql de la sauvegarde de la base de données avec notepad++ avant de l’importer localement.
      Il suffit de changer le préfixe des tables sauvegardées avec le menu « Recherche » sous menu « Remplacer » (par exemple wp_en-ligne_ par wp_) de notepad++ (cliquer sur le bouton « Remplacer tout »), enregistrer (voir les captures d’écran en fin de tuto), puis appliquer le tuto normalement.

      1. Pour reprendre sur l’échange du 19 mai, je viens de tester : j’ai réalisé une copie locale de mon site sur un 2ème ordinateur (prudence, prudence ;) ) j’ai suivi l’intégralité de votre tuto en modifiant le préfixe des tables grâce à rechercher/remplacer dans le fichier .sql de sauvegarde de la BDD avant l’étape 3 –> ça marche impec’

        Le plus drôle, c’est que le script searchreplacedb2.php m’a permis de comprendre que j’avais oublié une étape : je m’étonnais d’avoir zéro occurence remplacée … puis j’ai compris que j’avais tout simplement oublié l’étape 3 (restaurer les tables dans la nouvelle base de données) !!
        J’ai tout repris tranquillement (comme quoi, l’ordre des étapes 3 et 4 n’a pas d’importance, mais peu importe) et cette fois, ça y est : j’ai retrouvé l’intégralité de mon site en local sur mon 2ème PC, avec des préfixes de BDD différents.
        Cette info peut permettre à d’autres de faire une réplique de leur site en ligne, dans un sous-domaine, en modifiant le préfixe des tables : il est parfois intéressant de tester directement en ligne (pour certains plugins, par exemple, pour Facebook) … sans être vraiment en « prod' »

        1. Oui, l’ordre des étapes 3 et 4 n’a pas d’importance. J’ai choisi cet ordre, car il est plus facile de comprendre pour un néophyte que la restauration suive immédiatement la sauvegarde.

          Pourquoi vouloir intercaler entre les deux la copie du FTP ?
          Cela ne fera que rendre difficile à expliquer ce qui est simple.

          1. « Oui, l’ordre des étapes 3 et 4 n’a pas d’importance. (…) Pourquoi vouloir intercaler entre les deux la copie du FTP ? »
            Tout bêtement parce que je n’avais pas le tuto sous les yeux quand j’ai commencé mon install locale : j’avais en tête que votre tuto ne concernait que « searchreplacedb2 » … et je ne suis donc venue consulter le tuto que pour cette étape là. C’est quand le script m’a retourné le résultat « 0 occurences remplacées » que jai consulté le tuto en détail … et j’ai découvert que j’avais « oublié » l’étape 3 !! Que j’ai donc reprise, puis refait l’étape 5. Voili, voulou …

      1. Moi aussi, j’avais écrit … et pas eu de réponse non plus.
        Dommage, car c’était vraiment clair et progressif (un peu comme votre tuto ici).
        Dommage pour ceux qui veulent utiliser Wamp. ;)

  3. Bonjour,

    Merci pour ce tuto très clair et rapide ! Je viens de tout suivre à la lettre pour copier mon site sur le serveur local, mais juste après la dernière étape j’ai un problème : je n’accède pas à Worpdress.
    La page localhost/wordpress est blanche avec trois lignes : Hide menu ; Hide the navigation ; Show the navigation. Et en tentant le wp-admin je suis redirigé sur la page d’accueil de Xampp. J’ai aussi essayé wordpress/wp-admin/install.php, et on me dit que Worpdress est bien installé.

    Une idée de l’origine du problème ?
    Meric :)

    1. Bonsoir,
      Non, je n’ai pas d’idées sur l’origine du problème.
      Vous avez donc :

      • installé WordPress avec XAMP dans un dossier /wordpress situé à la racine du site local,
      • exporté la base de données du site en ligne avec phpMyAdmin en cochant la case DROP TABLE,
      • importé cette base dans la base du site local,
      • copié la racine du site distant dans celle du site local (sans remplacer le wp-config.php déjà existant localement)
      • copié le script dans la racine du site local à l’endroit où se situe le wp-congig.php local

      comme décrit dans les étapes 1 à 5 du tuto C’est bien cela ?

      Ensuite vous avez effectué le changement d’adresse comme décrit dans l’étape 4 (step 4) du script. C’est bien cela ? Quel changement d’adresse avez-vous fait au step 4 du script ?

      Une capture d’écran pour comprendre peut-être ?

      Êtes-vous sous Windows, MAC ou Linux ?

  4. Merci pour ce tuto
    chez moi cela ne fonctionne pas. Une fois sur la page d’accueil de wordpress, je veux faire une connexion et je me retrouve sur l’ancienne adresse de mon site web
    je suis sur Windows 8
    derniére version de wordpress

  5. Bonjour,
    J’ai suivi votre tuto, très clair merci.
    J’ai un petit soucis avec un thème enfant qui visiblement n’est pas conservé.
    si vous avez une idée ?
    merci

    1. Elle ne peut pas donner le même résultat, vu que les adresses des médias (photos…) ne sont pas modifiées.

      1. Effectivement, les adresses des médias ne sont pas modifiées mais j’ai l’impression que ce n’est pas nécessaire : WordPress va bien les chercher sur mon localhost.

        Je n’ai pas trouvé dans l’article la version de WordPress utilisée pour ce tutoriel, mon site copié en local s’appuyait sur la 3.5.

        1. Si vos médias sont des photos, ces dernières ne devraient pas s’afficher avec le tuto que vous avez utilisé !
          Le tuto que j’ai écrit est totalement indépendant de la version de WordPress.

  6. hello, avec le script, il n’y a pas un souci?
    j’ai mis localhost/wordpress et maintenant je me retrouve avec localhost/wordpress /
    il y a un espace entre wordpresss et /
    n’est pas mieux de mettre
    localhost/wordpress/ ?
    merci

    1. Perso, je n’ai eu aucun souci avec le script.

      Bien sûr que sans espace c’est nettement mieux, je ne vois pas pourquoi vous avez ajouté un espace entre le slash /et la fin de l’URL wordpress !

      1. Bonjour,

        Je n’ai pas ajouté d’espace, c’est le script qui l’avait automatiquement.
        Je l’ai dit, j’ai tapé localhost/wordpress et je me suis retrouvé avec localhost/wordpress /
        Pourquoi le script avait ça ????

        1. Franchement, je ne sais pas puisque le script n’a pas produit cette erreur chez moi. Et sans pouvoir reproduire une erreur, difficile d’en trouver la cause ou de la corriger.

          1. je comprends, je voulais juste le signaler, je préfère l’ancienne méthode, directement dans la base de donnée, les commandes MySQL jamais eu de souci avec.

  7. Salut,
    Puis je savoir pourquoi on doit cocher la case DROP TABLE ????
    Ce qui efface la table (les tables même)!!!!

    1. Pour pouvoir importer une table, phpMyAdmin en crée une, sauf si elle existe déjà; dans ce cas, vous aurez un message d’erreur et la table ne sera pas importée. Ainsi, en cochant DROP TABLE, vous supprimez l’existante automatiquement.

      Vous pouvez ne pas cocher DROP TABLE, mais alors, pour l’importer il faudra supprimer l’existante manuellement.

      1. Je suis désolé mais je comprends pas pourquoi on efface les tables chez notre hébergeur !? Pas besoin de faire ça pour importer les tables vers localhost/phpmyadmin ? non ?

        1. On n’efface pas les tables chez l’hébergeur.

          DROP TABLE efface la table existante lors de l’importation (donc la table locale si elle existe), mais n’efface pas la table existante (sur le serveur de l’hébergeur) lors de l’exportation.

  8. Hi,
    Merci pour cette procédure. Bien pratique.
    Je rencontre cependant un problème : la copie se déroule parfaitement, j’accède à la page d’accueil du site, par contre mes identifiants ne fonctionnent plus. Je ne peux plus me connecter à l’admin. Dans la table users, je vois bien apparaître les bons identifiants, mais aucun mot de passe associé ne fonctionne…
    Avez-vous une idée ?

    1. Bon soir,
      Tour dépend si vous avez mis en local les mêmes identifiants de WordPress lors de son installation ou non !
      le mieux est de poser la question sur le forum support de WordPress.

  9. Bonjour,

    Merci pour cet article très détaillé, qui n’a malheureusement pas suffit à mon essai de migration en local pour deux points principaux:

    1) J’ai eu beaucoup d’ennuis avec les .htaccess & .htpasswd sur le serveurs d’OVH copiés avec le reste du rapatriement en local via FTP. D’abord, ils rendaient le dossier contenant WordPress invisible d’EasyPHP (confrère d’uWAMP), et donnaient des erreurs 500 quand je tapais le chemin à la main. J’ai du les supprimer pour résoudre le problème.
    Du coup la page d’accueil fonctionnait mais pas les liens vers les autres pages qui utilisaient des permaliens (et donc le mode_rewrite du htaccess). En sauvegardant pages qui utilisaient des
    Finalement en les supprimant dans un premier temps puis en allant dans l’interface administrateur de WordPress dans la partie Permaliens, en recliquant sur enregistrer les paramètres cela crée automatiquement un nouveau fichier htaccess qui refait fonctionner le tout.

    2) Sur beaucoup de tuto concernant les migrations, les auteurs ne parlent pas des données sérialisées, et pourtant à leurs dires cela fonctionne tout de même.
    Le script Search & Replace, ou en tout cas la version 3 BETA que j’ai utilisée, ne m’a pas changé les « s:[nombre de caractère] » (on le voit en vérifiant les données modifiées après exécution du script). Et du coup j’imagine que c’est pour cela que les images incluses dans les pages ne s’affichaient pas.
    Cependant en rechargeant la BDD originale et en utilisant le plugin Velvet Blues Update Urls (qui a la même mission, bien que le côté plugin soit un tout petit peu plus contraignant), plus de problèmes avec les images. À vrai dire je n’ai pas vérifié si les « s+[… » avaient bien été changés, mais d’après les dév du plugin, il gère les données sérialisées… et en tout cas maintenant les images s’affichent.

    Reste à retravailler mon fichier htaccess original qui incluait des indications pour le responsive design, bien plus conséquent que 6-7 lignes qui figurent dans celui généré automatiquement par WordPress, mais c’est une autre histoire!

    1. Bonsoir,
      WAMP en local n’active pas les REWRITE RULES par défaut contrairement à XAMPP, certainement que EasyPHP procède comme WAMP. Et donc, il vous faut bien entendu les activer vous même comme indiqué ici : Activer le mod_rewrite avec EasyPHP et Apache2

      En effet, le simple fait d’enregistrer des permaliens crée avec WordPress un fichier .htaccess si celui-ci n’existe pas.

      Avec les autres tutos, cela fonctionne, mais il restera un certain nombre de choses à réenregistrer comme les widgets par exemple ainsi que tout ce qui utilise des données sérialisées.

      Je n’ai pas testé la beta 3, vous devriez faire part au concepteur du script du problème que vous avez rencontré afin qu’il la débugue.

      Vous ne pouvez pas copier-coller les règles du .htaccess dans le nouveau ? Les avez-vous customisées avec l’URL du site en ligne ?
      Cordialement.

      1. Bonjour,

        Merci pour votre retour.
        En fait le .htaccess était énorme, avec de nombreuses règles ajoutées je pense par le plugin Supercache et qui obscurcissaient le tout.
        Mais même si je n’ai pas encore testé, le problème avec le htaccess vient sans doute comme vous le faîtes remarquer d’une référence au serveur avec une adresse du type homez.xxx[…] comme montré ici: http://guides.ovh.com/HtaccessProtection

        C’était quelqu’un d’autre qui avait installé le site WordPress que je retouche et donc je ne sais pas si cette personne avait manuellement ajouté le bout de code concerné dans la htaccess ou s’il est fait par défaut si l’on choisit une version de WordPress installée automatiquement par OVH…

        Pour ce qui est du mod_rewrite, il est activé par défaut dans les versions récentes d’EasyPHP.

        Quant à S&R, en effet je referai le test quand je referai la migration dans l’autre sens, avec un retour au développeur du script si besoin.

        Bonne continuation!

  10. Bonjour,

    J’ai suivi toutes les étapes et lorsque j’accède à mon site en local, le thème wordpress n’apparait pas et je n’arrive pa à accéder au wp-admin.
    Savez-vous quelle pourrait être mon problème?

    Par avance, merci
    CooliGadget

    1. Non, aucune idée,
      Vous avez certainement du faire une étape autrement.
      Dites exactement ce que vous avez fait.
      Vous utilisez XAMPP ? LAMP ? WAMP ? MAMP ? EasyPhp ? Un autre ?
      Est-il configuré correctement ?

  11. Bonjour,

    D’abord merci pour ce tuto qui est très simple d’utilisation. Mais j’ai finalement un problème de taille : mes articles et mon thème ont disparu. J’ai refait le transfert FTP de mon dossier racine WordPress a plusieurs reprises mais lorsque j’arrive sur mon site local je me trouve en fait avec un site wordpress tout neuf, avec le fameux premier post « Bienvenue à tous ». Cependant, j’ai toujours les commentaires et les plugins que j’ai installé sur mon site en ligne. En clair, il ne manque que les articles et le thème. Une idée ?

    Merci d’avance.

    1. Autant pour moi. Pour une raison qui m’échappe la table contenant les posts de mon site ne s’était pas importée correctement dans mon site local.

  12. Bonjour,
    J’ai téléchargé le script à l’adresse indiquée
    Le fichier s’appelle « Search-Replace-DB-master.zip »
    J’ai décompressé, mais pas de fichier portant le nom « searchreplacedb2.php » dans le dossier décompresser !
    Pouvez-vous m’aider
    Cordialement
    Christian

    1. Le fichier que vous avez téléchargé est la Version 3.0.0 bêta, c’est à dire en cours de développement et donc elle n’est pas garantie comme étant complètement fonctionnelle. Le développeur attend que des volontaires l’essaient et lui fassent part des éventuels problèmes ou bugs rencontrés afin qu’il puisse les corriger.

      Lorsqu’il sera sûr et certain que cette version est complètement fonctionnelle, il supprimera la mention « bêta » et elle deviendra alors la version officielle. L’ancienne version est conservée (en général) en archive.

      Le tuto a été réalisé avec la version 2.1.0 que vous obtenez en cliquant sur le deuxième bouton (juste au dessous) dont je vous redonne le lien direct : Problems? Try v 2.1.0 STABLE

      1. Bonjour,
        J’ai appliqué la procédure, tout s’est déroulé normalement.
        Cependant, lorsque je veux aller sur le site, je suis redirigé vers http://www.localhost.com/wordpress2/
        au lieu de localhost/wordpress2/
        Pouvez-vous m’aider ?
        Merci pour votre réponse
        Cordialement

        1. Bonjour,
          vérifiez dans le fichier wp-config.php avec notepad++ s’il y a les lignes suivantes :

          define('WP_HOME','http://www.localhost.com/wordpress2/');
          define('WP_SITEURL','http://www.localhost.com/wordpress2/');
          

          Si c’est le cas, commencez par corriger l’adresse dans ces deux lignes.

          1. Ces 2 lignes sont absentes
            Je les ai donc ajoutées et corrigé les adresses.
            J’ai maintenant accès à l’administration mais j’ai une page blanche sur la page d’accueil du site

            1. Certainement que le remplacement n’a pas été fait correctement avec le script searchreplacedb2.php.
              Avec phpMyAdmin, regardez dans la table wp_options les lignes siteurl (ligne 1) et home (en général ligne 37).
              Elle doivent avoir été remplacé par

              http://localhost/wordpress/

              l’ont-elles été ?

              1. Bonjour,
                Ces 2 lignes sont correctement remplies
                Cependant, ce matin, sans rien avoir modifier, j’ai accès à la page d’accueil, mais j’ai une erreur 404 sur toutes les autres pages du site

                1. Vous utilisez quel logiciel en local WAMP ? XAMPP ? EasyPHP ? UwAmp ? autre ?
                  Les REWRITE RULES sont-ils activés dans ce logiciel ? Tous ne les activent pas par défaut.

  13. Bonjour,
    J’ai lu votre tuto cependant j’ai procédé d’une autre manière.
    J’ai d’abord fait une bête copie du www de mon site, que j’ai mis dans mon c:\sites.
    Dans le dossier www, j’ai modifié les valeurs de wp-config.php
    : J’ai mis ‘DB_USER’ en root, laissé DB_PASSWORD vide, et mis ‘DB_HOST’ en ‘localhost’.
    Après avoir exporté ma base de données, j’ai remplacé avec Notepad++ toutes les anciennes URL par mon adresse locale ( http://localhost/monsite).
    Puis j’ai importé ma BDD.
    A noter que j’ai du l’importer en ligne de commande, car elle était trop grosse pour wamp.
    Je suis ensuite allée dans phpMyAdmin, et j’ai changé les deux champ site_url et home de la table wp_options : j’ai remplacé les anciennes URL par mon adresse locale.
    Et voilà.
    J’ai vérifié, la copie est exacte, il n’y a pas d’erreur. Tous mes widgets sont là, mes plugins aussi, je n’ai rien eu à re-configurer.
    Alors, si ça marche, ne peut-on pas procéder comme ceci  ? Faut-il comprendre que ce genre de copie n’est pas « propre »  ?
    Merci

    1. Bonsoir,
      Vous pouvez faire différemment du tuto, bien entendu.

      Ce tuto s’adresse à un débutant en partant du constat qu’un débutant sait faire au minimum 2 choses :

      • il a utilisé un logiciel FTP (genre Filezilla) ne serait-ce que pour placer les fichiers à la racine de son site
      • il a déjà installé WordPress sur son hébergement en ligne en suivant la procédure officielle d’installation de WordPress

      De cela, je suis sûr et certain. Il peut avoir de plus amples connaissances informatiques ou non, mais rien n’est certain.

      Partant de ce constat, le tuto indique comment peut procéder un débutant avec ce savoir-faire minimal. Bien entendu, celui dont les connaissances vont au delà de ce minimum est capable de faire différemment.

      Votre méthode complexifie la procédure car :

      • vous avez édité le fichier wp-config.php alors que ce dernier doit impérativement être encodé en UTF8 sans BOM, il est donc ici nécessaire de connaître l’usage d’un logiciel capable de gérer l’encodage des fichiers de code informatique.
      • Votre méthode nécessite de modifier des lignes dans la base de données MySQL avec phpMyAdmin, ce qui n’est pas sans risques pour un débutant
      • De plus, vous avez utilisé des lignes de commandes, ce qui est hors de portée d’un débutant, il serait bon d’ailleurs que vous indiquiez exactement quelles sont ces lignes de commandes ou d’en faire un tuto car l’importation de grosses bases de données est un problème récurrent lors des transferts de site internet

      Manifestement, vous n’êtes pas débutant et vous avez utilisé dans ce tuto les informations qui vous étaient utiles, malheureusement, tout le monde n’est pas aussi compétent que vous.

      Un bon tuto s’adresse à un débutant, les autres sont capables de s’en inspirer comme vous l’avez fait.

      Seulement, là où vous avez eu de la chance, c’est que votre site ou vos widgets, menu, etc. n’utilise apparemment pas de données sérialisées. C’est pourquoi le remplacement que vous avez fait des URL n’a pas posé de problèmes. Vérifiez quand même la page « Médias » du tableau de bord.

      Est-ce que les photos sont visibles dans la page « Média » du tableau de bord de votre copie locale ?

      1. Bonsoir,

        Merci pour cette rapide réponse.
        Je ne suis pas débutante oui, mais loin d’être une experte. Par exemple je ne savais pas que wp-config devait être encodé en UTF8 sans BOM, je l’ai simplement édité avec Notepad++ (comme je fais d’habitude j’ai envie de dire..). Cependant dans l’installation de wordpress (wordpress.org/txt-install), cette subtilité n’est pas précisée, il est indiqué que le fichier wp-config.php peut être édité avec son « éditeur de texte favori »..

        J’ai vérifié, tous les médias sont bien là. Cela doit donc être une histoire de données sérialisées, donc je prend note merci..

        Pour l’import de la base, m’étant cassé les dents avec phpMyAdmin, aucun problème pour partager cette manip (longue à écrire par contre) si ça peut aider :

        1. j’ai d’abord récupéré les informations de bases sur ma BDD : son nom, l’utilisateur associé et le mot de passe. Ces infos se trouvent dans les fichiers de configuration du site (WordPress : wp-config.php, joomla : configuration.php)
        2. Sur phpMyAdmin, j’ai créé une base de donnée, laissée vide, portant le nom de la base de données en question (aller sur phpMyAdmin, onglet base de données > créer). Pour l’interclassement, j’ai laissé par défaut.
        3. Je n’ai pas crée d’utilisateur pour la base car j’utilise root, l’utilisateur par défaut, qui n’a pas de mot de passe.
        4. Ensuite, je suis allée dans le dossier wamp chercher le programme mysql.exe, qui allait me permettre d’importer ma base. Je suis passée par ce programme car mysql.exe est le moteur de mysql, il est donc plus fiable et permet de gérer de grosses bases de données. (je n’invente rien, j’ai pioché ces infos à droite à gauche)
          Pour ça, j’ai fait simple : je me place sous Windows dans le dossier wamp et dans l’encart « rechercher dans: » je tape mysql.exe. Cela me donne plusieurs résultat, je sélectionne le fichier en question, puis clic-droit > « ouvrir l’emplacement du fichier ». Là je recopie le chemin dans la barre de titre.
        5. J’ouvre le shell (sous Windows 7, clic sur Windows, taper cmd, puis entrée) ..
        6. dans le shell, il faut aller à l’endroit qu’on vient de copier.
          Si wamp (ou xamp..) est dans le C:\ , ce qui était mon cas, et que le point de départ du shell est C:\user\nomUser, il faut revenir à la racine –> taper
          cd\  

          On obtient

          C:\>

          –> ça veut dire qu’on est revenu à la racine, donc c’est bon.

          – Maintenant, on tape

          "cd"

          , qui veut dire « je veux aller à » et on recopie le chemin que l’on vient de copier –> taper cd puis clic droit dans le shell > coller. Dans mon cas le fichier mysql.exe se trouvait dans C:\wamp\bin\mysql\mysql5.5.20\bin,
          j’ai donc tapé

          cd c:\wamp\bin\mysql\mysql5.5.20\bin 

          J’obtiens donc C:\wamp\bin\mysql\mysql5.5.20\bin> –> c’est bon, je suis dans mon dossier.

        7. Ensuite j’ai tapé la commande :
          mysql.exe -u nomutilisateur -pmotdepasse -h host nomdelabdd < chemin\nomdufichier.sql

          Je demande là à MySQL d&#039, importer ma base de données en lui donnant les infos nécessaires..
          Au sujet des abbréviations, commentçamarche explique bien la chose, voir Importer et exporter des données sous MySQL. « -u » signifie user ou utilisateur, « -p » signifie password, « -h » host (= adresse). On laisse ces champs, et on met les informations derrière. Exemple :

          Si ma base de données s’appelle doudou, mon utilisateur tintin, le mot de passe milou, le fichier .sql de ma base doudou.sql, que je suis en local et que le fichier .sql de ma base est dans mon c:, ma requête donnera :

          mysql.exe -u tintin -pmilou -h localhost doudou < c:\doudou.sql

          Note : on colle le mot de passe à « -p », contrairement aux autres.

          Si mon utilisateur est root et n’a pas de mot de passe, ça donne :

          mysql.exe -u root -h localhost doudou < c:\doudou.sql

          on peut aussi écrire :

          mysql.exe -u root -p -h localhost doudou < c:\doudou.sql

          dans ce cas on nous demande un mot de passe, et comme il n'y en a pas puisque l'utilisateur est root, faire juste entrée.

        8. aller voir sur phpMyadmin : la base est remplie..

        Voilà. C'était long, mais j'espère que ça pourra servir..

        Merci pour vos informations.

        1. Bonjour,
          En effet, dans la procédure d’installation de WordPress, il n’est pas précisé l’encodage des fichiers PHP car WordPress le gère lui-même.
          Néanmoins, dès que l’on fait une modification sur un fichier PHP le problème se pose comme vous pouvez le voir dans ce fil de discussion débutant le 12 décembre 2008 et épinglé par Lumière de Lune sur le forum WordPress : Cannot modify header.

          Vous n’avez pas eu le problème avec notepad++ car les toutes dernières versions de ce logiciel encodent par défaut en UTF8 sans BOM, ce qui n’était pas le cas auparavant.

          Concernant l’importation d’une table de données volumineuse, il existe le script bigdump qui fonctionne très bien si vous suivez à le lettre ce tuto : BigDump, importer une base de données volumineuse facilement

          1. Bonjour et merci pour le tutoriel!

            Première fois que j’ai besoin de faire une importation de cette taille et je ne connaissais pas ce script qui résout tous les problèmes que j’ai eu =)

            Je sais que ça a déjà été mentionné mais pas rajouté dans l’article!

            « Tableau de bord, réglages, permaliens, enregistrer les modifications »

            Pour éviter les problèmes de rewrite en local après, bien sûr, avoir activé le mod.

            J’ai eu le réflexe de le faire et de vérifier les commentaires, mais je sais que ce n’est pas le cas de tout le monde au début, je pense que cela serait utile de le rajouter =)

            1. Bonjour,
              C’est fait !
              J’ai ajouté l’étape « Réenregistrer les permaliens localement » avant l’étape « suppression du script » et j’ai indiqué le script « bigdump.php » dans l’étape de restauration de la base de données.
              Merci !

      2. Bonjour,
        Je viens corriger un erratum sur mon (vieux) message ci-dessus. En réalité, ça me semble utile de le préciser, la copie que j’avais faite n’était pas totalement conforme car certaines urls pointaient encore sur le site en ligne, ce que j’ai réalisé après.
        Donc merci pour votre tuto très clair, cette fois-ci c’est tout bon.

  14. Bonjour,
    Ayant changé de PC (le grand saut vers Windows 8.1), je viens de ré-installer tout mon site en quelques clics… le plus long étant d’installer WAMP sous Windows 8.1 :(
    Mais pour réinstaller la copie locale elle-même, ça m’a pris moins de 10 minutes en suivant le tuto ! C’est génial !!!
    Encore merci pour ce tuto, toujours utile quelque soit la version de WP.  :)

    1. Bonjour,
      merci des compliments.
      J’ai aussi galéré pour installer WAMP sous windows 7, du moins pour comprendre comment bien le faire fonctionner. Je n’ai pas installé Windows 8.1 car mes périphériques (imprimante, scanner) ne fonctionneraient pas avec ce système d’exploitation.

      J’ai la nette impression que WAMP est à destination des développeurs web qui peuvent ainsi tester leur configuration sous diverses versions de PHP ou d’Apache.

      Pour des débutants, XAMPP est beaucoup plus facile à l’usage et à l’installation puisqu’il n’y a aucune autre réglage à faire, tout est préréglé à l’installation. Il suffit de suivre le tuto et tout roule !

  15. Hello,

    Merci pour ce tuto!
    Etant donné que je ne suis qu’un novice, je me pose la question si ce tuto convient parfaitement à ce que je veux faire…

    En effet, j’ai créé mon site directement en ligne rattaché à un NDD sur un espace hébergé et maintenant je souhaiterai non pas faire une redirection mais placer ce site au bon endroit cad chez le bon hébergeur et surtout le faire fonctionner sur le nouveau NDD…

    Si j’applique ce tuto, il faudra d’abord récupérer le site en ligne en site local pour ensuite faire la manip inverse vers le bon endroit? Ou plus simple du site en ligne au site en ligne???

    Merci.

    1. Bonsoir,
      De site en ligne vers le site en ligne suffit. Mais il est vivement conseillé de conserver sur son ordinateur une copie complète de son propre site car tous les hébergeurs ne garantissent pas la sécurité de leur serveur.
      Il est déjà arrivé que des personnes voient leur site disparaitre du jour au lendemain sans possibilité de le retrouver car l’abonné n’avait pas souscrit à la garantie ad hoc de sauvegarde (en général une option payante) prévue à cet effet.
      Ainsi, prudence est mère de sureté et avoir en local (+ sur clé USB) une copie complète FTP + BDD de son site est une sécurité non négligeable.

      1. Merci pour cette réponse…
        Donc,
        – De site en ligne vers le site en ligne = pour avoir le bon NDD associé au site
        – De site en ligne vers local = pour ma sauvegarde

        1. Mais là où je suis dans le doute pour « De site en ligne vers le site en ligne » c’est que après avoir récupéré ma BDD et mes fichiers à travers Filezilla, je dois installer WordPress sur l’hébergement voulu, puis importer tous mes fichiers sans remplacer le wp-config.php , puis j’importe ma BDD récupérée, puis je place le script searchreplacedb2.php et ainsi de suite ??? Ou j’ai mal compris???
          Dans mon cas, il faut que je renomme le script (hacker) mais à quel moment?
          Merci.

          1. Vous avez parfaitement compris.
            Il suffit de renommer le script avant de le placer à la racine du site, c’est plus sûr puisque ainsi à aucun moment il n’est accessible via son nom originel.

            1. Re,
              Un dernier truc avant de faire des erreurs:
              moi je n’ai que ID, mot de passe et serveur comme données disponibles alors qu’on me demande server name, database name, username, charset.
              Je suis un peu dans l’impasse…
              On est bien d’accord que d’un site vers un autre site, les réf demandées sont bien du nouveau site avec sa nouvelle BDD…?
              Merci.

              1. Qui vous demande server name, database name, username, charset ?
                Personne ! Ces champs sont déjà correctement préremplis si vous avez placé le script à la racine du site.

                Si vous avez peur de faire directement de ligne en ligne, faites d’abord une copie locale, cela vous permettra de voir effectivement comment fonctionne le script et vous évitera des angoisses.

                1. Voila un screen pour être plus clair: http://imageshack.com/a/img844/5254/2j36.jpg

                  Je souhaiterai éviter de passer par une copie locale… Après avoir installé wordpress, j’ai placé le nouveau site à la racine sans avoir touché au wp-config.php (d’ailleurs en installant WordPress il n’y avait que wp-config-sample.php… que j’ai dupliqué et renommé wp-config.php ), puis j’ai installé ma BDD et j’ai placé le script à la racine.
                  Le screen indique aucunes valeurs dans les champs ou presque!!! (en tout cas pas en phase avec l’endroit où il se trouve…).
                  Est-ce lié au fait que wp-config.php soit sans info dedans puisque à peine installé??? N’aurait-il pas fallu que je change les infos dans wp-config.php préalablement?
                  Merci.

                  1. Déjà, en installant WordPress, il ne fallait pas toucher et renommer wp-config-sample.php.
                    WordPress s’occupe de tout très bien tout seul et il suffit de le laisser s’installer normalement.
                    En voulant tout faire vous même, vous ne faites que des erreurs.
                    Il est évident que si vous avez mal fait vous-même ce que WordPress fait lui-même très bien (il remplit très bien wp-config.php), cela ne peut pas fonctionner.
                    D’après ce que vous dites, puisque le fichier wp-config.php est non rempli, votre nouveau site wordPress ne doit pas être accessible (rien ne doit s’afficher sur le site et il doit y avoir une erreur).

                    Recommencez l’installation de WordPress à zéro en laissant WordPress tout faire lui même normalement, s’il est bien installé, vous aurez accès à votre site WordPress tel qu’il se présente toujours au moment de sa création, c’est à dire avec une page d’exemple et un commentaire d’exemple.

                    1. Ok… je suis vraiment mauvais!!! J’avais pas installé WordPress, j’avais juste envoyé les fichiers WordPress sur l’hébergement…
                      Bref merci encore, je commence à être bon! (lol)

                      Pour la page Safe search replace, toujours sans une copie locale, je dois juste placer l’ancien NDD et le nouveau NDD… ok mais avec www. ou pas? (monsite.fr ou http://www.monsite.fr). Je crois que c’est sans mais bon…

                      Merci encore!

                    2. Remarquez que le préfixe « www. » ne sert à rien (mon site n’a pas de « www. » et ne s’en porte pas plus mal).
                      Si votre nom de domaine s’écrit avec « www. » faites avec, mais s’il n’en a pas, ce qui n’est pas plus mal, même mieux, faites sans.

  16. Coucou, me revoilà…
    Bon ben pour le 1er site, c’est gagné (voir post précédent) car la manip consistait à changer les liens d’un site « monsite.fr » en « monsite.com »…
    Pour mon second site, ça bug alors que j’ai fait, fait et refait les mêmes manips que précédemment…
    Là c’est un peu différent: changer les liens d’un site « monsite.com/monsite.fr » en « monsite.tv »…
    Oui je sais, j’ai pas fait les choses comme il faut, dans « monsite.com/monsite.fr », j’ai « monsite.fr » (avec donc .fr au bout = pô bien!) qui n’est que le nom de dossier dans lequel j’ai mon site. Pour être encore plus clair, au lieu d’avoir dans mon hébergement 2 dossiers « www » et un nouveau à coté dans lequel j’ai créé un site, là j’avais créé un dossier dans le « www » dans lequel j’avais créé le site.

    Quand j’utilise le script, tout est ok… pas de message d’erreur.
    Dès que je vais sur « monsite.com » = page blanche!
    J’ai revu dans WordPress le permalien… rien à faire, ça bug!

    Et pourtant j’ai tout refait pareil…
    Par contrôle, j’ai été voir dans la base pour voir si tout était ok et tout parait ok avec des liens bien revus « monsite.com/monsite.fr » en « monsite.tv »

    Du coup j’ai tout réinstallé sur l’hébergement, nouveau WordPress et le site « monsite.com/monsite.fr ». Dès qu’on tape « monsite.tv » sur google on tombe sur le site, dès qu’on clique sur le site je passe sur « monsite.com/monsite.fr »… Mais c’est pas ce que je recherchais!!!

    Ovh me propose une prestation pour réécrire tout mais bon, je passe avant vous voir pour savoir où j’ai buggé car c’est dommage le script a déjà marché avec moi…

    Merci.

  17. Bonjour,
    J’ai uploadé tous mes fichiers de la racine du site en ligne vers mon site local (étape 4), et lorsque j’essaye d’accéder à l’admin du site en local (donc http://localhost/wordpress/wp-admin/), cela me redirige automatiquement vers l’admin de mon site en ligne.

    Comment puis-je accéder à l’admin de mon site local ? (sachant que j’ai bien effectué l’import de la base de données dans mon site local)

    Je ne voudrai pas lancer le script « searchreplacedb2.php » sur mon site en ligne…

    Merci pour votre aide,
    Franck

    1. Parce que vous avez certainement écrasé le fichier local wp-config.php par celui du site en ligne, non ?

      Donc, vous devez l’éditer pour placer les bonnes informations locales et non pas celles du site en ligne.

      Sinon, vous recommencez à zéro et vous n’uploadez pas tous les fichiers comme indiqué dans le tuto.

      1. Non pourtant je n’ai pas écrasé le fichier wp-config.php… par contre j’ai écrasé le wp-config-sample.php il ne fallait pas ?

        Dans mon fichier wp-config.php j’ai pourtant bien l’indication « localhost » d’indiquée.

        J’ai installé wordpress en local avec le meme prefixe de table que mon site en ligne. Lors de l’import c’est donc toute ma base de donnée en ligne qui s’est importée dans ma base de donnée locale, c’est bien cela qu’il faut faire ?

        Merci

        1. Avez-vous réenregistré les permaliens ?

          sinon, vérifiez dans le fichier wp-config.php avec notepad++ s’il y a les lignes suivantes :

          define('WP_HOME','http://localhost/wordpress/');
          define('WP_SITEURL','http://localhost/wordpress/');
          

          Si elle n’y sont pas, ajoutez-les, cela empêchera WordPress d’aller sur le site en ligne.

          1. Non je n’ai pas encore jusqu’à l’étape 5 de peur que le fichier « searchreplaced » modifie mon site en ligne.

            Les lignes que vous m’avez données ne figurent pas dans mon fichier config. Je viens de les rajouter et effectivement cela fonctionne. Pourquoi ces lignes n’y étaient-elles pas à la base ?

            Maintenant je peux continuer l’étape 5 ? Le fichier searchreplace ne va pas impacter mon site en ligne ?

            Actuellement j’ai une page index complètement désorganisée en local

            1. Normalement, ces lignes ne sont pas nécessaires, mais bon, cela dépanne.

              Tant que vous n’avez pas fait le remplacement avec searchreplacedb2.php, oui, tout est désorganisé.

              1. Faut-il nécessairement mettre un prefixe de table différent (par exemple wp1_) du préfixe de table du site en ligne, lors de l’installation de wordpress en local ?

                Car en refaisant l’installation de wordpress, puis l’importation de la base, je vois que c’est lorsque la base est importée que cela me redirige vers l’admin de mon site en ligne.

                1. Le préfixe n’a aucune importance, le plus simple étant de prendre le même que celui du site en ligne.

                  Édit de 18 h 05 :
                  Pour changer de préfixe, il suffit de faire comme indiqué ici : Ma réponse du 19 mai 2013 à 15 h 39 min

                  J’ai modifié le tuto en précisant de faire de la façon la plus simple, c’est à dire en chosissant le même préfixe.

                  1. Merci pour votre aide ! Concernant les modifications que je ferai, ce sera donc bien sur le site en local et non sur mon site en ligne avec les solutions que vous m’avez donné ?

                    Le but de mon installation en local est de refondre mon site avec un nouveau thème et ensuite de le remettre en ligne avec le nouveau. Avez-vous un tuto pour faire le cheminement inverse ? (mettre un site local en ligne avec les bons changements)

                    Merci

                    1. Bien sûr, il n’est pas besoin de modifier le site en ligne pour en faire une copie.

                      S’il s’agit juste de refondre le thème, faites vos essais sur le site local en faisant un thème enfant comme indiqué ici : CODEX WordPress :Thèmes Enfant

                      Lorsqu’il sera finalisé, il suffira de l’installer via FTP (avec Filezilla, par exemple) sur le site en ligne dans le dossier « wp-content/themes » et de l’activer.

                      Pas la peine de faire une copie du site local (ce qui ferait perdre les derniers articles et/ou commentaires publiés depuis la copie).

                    2. Ok merci ! Je vais acheter un thème payant qui gère justement les thèmes enfants. Mais pour activer ce thème enfant, j’aurai besoin d’activer le thème parent et donc de changer mon thème existant (car il y a de nouvelles fonctions que je souhaite utiliser)

                    3. Non,
                      Tous les thèmes permettent de faire des thèmes enfants.

                      Il n’est pas besoin d’activer le thème parent, il suffit qu’il soit présent dans le dossier wp-content/themes, le thème enfant hérite justement de toutes les fonctionnalités du thème parent.

                    4. Il suffit que le thème parent soit présent dans le dossier wp-content/themes (si c’est ce que vous appelez installer, alors, oui).

                    5. Autre chose également (désolé de vous prendre autant de temps !). J’ai bien décoché « Demander aux moteurs de recherche d’indexer ce site » lors de l’installation wordpress, mais comme j’ai copier-coller le plugin SEO Yoast dans mon site local, comment puis-je être sur que wordpress (ou un plugin) ne va pas indexer le site svp ? Je ne veux pas me retrouver à faire du duplicate content sur mon propre site à cause d’un site en local…
                      Merci

                    6. Un site local n’est pas accessible depuis le net.
                      Pour le rendre accessible depuis le net, il y a tout un travail à faire sur les routeurs, configurer le PC, etc.

                    7. En général, il vaut mieux poser ce genre de questions sur le forum WordPress.org qui est plus réactif.
                      Vous avez eu de la chance que je sois disponible aujourd’hui :)

                    8. oup’s une dernière question, mes articles ne s’affichent plus en local. Même s’ils sont présents dans l’admin. Comment dois-je faire pour les récupérer svp ?

                    9. Supprimez tout et recommencez à zéro.

                      Édit :
                      Au vu de vos difficultés, j’ai simplifié l’étape de copie en précisant de remplacer uniquement le dossier wp-content (puisque les autres sont déjà créés par l’installation de WordPress).

  18. Je ne comprendrais jamais tous ces mic-mac de base de données, alors qu’il est si simple de changer le host pour avoir la même configuration en local et sur le serveur…

    1. Soyez constructif dans vos remarques, expliquez comment faire simplement même pour un débutant !

      Parce que critiquer pour critiquer, cela n’apporte rien du tout.

  19. Bonjour luciole135
    j’ai une question que je pose ici car tu as l’air particulièrement compétent sur 1/wordpress et 2/en particulier, wordpress sur les pages persos free.

    J’ai créé un blog avec wordpress sur ma page perso free à l’adresse :
    monpseudo.free.fr/wordpress
    C’est dommage car à la réflexion, je préfère :
    monpseudo.free.fr/****blog****

    Comment faire STP ? Est-ce que je suis obligé de passer par toute la manip que tu décris ci-dessus d’ores et déjà ? Avant de faire des étapes supplémentaires pour tout remettre en distant chez free sur la nouvelle adresse (je saurais même pas comment) ?

    Quand je pense qu’en 1 clic sur l’interface de gestion de wordpress on peut déplacer l’adresse, je cherche la solution la plus facile et rapide car étant béotien complet,
    toutes ces manips sont source de plantage…

    Merci pour ta réponse !

    1. Merci des compliments mais je ne fais aucun support sur mon propre site pour le partage des fichiers que je mets à disposition.
      Posez la question sur le forum USENET de support des pages perso de FREE où de nombreux bénévoles vous répondront.
      Bonne soirée

      1. Salut Luciole135

        merci pour ta réponse, j’ai posté ma question sur le forum USENET : on verra ce qu’il en ressortira…

        Mais à la relecture des commentaires précédents, je suis tombé sur une de tes remarques à AZZA :
        « AZZA : mon site en cours de creation est donc http://fr.azza.photos.free.fr/website. Pensez vous qu’il y ait un inconvenient à laisser les choses ainsi […] ou serait il preferable que je refasse mon upload à la racine ?

        [NDLR c’est exactement mon problème aussi]

        LUCIOLE135 : En terme de référencement, il parait que oui. Sinon, vous pouvez utiliser le script searchreplacedb2.php pour copier votre site à la racine. »

        Rhhaaa c’est possible comme ça alors ? Tu donnes effectivement une façon de faire pour la copie locale. Mais je pose une question bête :
        Est-ce qu’il y a juste à changer l’étape 4 (sous MAC) en :
        « Remplacez le nom de domaine pseudo.free.fr/wordpress par pseudo.free.fr/blog et cliquez sur le bouton « Submit Search string« 
        Ou faut-il ré-installer wordpress avant ? Ou… j’en sais rien en fait !
        Je n’ose toucher à rien avant d’être sûr : c’est tellement fragile, dès que je touche à quelque chose, paf ! erreur 500…

        Peux-tu détailler STP comment faire dans nos cas ?

        Merci BEAUCOUP pour ton aide.
        Thymeho

  20. l’astuce d’installer WordPress en local est superbe même si elle a quelque inconvénient mais d’une autre part, il existe d’autre méthode encore plus pratique… Merci quand même pour cet article !!

  21. Merci pour cet article et cette bonne méthode pour copier son site wordpress (du site en ligne vers le local ou du local vers le site en ligne). Je me permets de résumer cela en 6 étapes, à faire dans le sens origine vers destination :

    1/ Si ce n’est pas fait : installer WordPress en local (ou en ligne) avec le même nom de base de données.
    2/ Supprimer toutes les tables de la base de données de destination via PhpMyAdmin.
    3/ Exporter la base de données d’origine / importer la base de données vers la destination via PhpMyAdmin.
    4/ Copier le dossier « wp-content«  de l’origine vers la destination via FTP (éventuellement les dossiers spécifiques si certains ont été créés manuellement).
    5/ Dans la base de données, remplacer tous les liens du site avec l’utilitaire « searchreplacedb2.php«  (exemple : remplacer cap08.fr par localhost/cap08 pour une copie locale).
    6/ Régénérer les permaliens (en les enregistrant à nouveau) via WordPress.

    ça marche super bien. Encore merci.

    1. De rien, votre résumé est exact, je préciserai toutefois qu’il suffit de supprimer les tables de données de même nom déjà existantes (pas les autres).

  22. Bonjour,

    D’abord merci pour ce tuto. Ca a plus ou moins bien fonctionné pour moi. Du coup je me demande quelle étape j’ai bien pu loupé.. Sachant que je suis totalement novice en ce qui concerne wordpress et les bases de données, j’ai encore du mal à tout bien comprendre.

    En gros j’ai bien récupérer ma base de donnée, mon site fonctionne, tous mes articles sont là avec les bons textes. Le seul hic c’est mes images..
    Tous les liens de « médias » sont cassés. Il me faut donc supprimer et re-upload mes images pour chacun de mes articles.

    A quoi cela peut-il être dû ?

    Merci pour votre aide!

    1. Bonjour,
      Vous avez raté l’étape searchreplacedb2.php, comme vous êtes en local, ce n’est pas grave, il suffit de recommencer.
      En informatique, c’est en se trompant que l’on apprend !

      1. Ok je vais réessayer ! :-)

        Juste une question concernant l’exportation de la base de donnée. Je suis pas sure d’avoir bien cocher DROP BASE.
        Est ce qu’il s’agit de « Ajouter un énoncé DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT » dans phpmyadmin ?

          1. Alors je viens de tout refaire. j’ai bien fait l’étape de searchplacedb2.php.

            Maintenant quand je vais pour me connecter à mon tableau de bord, j’ai ce message qui apparait après la page login
            « Database Update Required

            WordPress has been updated! Before we send you on your way, we have to update your database to the newest version.

            The update process may take a little while, so please be patient.

            Update WordPress Database »

            Est ce une étape normale ? J’avais déjà eu ça la premiere fois et j’avais tout bêtement updaté la base de données.

            1. C’est parce que vous n’avez pas la même version de WordPress sur votre site en ligne (certainement que vous avez 3.9 ou inférieur) et que vous avez installé la version 4.0 sur le site local.

              Dans ce cas, faites la mise à jour puis mettez à jour votre WordPress en ligne.

              Sinon installez localement la même version que celui du site en ligne à partir des Archives des versions françaises

              1. Ca y est !! Ca marche :-)

                Je pense que j’avais fais une erreur dans l’url de remplacement! J’ai, du coup, remplacé l’url du site en ligne avec le http:// par mon adresse en local (avec le http:// aussi du coup) dans mon deuxième essai.

                Merci encore pour votre réactivité !

  23. Bonjour,
    J’ai suivi votre tuto presque à la lettre. La seule différence c’est que mon site n’est pas installé dans wamp/www mais dans un autre dossier.
    Tout fonctionne sauf que tous mes articles liens font des erreurs 404. En gros je ne peux afficher que ma page d’accueil.
    Dans le tableau de bord, j’accède pourtant bien à mes articles, que je peux éditer avec WordPress. Cependant, ni la prévisualisation, ni la visualisation ne foncitonnent. Cela me renvoit une erreur 404.
    La page d’accueil qui a pour adresse localhost/monsite s’affiche, mais les autres qui devraient avoir l’adresse localhost/page1, ne s’affiche pas.
    Où puis-je voir ou sont « rangées » les pages et articles et connaître leur adresse et voir du coup d’où vient le problème?

    Merci

    PS : J’ai bien réalisé l’étape avec le module searchreplace. Cela a apparemment bien fonctionné, pas de message d’erreur.

    1. C’est que vous avez mal effectué l’étape searchreplacedb2.php.

      Relisez cette étape en l’adaptant à votre cas. Dans le tuto, WordPress est installé à la racine du site /www, exactement dans un dossier nommé /www/wordpress, et son adresse URL est donc localhost/wordpress.

      1. Re’.. et bonjour
        Et bien impossible de trouver où est l’erreur.
        J’ai tout recommencer avec Uwamp sans changer aucun paramètre. J’ai tout mis dans le dossier Uwamp/www/wordpress par exemple.. Histoire de ne pas passer à coté d’une modification.
        Mon site wordpress est bien isntallé dans ma base de données. Dans le tableau de bord je retrouve bien tout mon site, mes articles, mes pages….
        La page d’accueil s’affiche correctement. Mais dès que je clique sur un lien, dans le menu ou sur un article, cela m’affiche toujours le message : 404 Not Found
        The requested URL /wordpress/a-propos/ was not found on this server.
        J’ai repris le tuto de search and replace, je l’ai refait en cochant leave Guid column, mais il m’a remplacé une première fois plus de 16000 occurences et maintenant, il n’en remplace plus.
        J’ai bien effectué aussi l’étape permaliens.. où je suis allée dans réglages/permaliens et je n’ai rien changé, juste enregistré les modifs..

        Avez-vous des pistes que je pourrai explorer pour comprendre d’où cela vient ?
        Où pourrais je regarder dans ma base de données pour voire d’où vient le problème ?

        Merci beaucoup pour votre aide.. Là je suis complètement perdue!

        1. Etrange.
          Avez-vous vérifié que les rewrite rule sont activé dans WAMP ?

          Vérifiez dans la base de données que les lignes siteurl et home (n°1 et 37) de la tables wp_options correspond bien à votre URL.

          Sinon, vous pouvez ajouter ces lignes dans le fichier wp-config.php 

          define('WP_HOME','http://localhost/wordpress/');
          define('WP_SITEURL','http://localhost/wordpress/');
          1. J’ai commencé par regardé cette de rewritemodule dans Uwamp.
            Il était indiqué dans le tuto qu’elle était activée d’office dans Uwamp mais ce n’était pas le cas chez moi.. Cela a tout « réparé ». Tout marche
            Pour info, si d’autres rencontrent le même problème que moi ou pour mettre à jour ce tuto :
            Vérifier que dans le dossier Uwamp/bin/Apache/conf tous les fichiers http.conf httpdinitial.conf et httpuwamp.conf (je ne sais pas lequel est pris en compte..)
            Les ouvrir avec Notepad++ et enlever le # de la ligne #LoadModule rewrite_module modules/mod_rewrite.so
            Ouvrir Uwamp, Apache/module cocher la case rewrite rules.
            Puis redémarrer les services.
            Pas besoin de réinstaller la base de données ou le site. Tout fonctionne.

            Merci beaucoup pour votre aide!

            1. Lorsque j’avais écrit le tuto, les rewrite rule étaient activées sur UwAmp, je vais refaire des tests, puis mettre à jour le tuto !

              Edit du vendredi 31 octobre 2014 à 14 h 00 :
              Je viens de faire une copie exacte locale de mon site avec UwAmp, les REWRITE RULE sont activées par défaut (sur Windows 7). Peut-être est-ce différente avec une autre version de Windows ?
              En tous cas, j’ai ajouté l’étape d’activation des REWRITE RULE dans le tuto.

  24. Merci beaucoup pour ce super article.

    ça marche très bien, j’ai pu faire fonctionner mon site en local très facilement en utilisant le script.

  25. bonjour Luciole135,
    félicitations pour votre tuto qui est le meilleur que j’ai trouvé !
    Il m’a bien servi pour rapatrier mon site en local.
    en revanche, j’ai essayé de faire la même chose dans le sens inverse pour un autre site développé.
    la page d’accueil s’affiche correctement, mais :
    – impossible d’accéder à l’interface admin après avoir rentrer mon log : « vous n’avez pas les droits suffisants pour accéder à cette page »
    – tous les liens de la page d’accueil me renvoient sur une « page not found »
    Il y a un fichier htacess sur mon site local, je l’ai chargé et j’ai modifié les éléments qui vont bien mais toujours la même chose.
    Je ne sais plus quoi faire pour résoudre cela.
    Vous avez peut-être une piste ?
    Merci d’avance et bonne journée.
    Nicolas

      1. merci pour votre réactivité !
        la première fois, c’est ce que j’ai fait, je ne l’ai pas inclus dans de transfert dans la mesure où il est à la racine du site et que je n’ai transférer que wp-content comme vous l’indiquez

        1. Ce n’est pas la peine de vous occuper du fichier .htaccess, il suffit, une fois les fichiers transféré via FTP, et la base de données restaurée et mise à jour avec searchreplacedb2.php, de réenregistrer les permaliens ce qui crée un fichier « .htaccess » automatiquement.

          1. mais pour ré-enregistrer les permaliens j’ai besoin d’accéder à l’interface admin. Or je n’ai pas les « droits suffisants ».

              1. J’ai le problème des droits quand je souhaite accéder à l’admin du site aussi, je n’arrive pas à résoudre ce problème… Tu pourrais donner plus d’informations ? Merci

  26. Grand merci et bravo pour cet excellent tutoriel ; le meilleur sur le sujet que j’ai pu lire… et j’en ai lu !!! Après une réinitialisation de mon pc, il m’était nécessaire.
    Ma grosse surprise est de le trouver sur un site qui n’est pas dédié à WordPress.
    J’ai suivi à la lettre la méthode (juste une petite modif de mon fichier php.ini sous easyphp pour augmenter le temps d’attente et quelques url à remplacer) et tout est parfait.
    Dans la communauté WordPress, ce tuto devrait faire un tabac (désolé je n’ai pas pu m’empêcher :).
    Et blague (de tabac.. je sais, je deviens un peu lourd) à part, félicitations également pour votre site. Je suis un ancien gros fumeur (jusqu’à 2 paquets par jour pendant une vingtaine d’années) et totalement abstinent depuis 15 ans.

    1. Bonjour,
      Merci du compliment, j’ai écrit quelques articles et tutos sur WordPress car j’ai été membre actif du forum d’entraide de WordPress-fr.net pendant plusieurs années. Ce sont les problèmes récurrents décrits par les utilisateurs sur le forum qui m’ont amené à écrire des tutos les plus simples possibles et à les améliorer.

      Je pourrais très bien partager le site en deux afin de séparer les articles sur WordPress de ceux sur le tabac. J’ai hésité à le faire sans franchir le pas car cela multiplierait par deux la maintenance.

      La communauté WordPress a un problème : le copinage des professionnels qui se font de la pub mutuellement. Étant non professionnel, mes tutos ne sont pas beaucoup publicisés, ce qui ne me dérange pas puisque mon site et dédié à l’arrêt du tabac.

      Félicitation pour votre arrêt du tabac !

      1. Bonjour Luciole,

        Le compliment est mérité et sincère. Et à lire votre réponse, j’y ajoute maintenant, le respect pour votre sens moral.

        Je pense que vous avez raison de ne pas séparer le site en deux. En courant deux lièvres à la fois, cela risquerait de détourner l’objectif principal de votre site.

        A ce propos, je suis complètement d’accord avec votre article et si ça peut aider, je vous ferai part de mon expérience du tabagisme (de la dépendance mais surtout de ce qui m’a permis de m’en libérer).

        Merci pour le lien :-)

  27. Bonjour,
    Mon site Maroufl’ rencontre certains problèmes (accès interdit sur mon poste de domicile) j’ai pour cela écrit à OVH pour une demande d’aide.
    Pour autant je souhaiterai l’installer en local. Je venins de parcourir toute la marche à suivre et je en me sens pas assez calée pour y arriver toute seule. Y aurait il le moyen de vous rémunérer et de recevoir un accompagnement individuel s’il vous plait?
    Je vous remercie par avance pour votre réponse.
    Bien à vous
    Vivien

  28. Tout simplement merci!!
    J’ai fait ça pour un site de test, que je voulais être la copie conforme du site de prod, mais les liens n’étaient pas mis à jour.

    Et avec le script searchreplace, tout est ok maintenant!!

    Un grand merci pour cet article!
    Fred.

  29. bonjour,
    J’ai suivi à la lettre (avec xampp), cela semble correct sauf une erreur
    «  »Vous n’avez pas les droits suffisants pour accéder à cette page. » »
    quand je vais sur mon admin wp en local. J’ai refais 3 fois le tuto je vois pas.
    Une idée ?
    Merci

  30. Je ne comprendrais jamais tous ces mic-mac de base de données, alors qu’il est si simple de changer le host pour avoir la même configuration en local et sur le serveur

  31. Bonjour,

    Vous avez très bien détaillé toutes les étapes et merci pour ce boulot, cependant je vais surement vous paraître idiote mais j’ai besoin d’aide

    Je suis novice pour l’installation WordPress « manuellement » mais hier j’ai décidé de l’installer et j’ai réussi … Je sais que le tuto n’est pas en lien mais reprends des modifications similaires à ma recherche … Bref J’aimerais simplement pouvoir modifier l’url actuel monsite.fr/accueil (c’est le nom de mon répertoire pour wordpress)/ et j’aimerais pouvoir enlever le nom du répertoire pour avoir juste l’url de mon domaine… J’ai cherché partout comment faire mais y a un passage que je ne comprends pas … Modifier index.php et .htaccess via FTP

    Je ne comprends RIEN DE CHEZ RIEN ! Je suis sur Filezila, j’ai trouvé index.php et .htaccess mais comment on fait pour le copier dans la racine du site ? l’option copier ok mais y a pas coller… et la racine c’est où ? Je ne suis pas sure d’avoir fais ce qu’il fallait… aussi j’aimerais savoir si il faut copier tous les dossiers wordpress dans la racine aussi ?

    J’espère avoir bien posé ma question car même pour moi c’est pas clair mais je ne sais plus quoi faire, j’ai beau chercher partout mais je suis toujours au même point je me suis dis que peut être vous pouvez m’aider

    Merci d’avance

  32. Bonjour,

    Je cherche à créer une version locale de mon site pour pouvoir peaufiner certaines pages.

    Or je ne comprends pas comment je peux avoir en même temps une version en ligne et une version locale.

    Quand je vais dans phpmyadmin, j’ai une seule base de données, celle de mon site en ligne, non ? Et une fois que ma version locale sera terminée, comment je fais pour remplacer celle en ligne ? Est-ce que je devrai aussi réinstaller le dossier WordPress ? (Je ne comprends pas ce que je modifie quand j’enrichis mes pages ou mes articles.)

    Merci de votre aide.

    1. Bonsoir,
      La version est ligne est située sur un serveur de votre hébergeur (donc pas sur votre ordinateur) tandis que la copie locale comme son nom l’indique est située sur votre propre ordinateur : les versions ne sont pas au même endroit !
      Pour le reste, appliquez le tuto à la lettre étape par étape et il n’y aura aucun problème. Je ne fais pas de support sur mon propre site, ce n’est pas sa vocation.
      Cordialement

Les commentaires sont fermés.