Procédure
Pour déplacer un site WordPress sur un nouveau nom de domaine, vous copiez ses fichiers et sa base de données sur l'hébergement du nouveau domaine, vous adaptez le fichier wp-config.php, puis vous remplacez l'ancienne adresse par la nouvelle dans les réglages de WordPress. Si votre site est sur un hébergement LWS Panel, le WP Manager fait tout cela pour vous, sans FTP ni phpMyAdmin.
La méthode manuelle ci-dessous sert dans les autres cas : site hébergé ailleurs que chez LWS, nouveau domaine sur un autre type d'hébergement, ou site que le WP Manager ne gère pas. Les exemples d'écrans sont ceux du LWS Panel.
WordPress enregistre l'adresse du site dans sa base de données. Si vous copiez le site sans la changer, il continue d'envoyer les visiteurs vers l'ancienne adresse. Les liens que vous avez écrits dans vos articles et vos pages gardent aussi l'ancien domaine : une fois l'ancien site supprimé, ils mènent à des erreurs 404.
Le déplacement modifie la base de données, et une requête SQL exécutée ne s'annule pas. Avant de commencer, gardez sur votre ordinateur une copie complète du site, en deux parties :
Ces deux copies vous servent aussi pour la suite : ce sont elles que vous envoyez sur le nouvel hébergement. Conservez-les sans les modifier jusqu'à ce que le nouveau site fonctionne.
Vos identifiants FTP sont dans le LWS Panel du nouvel hébergement, rubrique Fichiers > Compte(s) FTP, bloc Listing des utilisateurs FTP. Le mot de passe n'y est pas affiché : s'il est perdu, cliquez sur Changer sur la ligne du compte. La connexion avec FileZilla est expliquée dans Comment publier un site par FTP avec FileZilla, Cyberduck ou WinSCP ?.
Envoyez tous les fichiers sauvegardés dans le dossier du nouveau domaine, à l'intérieur de /htdocs :
/htdocs/blog.nouveau-domaine.fr/ ;/htdocs/nouveau-domaine.fr/), sinon /htdocs directement.Le Gestionnaire de fichiers du LWS Panel (rubrique Fichiers) vous permet de voir ces dossiers avant l'envoi.
Dans le LWS Panel, rubrique Base de données & PHP, ouvrez MySql & PhpMyadmin et cliquez sur Cliquez ici pour créer une base MySql. Le nom de la base, l'utilisateur et le mot de passe sont générés par LWS : le mot de passe vous est envoyé par e-mail et n'est plus affiché ensuite dans le panel. Voir Comment créer une base de données Mysql ?.
Sur la ligne de la nouvelle base, cliquez sur le menu ⋮ puis sur PhpMyAdmin. phpMyAdmin s'ouvre dans un nouvel onglet : la connexion n'est pas automatique, saisissez l'utilisateur de la base (colonne Utilisateur) et son mot de passe. Importez ensuite le fichier exporté de l'ancienne base, comme expliqué dans Comment importer une base de données sur un hébergement mutualisé LWS avec phpMyAdmin. Pour un fichier volumineux, suivez Comment importer une base de données volumineuse sur LWS Panel ?.
Le fichier wp-config.php, à la racine du site copié, contient les paramètres de connexion à la base. Faites-en d'abord une copie (par exemple wp-config.php.avant) : si le site ne s'affiche plus, vous remettez cette copie en place. Modifiez ensuite les quatre lignes suivantes avec les valeurs du tableau de MySql & PhpMyadmin :
define( 'DB_NAME', 'nom_de_la_base' );
define( 'DB_USER', 'utilisateur_de_la_base' );
define( 'DB_PASSWORD', 'mot_de_passe_de_la_base' );
define( 'DB_HOST', 'adresse_ip_du_serveur_mysql' );| Ligne de wp-config.php | Où lire la valeur dans le LWS Panel |
|---|---|
DB_NAME | Colonne Base |
DB_USER | Colonne Utilisateur |
DB_PASSWORD | Le mot de passe reçu par e-mail à la création de la base (perdu : menu ⋮ > Changer mot de passe) |
DB_HOST | Colonne Ip serveur : une adresse IP, pas « localhost » |
Notez aussi la valeur de la ligne qui commence par $table_prefix (par défaut 'wp_') : c'est le début du nom des tables de votre site, utile à l'étape suivante.
Les modifications ci-dessous sont celles que documente WordPress dans son guide officiel, partie « Changing The Site URL » (Moving WordPress, sur developer.wordpress.org). Faites-les dans la base du nouveau site, après l'import, et gardez votre sauvegarde à portée de main.
Dans phpMyAdmin, cliquez sur le nom de la base dans la colonne de gauche, puis sur la table wp_options (remplacez wp_ par votre préfixe s'il est différent). Sur la ligne dont la colonne option_name vaut siteurl, modifiez la colonne option_value : saisissez la nouvelle adresse complète, avec https:// et sans barre oblique à la fin, par exemple https://nouveau-domaine.fr. Validez avec Exécuter. Faites de même pour la ligne home.
Vos contenus peuvent contenir des liens et des images avec l'ancienne adresse. La requête ci-dessous est un modèle à adapter : remplacez les deux adresses par les vôtres, écrites exactement comme sur le site (avec https:// ou http://, avec ou sans www), et wp_posts par le nom de la table avec votre préfixe. Dans phpMyAdmin, ouvrez l'onglet SQL de la base, collez la requête adaptée, puis cliquez sur Exécuter.
UPDATE wp_posts SET post_content = REPLACE(post_content, 'https://www.ancien-domaine.fr', 'https://www.nouveau-domaine.fr');Ouvrez la nouvelle adresse dans votre navigateur et parcourez quelques pages : le texte, les images et les menus s'affichent, et l'adresse en haut du navigateur reste la nouvelle. Connectez-vous ensuite à l'administration, à l'adresse https://nouveau-domaine.fr/wp-admin : dans Réglages > Général, les deux champs d'adresse (celle de WordPress et celle du site) doivent afficher la nouvelle adresse.
Pour envoyer les visiteurs de l'ancien domaine vers le nouveau, mettez en place une redirection : Rediriger un nom de domaine vers une autre adresse web.
Comparez les quatre lignes de wp-config.php avec la ligne de la base dans MySql & PhpMyadmin : nom de la base, utilisateur et adresse IP du serveur. Si vous doutez du mot de passe, changez-le par le menu ⋮ > Changer mot de passe, puis reportez-le dans wp-config.php.
Les lignes siteurl et home de la table des options contiennent encore l'ancienne adresse. Vérifiez-les dans phpMyAdmin, dans la base du nouveau site, et vérifiez aussi que wp-config.php pointe bien vers cette nouvelle base et non vers l'ancienne.
Oui. Sur un hébergement LWS Panel, le WP Manager déplace le site sans FTP ni requête (voir l'encadré en haut de cette aide). Depuis un autre hébergeur, une extension de migration fait le transfert : consultez Comment migrer un site WordPress avec l'extension All-in-One WP Migration.
Posez-la à l'équipe LWS et à la communauté. Réponse publiée après modération.