Accueil » Conseils & tutoriels sites internet » Tutos Prestashop » Prestashop : changer de nom de domaine sans perte de référencement

Prestashop : changer de nom de domaine sans perte de référencement

Pour une raison x ou y, il peut arriver que l’on aie besoin de changer de nom de domaine, comme lors de la création d’une entreprise, un changement de statut, ou que sais-je encore. L’impact sur le référencement peut être fatal, et bon nombre de personnes hésitent à migrer leur Prestashop vers un nouveau nom de domaine, de peur de perdre tout le travail qui a été réalisé avec tant d’ardeur.

Les liens peuvent bien évidemment être corrigés dans la base de données, mais les SERP (pages de résultats des moteurs de recherche) ne peuvent être contraints à se mettre à jour automatiquement, et il serait fastidieux de devoir contacter toutes les personnes ayant effectué des backlinks vers votre site.

Voici donc comment migrer votre site Prestashop vers un nouveau nom de domaine, sans perte de SEO.

 

1/ Déplacer le site vers le nouvel espace

 

Ce sujet a déjà été abordé dans ce tutoriel, mais depuis Prestashop 1.7 il est utile de savoir que le fichier de configuration (à savoir le fichier qui permet de connecter le Prestashop à la base de données) a été déplacé. Si vous recherchez ce fichier, sachez qu’il se trouve désormais dans /app/config/parameters.php.

L’intégration de Symfony à Prestashop est « en cause », rien ne change pour les versions inférieures.

Testez donc toutes les pages de votre site, effectuez un recettage, surtout si vous avez des liens internes, comme dans vos CMS, votre menu, ou dans les fiches produits (ce afin de réaliser un maillage interne). Vous pouvez modifier vos liens en effectuant ce type de requête SQL :

 

UPDATE ps_cms_lang SET option_value = REPLACE(option_value, 'https://www.MonAncienneURL.tld', 'https://www.MaNouvelleURL.tld') WHERE INSTR(option_value, 'https://www.MonAncienneURL.tld') > 0;

UPDATE ps_product_lang SET description_short = REPLACE(description_short, 'https://www.MonAncienneURL.tld', 'https://www.MaNouvelleURL.tld') WHERE INSTR(description_short, 'https://www.MonAncienneURL.tld') > 0;

UPDATE ps_product_lang SET description = REPLACE(description, 'https://www.MonAncienneURL.tld', 'https://www.MaNouvelleURL.tld') WHERE INSTR(description, 'https://www.MonAncienneURL.tld') > 0;

 

Bien évidemment, modifiez le préfixe des tables par les vôtres si vous les avez personnalisés, et parallèlement, corrigez les URL notées dans le code. Ce code est très utile lors d’une mise en ligne ou d’un changement d’URL pour WordPress

Ce code MySQL est également fort utile pour corriger les liens http vers le https, ainsi qu’il est décrit dans cette procédure de mise en SSL d’un site Prestashop.

 

2/ Modification de l’ancien fichier htaccess

 

Cette opération fonctionne si vous utilisez Apache sur votre ancien site, celui qui doit désormais rediriger vers le nouveau nom de domaine

D’ordinaire, la Team préconise de toujours conserver une sauvegarde des données, à vous d’en juger la pertinence sur ce genre de migration.

Editez votre fichier htaccess et remplacez tout ce qu’il contient par ceci :

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !team-ever.com$ [NC]
RewriteRule ^(.*)$ http://www.team-ever.com/$1 [L,R=301]	

Bien évidemment, remplacez « team-ever.com » par le nom de domaine final, à savoir celui qui doit s’afficher à présent pour vos clients.

Enregistrez, et essayez de vous connecter à votre ancien nom de domaine.

Notez le RewriteRule, qui prend en compte les paramètres des URL. A savoir que tout ce qui est contenu après votre nom de domaine est automatiquement conservé, seul le nom de domaine est modifié dans la redirection. C’est justement cela, couplé à une redirection 301, qui vous permet de conserver votre référencement.

Voici un exemple concret :

http://www.cyrilchalamon.fr/category/blog-prestashop/

vous redirige désormais vers  

https://www.team-ever.com/category/blog-prestashop/

 

Bien que commençant à être obsolète au profit de Nginx, Apache est encore bien pratique, non ?

Imprimer Imprimer
Suivre Cyssoo:

Développeur - formateur

Je cherche à display errors le monde, vous auriez pas la doc' ? Follow me on Twitter !

5 Responses

  1. Eric M
    | Répondre

    Merci. Excellent tuto. Le fichier a modifier est le parameters.php . Sans Team Ever, j’aurai passé des heures à chercher la solution sur le web.

    • Cyril CHALAMON
      | Répondre

      Merci Eric ! Oui un peu compliqué au début pour trouver ce fichier, mais la solution est également présente dans le forum de Prestashop. Les questions sur la version 1.7 commencent à peine à arriver.

  2. Webbax
    | Répondre

    Hello,

    Merci d’avoir partagé ta manière de faire, ce que je fais aussi assez régulièrement c’est un export de la base de données et ensuite en remplacement massif des urls via le notepad++ (au lieu du replace via SQL), cela permet de s’assurer que tous les liens sont bien remplacés (même sur des tables secondaires).

    Par la même occasion il est bien de remplacer aussi tous les liens par la même structure ex. « tous les liens avec www ou sans le www » pour avoir quelque chose d’uniforme (car parfois beaucoup de marchands ont un mix des urls).

    Voilà tout est dit, à la prochaine 😉 !

  3. najdev
    | Répondre

    Bonjour, j’aurais une question qui n’a pas vraiment de lien direct avec l’article mais qui s’ y rapproche. J’ai mis en place un nouveau site sur prestashop avec un nouveau ndd mais en visant le même marché dans le même pays.

    Je voudrais savoir si c’est pénalisant d’un point de vue seo et utilisateur, de faire me faire des liens de mes anciens site (qui on encore du jus et qui sont vitaux pour l’entreprise ) vers le nouveau site ?

    Exemple:
    Site 1, je mets un lien dans le footer pour rediriger les visiteurs vers mon site C ( le nouveau)
    Site 2 , idem que ci-dessus.

    Merci d’avance.

    • Cyril CHALAMON
      | Répondre

      Bonjour,
      Aucun souci là-dessus, mais il faudra faire bien attention au contenu dupliqué. Si le contenu est le même et dans la même langue, vous aurez un fort risque de duplicate content, auquel cas le contenu sera à revoir.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.