Changer l’URL d’un site WordPress

Lorsque vous publiez des articles dans votre site WordPress et que vous y ajoutez des images, l'URL absolu des images est encodé dans la base de données. Un déménagement de votre site, même après avoir modifié toutes les configurations requises, fera en sorte qu'aucune image ne sera affichée dans vos articles. Il faut donc apporter des modifications au contenu de votre BD.

▼Publicité

Pour y arriver :

  • Accédez à votre logiciel de gestion MySQL. Ce pourrait être phpMyAdmin ou encore la ligne de commande MySQL.
  • Prenez une copie de sécurité de votre base de données, en cas où vous effectueriez une mauvaise manipulation. On n'est jamais trop prudent...

    Pour exporter une base de données sous phpMyAdmin, sélectionnez la base de données et assurez-vous qu'aucune table n'est sélectionnée. Cliquez ensuite sur « Exporter ». Vous pouvez conserver les options par défaut de l'exportation rapide.

    Si vous travaillez à la ligne de commande MySQL, la copie de sécurité peut être effectuée à l'aide de la commande mysqldump.

    ex : mysqldump -u root -p nom_bd > nom_fichier_de_backup.sql

  • Exécutez les requêtes suivantes.
    MySQL

    UPDATE wp_options SET option_value = REPLACE(option_value,'http://ancienurl','http://nouvelurl') WHERE option_value LIKE '%http://ancienurl%';

    UPDATE wp_posts SET post_content = REPLACE(post_content,'http://ancienurl','http://nouvelurl') WHERE post_content LIKE '%http://ancienurl%';

    UPDATE wp_posts SET guid = REPLACE(guid,'http://ancienurl','http://nouvelurl') WHERE guid LIKE '%http://ancienurl%';

Prenez note que normalement, le contenu du champ wp_posts.guid ne devrait pas être modifié. En effet, les fils RSS utilisent la valeur de ce champ et une modification de cette valeur peut entraîner des comportements inattendus.

Cependant, lors du changement de l'URL d'un site sans possibilité de rediriger les pages avec l'ancien URL vers le nouveau, la modification du guid demeure la seule option valable.

Merci de partager ! Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInPin on PinterestShare on StumbleUponEmail this to someone
Catégories

2 commentaires

  1. Bonjour, je cherche une solution pour migrer un site wordpress créé dans un sous-repertoire et le mettre à la racine du site
    j’ai donc cliqué sur votre page concernant ce problème
    puis j’ai trouvé une autre solution proposée qui est sur ce site : http://wpformation.com/changer-url-wordpress/
    et parait très simple sans toucher à phpMyAdmin…si simple que cela me questionne avant de m’exécuter
    j’aurais aimé avoir votre avis… Merci d’avance
    Cordialement
    DM

    • Christiane Lagacé

      Bonjour Daniel,

      Lorsque votre site vient tout juste d’être installé, le simple changement d’adresse dans le panneau de configuration peut effectivement faire l’affaire. Cependant, dès que vous commencez à ajouter des pages et à écrire des articles contenant des images, l’URL complet de l’image est utilisé. Donc, si vous ne modifiez pas les informations dans la base de données, vos pages et articles ne contiendront plus les images que vous y avez ajouté.

      Bonne chance !

      Christiane