Je vous ai déjà proposé un tutoriel pour monter un site de test dans les règles de l’art. Ceci étant indispensable pour tester des plugins, modifier votre site (code / paramétrage) sans casser votre site ni impacter vos visiteurs. Il s’agit donc de disposer d’une copie en ligne de votre site. Le seul inconvénient, c’est que le tutoriel proposé est un long à mettre en oeuvre et implique de dupliquer le contenu du répertoire « upload » pour votre site de test. Ce qui peut vite représenter beaucoup de fichiers et donc du stockage et du temps de transfert!
Ayant du refaire ces environnements pour mes deux sites suite à mon changement d’hébergeur, j’ai opté pour une approche bien plus pragmatique et rapide, et sans lancer de scripts SQL pour ceux que cela peut effrayer! Voici les opérations à réaliser :
- Création d’un sous-domaine (c’est peut-être le plus long finalement),
- Dupliquer le contenu des fichiers de votre site (sans le répertoire uploads),
- Créer une nouvelle base et restaurer le contenu de votre base du site principal,
- Modifier la base avec la nouvelle adresse du site,
- Modifier le fichier wp-config,
- Isoler votre site de test.
Le tout en moins d’une heure chrono! Sachant également que vous « perdrez » les images à la une en suivant ce tutoriel. Il vous reste toujours la possibilité de copier quelque unes de ces images dans le répertoire « upload » de votre site de test. Tous les liens « en dur » vers votre site principal vous renverrons également vers le site d’origine. Mais si votre site est correctement paramétré, cela ne devrait pas être le cas pour beaucoup de liens. Tout le reste tout fonctionne parfaitement, les images s’affichent normalement (elles pointent toujours sur le site d’origine).
Pour ce qui suit, il faut évidement vous munir de tout vos codes d’accès (FTP, panel d’administration hébergeur,..) de votre hébergement.
Pré-requis hébergeur :
- Pouvoir créer un sous-domaine
- Pouvoir créer une seconde base MySQL
1. Création du sous-domaine
Il faut évidement que votre hébergeur le permette! Choissisez un nom de sous-domaine parlant genre « test ». Dans mon cas, c’est « preprod » (déformation professionnelle oblige), ce qui donne « http://preprod.chezmat.fr ». La demande se fait via l’interface de votre hébergeur, je ne détaillerais pas, cela dépend vraiment de chaque hébergeur. Mais la demande prend en général quelques minutes à quelques dizaines de minutes pour être effective, il faut donc commencer par cette étape.
=> Fait en moins de 5 minutes.
2. Duplication des fichiers wordpress
La aussi, en pratique, l’emplacement des fichiers dépend de votre hébergeur! Avec mon hébergeur, un répertoire à part est crée avec le sous-domaine, il suffit donc de déposer la copie des fichiers (sans le répertoire « uploads ») dedans. Sur le cPanel, ce n’est pas le cas, il faut donc rajouter un sous-répertoire à la racine (ce qui peut-être gênant si vous avez votre site principal également à la racine), le plus simple étant de le nommer comme votre sous-domaine (« preprod » dans mon cas), mais cela n’est pas une obligation. L’idéal est d’utiliser un backup de votre site pour transférer les données. Sinon (et c’est pas bien), il faut rapatrier les fichiers en local via FTP puis les réuploader dans le bon répertoire.
=> Fait en moins de 30 minutes.
3. Création de la base et restauration des données
Créer une nouvelle base de données (là aussi, il faut que votre hébergeur le permette) via Php myadmin ou via l’interface de votre hébergeur. Notez bien les informations qui vous seront ensuite nécessaires (nom de la base, utilisateur et mot de passe).
Une fois fait, récupérez une copie (un « dump ») de la base du site principal soit avec les outils mis à disposition par votre hébergeur, soit à partir de vos backups, soit directement à partir de php MyAdmin. Sélectionnez la base puis cliquez sur l’ongle « Exporter » :
La restauration des données se fait en règle générale via phpMyAdmin (sauf à disposer d’autres outils fournis par l’hébergeur). Placez vous sur votre base cible, cliquez sur l’onglet export, sélectionner le fichier de votre base à uploader puis cliquer sur exécuter.
Si votre base est grosse, il vaut mieux faire un export compressé pour diminuer le temps d’upload. Car en règle générale, il y a un temps et une taille limite à la fois en sql mais aussi en php. Si l’upload est trop long, votre restauration échouera.
=> Fait en 10-15 minutes (sauf si vous avez une grosse base) en parallèle des opérations du point 2.
4. Modifier votre base
Avant de pouvoir vous connecter à votre site de test, il faut modifier le paramétrage de l’adresse du site dans deux lignes de votre base. Vous êtes encore connecté à votre base pour le site de test, allez dans la table « wp-options » et cherchez les lignes suivantes : « siteurl » & « home ». Double-cliquez sur l’url pour la modifier avec votre sous-domaine (ex ici : http://preprod.chezmat.fr) :
siteurl
home
Pensez tant qu’a faire à modifier le slogan du site pour le différencier du site principal (ligne « Blogname »). Cela vous permettra ensuite de bien distinguer les deux sites.
Voila, c’est fait!
=> Fait en moins de 5 minutes.
5. Modifier le fichier wp-config
Il faut modifier le fichier de paramétrage pour que le site de test fonctionne et pointe sur la bonne base. On peut soit éditer le fichier wp-config.php à la main et le transférer par ftp, soit (et c’est ma méthode), supprimer le fichier wp-config du répertoire du site de test afin de déclencher l’assistant wordpress qui va vous permettre de donner les infos pour le fichier wp-config lorsque vous tenterez de vous connecter à vote site (http://preprod.chezmat.fr/) :
Une fois les infos correctement renseignées, enregistrez avec « Valider », vous devriez avoir accès à votre site de test. Afin de vérifier que tout fonctionne bien, connectez-vous au back-office de votre site, avec l’adresse suivante dans notre cas concret :
http://preprod.chezmat.fr/wp-admin/
Vérifiez que une fois connecté, vous êtes bien sur le bon site et pas redirigé vers le site principal (vérifiez l’url). Sinon, il se peut que votre thème ait lui aussi des réglages de l’url du site dans ses tables. Si c’est le cas, il faudra fouiller dans les tables de votre base..
=> Fait en moins de 5 minutes.
6. Isoler votre site de test
Reste que pour bien faire, il faut rendre ce site inaccessible à Google et aux autres visiteurs! Car si Google indexe le site de test, cela va engendrer du contenu dupliqué. Les solutions sont diverses et variées à ce niveau. Il existe une option « Demander aux moteurs de recherche de ne pas indexer ce site » dans « Réglages » puis « Lecture » que l’on peut décocher. Mais cela n’est pas suffisant, il faut interdire complètement l’accès au site.
J’utilise le plugin « YITH Maintenance Mode » qui permet de mettre le site en mode maintenance. Il permet de choisir qui peut accéder au site. On peut par exemple le paramétrer pour que seul l’admin du site (vous en l’occurrence) puisse se connecter. Pour tous les autres, il affiche un message que vous pouvez paramétrer. C’est propre et sans bavures!
Tant que vous y êtes, profitez-en pour désactiver les plugins qui ne sont pas utiles ou qui pourraient avoir un effet de bord avec votre site principal (genre Jetpack, tweet old post,..).
=> Fait en 10 minutes maximum
7. Pour aller plus loin
Si comme moi, vous avez certains éléments de vos menus qui pointent encore vers votre site principal, vous pouvez arranger ça en base!
Il suffira de lancer la requête suivante :
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://mondomaine.fr/', 'http://preprod.mondomaine.fr/'); where meta_value like "http://mondomaine.fr/%";
En adaptant avec votre nom de domaine (et éventuellement votre préfixe sur le nom des tables qui n’est pas forcément wp). Il faudra également revalider vos permaliens pour que cela fonctionne!
8. Au final
Voila, en moins d’une heure, vous disposez d’un site de test! Certes, ce n’est pas tout à fait une copie conforme, il vous manquera principalement les images à la une (si vous en avez) et vos liens en vers d’autres articles de votre site pointeront vers le site principal. Mais il est parfaitement fonctionnel et vous permet de tester vos modifications de manière totalement indépendante de votre site principal. Et puis, rien ne vous empêche de rajouter quelques unes des images à la une pour faire illusion (au moins sur la page d’accueil). Ou de modifier les liens en utilisant mon autre tutoriel plus complet.
Une petite astuce supplémentaire, depuis la version 3.8 de wordpress, on peut modifier la couleur de l’interface d’administration avec un choix assez important de couleurs. Profitez-en donc pour mettre une couleur différente sur le site de test! Cela fera également une différenciation visuelle (même si le « vrai » juge de paix reste l’url). Le réglage est dispo dans « Utilisateurs » puis « Votre profil ».
Alors, vous attendez-quoi pour vous y mettre??
Article Chez Mat : Monter un site de test en ligne en une heure! http://t.co/JNGf5v3rMj
Bonjour, merci pour le tuto, très utile, 2 petites questions cependant :
– plutot qu’un sous domaine, peut on utiliser un sous repertoire/dossier ?
– Admettons que les modifications soient plutot de la refonte du site (changement de theme), et engendre BEAUCOUP de modifs, suffira t il de refaire la manip en sens inverse pour que tout soit nickel sur le nouveau site ?
Merci,
Stephanie
Bonjour Stéphanie,
Pour la première question, il faut en général les deux ( ça dépend de l’hébergeur), mais le sous-domaine pointé vers un sous répertoire de ton hébergement. Il te faut un domaine (ou sous domaine) par site.
Pour la question 2, je vais te dire que ça dépend ! Si les modifs sont faites sur le code du thème, un « copié-collé » fera l’affaire. Mais parfois, comme sur mon thème, le paramétrage est dans la base de donnée. Si le thème est bien fait, tu peux exporter le paramétrage. Donc, comme tu le vois, c’est vraiment du cas par cas !