Des URL sans ID dans PrestaShop ne s'obtiennent qu'avec un module ou une modification du code, car les réglages de la boutique rendent le mot-clé {id} obligatoire dans chaque format d'URL. Sans module, vous pouvez activer les URL simplifiées et les raccourcir (par exemple retirer la catégorie et le code EAN des URL produits), mais le numéro reste. Quoi que vous changiez, l'essentiel est une redirection 301 de chaque ancien lien vers sa nouvelle adresse ; sans elle, vous perdez le trafic Google et les liens venant d'autres sites. Voici d'où viennent ces numéros, ce que l'on peut régler dans le back-office et comment changer vos URL sans casse.
- D'où viennent les numéros dans les URL de PrestaShop ?
- Les ID dans les URL nuisent-ils au SEO ?
- Réglages Trafic et SEO : que pouvez-vous changer sans module ?
- Comment obtenir des URL sans ID dans PrestaShop ?
- Doublons et erreurs 404 : à quoi faire attention ?
- Comment rediriger les anciennes URL en 301 ?
- Questions fréquentes
D'où viennent les numéros dans les URL de PrestaShop ?
Les URL par défaut de PrestaShop ressemblent à ceci :
- catégorie :
/12-chaussures-running, - produit :
/homme/25-73-t-shirt-basique.html, - page CMS :
/content/4-conditions-generales.
Le nombre au début est l'identifiant (ID) en base de données : 12 pour la catégorie, 25 pour le produit et 73 pour la déclinaison, par exemple une taille et une couleur. PrestaShop reconnaît la page grâce à cet ID ; le texte après le tiret n'est pour lui qu'un habillage.
Ce fonctionnement a ses avantages. Deux produits peuvent porter le même nom dans l'URL, et après avoir renommé un produit, l'ancien lien fonctionne toujours : la boutique lit l'ID et renvoie le visiteur vers l'adresse actuelle. L'inconvénient, ce sont des liens longs et peu lisibles, plus difficiles à retenir et moins engageants dans les résultats de recherche ou en partage.
Les ID dans les URL nuisent-ils au SEO ?
Le numéro en lui-même ne vous empêche pas de bien vous positionner. Google recommande des URL simples et descriptives, compréhensibles par les internautes (consignes de Google sur la structure des URL), mais l'URL n'est qu'un signal mineur parmi beaucoup d'autres. Un lien propre /t-shirt-basique.html au lieu de /homme/25-73-t-shirt-basique.html apporte surtout :
- de la lisibilité dans les résultats de recherche, les e-mails et les réseaux sociaux,
- des liens plus courts, faciles à copier et à retenir,
- des adresses cohérentes dans toute la boutique.
Les contenus dupliqués et les liens cassés posent un problème SEO bien plus sérieux que le numéro lui-même. Un changement d'URL mal mené peut faire plus de dégâts que des ID laissés en place. C'est pourquoi les sections suivantes y sont consacrées.
Réglages Trafic et SEO : que pouvez-vous changer sans module ?
Les réglages des URL se trouvent dans Paramètres de la boutique > Trafic et SEO > SEO et URL. Le chemin est le même dans PrestaShop 1.7, 8 et 9.
| Option | Rôle | Recommandation |
|---|---|---|
| URL simplifiée | transforme index.php?id_product=25&controller=product en adresse lisible |
Oui ; le serveur doit gérer la réécriture d'URL |
| URL accentuées | autorise les caractères accentués dans les URL | généralement Non, « café » devient alors « cafe » |
| Rediriger vers l'URL canonique | réaction de la boutique à une URL obsolète ; 302 par défaut | 301 une fois la boutique lancée |
| Désactiver MultiViews / mod_security | options pour les serveurs Apache | seulement si les URL simplifiées ne fonctionnent pas |
Sous Apache, PrestaShop génère lui-même le fichier .htaccess à l'enregistrement de ces réglages. Sous nginx, c'est l'administrateur du serveur qui ajoute les règles de réécriture.
Format des URL
Plus bas, dans la section Format des URLs, vous définissez le modèle d'adresse de chaque type de page. Les mots entre accolades sont des variables, et ceux marqués d'un astérisque sont obligatoires.
| Page | Format par défaut |
|---|---|
| Produit (1.7 et 8) | {category:/}{id}{-:id_product_attribute}-{rewrite}{-:ean13}.html |
| Produit (nouvelle installation 9) | {id}{-:id_product_attribute}-{rewrite}.html |
| Catégorie | {id}-{rewrite} |
| Page CMS | content/{id}-{rewrite} |
| Marque | brand/{id}-{rewrite} |
Sans module, vous pouvez retirer la catégorie et le code EAN des URL produits, traduire les préfixes, par exemple content en infos, ou ajouter .html à la fin. En revanche, impossible de retirer {id} : à l'enregistrement, PrestaShop indique que tous les mots-clés obligatoires doivent être inclus. Une boutique mise à jour vers la version 9 conserve son ancien format d'URL produit : la mise à jour ne change donc pas vos adresses à elle seule.
L'URL simplifiée d'une page
La partie {rewrite} correspond au champ d'URL simplifiée, présent dans l'onglet SEO du produit ainsi que dans les formulaires des catégories et des pages CMS. PrestaShop le remplit à partir du nom, mais il vaut la peine de le raccourcir : gardez les mots importants et retirez les mentions inutiles comme « nouveau » ou « promo ». Avec des ID dans l'URL, modifier ce champ est sans risque : si la redirection vers l'URL canonique est activée, la boutique renvoie le visiteur de l'ancien lien vers le nouveau. Sans ID, chaque modification exige une redirection 301.
Comment obtenir des URL sans ID dans PrestaShop ?
Il existe deux solutions :
- Un module qui étend la gestion des URL pour que la boutique reconnaisse les pages par leur seul nom, et qui s'occupe des redirections.
- Votre propre override des classes chargées des URL. Cela fonctionne, mais chaque mise à jour de PrestaShop peut le casser, et sa maintenance repose sur vous ou votre développeur.
Quelle que soit la voie choisie, la solution doit gérer plusieurs situations qui ne se posaient pas tant que les numéros étaient là :
- deux produits du même nom, par exemple « t-shirt-basique » dans deux collections ; sans ID, l'URL doit être unique,
- les conflits entre types de pages, quand une catégorie et une page CMS se retrouvent avec la même URL,
- plusieurs langues et boutiques, chacune avec ses propres URL,
- un produit renommé, dont l'ancienne URL doit rediriger vers la nouvelle.
Si vous préférez ne pas l'écrire et le maintenir vous-même, nous pouvons le réaliser pour votre boutique en développement PrestaShop : des URL sans ID, des redirections 301 depuis les anciens liens et un contrôle des adresses en double, testés d'abord sur une copie de la boutique.
Doublons et erreurs 404 : à quoi faire attention ?
Attention : changez le format de vos URL une seule fois, après réflexion, et d'abord sur une copie de la boutique. Chaque nouveau changement implique une nouvelle série de redirections et de nouvelles semaines pendant lesquelles Google apprend les nouvelles adresses.
Les pièges les plus fréquents :
- Le même produit sous plusieurs URL. Quand l'URL contient une catégorie et que le produit appartient à plusieurs catégories, PrestaShop, avec la redirection vers l'URL canonique activée, renvoie le visiteur vers l'URL de la catégorie par défaut. Sans cette option, Google voit plusieurs copies de la même page.
- Les paramètres d'URL. Le tri, les filtres et la pagination ajoutent des paramètres à l'URL. Vérifiez que votre thème ajoute une balise
canonicalpointant vers la version principale de la page. - Avec ou sans www, http ou https. La boutique doit répondre sur une seule adresse et rediriger les autres versions vers elle en 301.
- Les produits désactivés. Dans l'onglet SEO du produit, réglez la redirection quand le produit est désactivé, par exemple une 301 vers sa catégorie, plutôt qu'une erreur 404.
- De nouvelles URL sans redirections. Une fois les ID supprimés, les anciens liens venant de Google, des comparateurs de prix et d'autres sites ne fonctionnent plus si rien ne les redirige.
Comment rediriger les anciennes URL en 301 ?
Une redirection 301 indique aux moteurs de recherche que la page a déménagé définitivement et transmet son historique à la nouvelle URL. Étape par étape :
- Listez vos URL actuelles avant le changement : à partir du sitemap, du rapport Performances de Google Search Console et d'un outil d'exploration du site.
- Associez chaque ancienne URL à une nouvelle, une pour une. Ne redirigez pas tout vers la page d'accueil : Google traite cela presque comme une erreur 404.
- Mettez en place les redirections : avec un module qui le fait automatiquement, ou avec des règles serveur (
Redirect 301dans.htaccesssous Apache,return 301sous nginx). Avec des centaines de produits, les règles écrites à la main deviennent vite ingérables. - Mettez à jour les liens internes dans les menus, les pages CMS et les descriptions produits, pour que la boutique n'envoie pas ses visiteurs à travers ses propres redirections.
- Régénérez votre sitemap et soumettez-le dans Search Console. Notre guide sur le sitemap XML de PrestaShop explique comment faire.
- Surveillez le rapport Pages de Search Console et les journaux du serveur, et conservez les redirections longtemps. Pour un déménagement de site, Google recommande de les garder au moins un an (documentation Google).
Les positions peuvent fluctuer légèrement pendant quelques semaines, le temps que Google traite les nouvelles URL. C'est normal après tout changement d'adresses. Profitez-en pour vérifier que les données structurées des produits et du fil d'Ariane pointent vers les nouvelles URL ; notre article sur les étoiles et les prix dans Google aborde ce point.
Questions fréquentes
Supprimer les ID des URL améliore-t-il le classement dans Google ?
À lui seul, généralement peu. L'URL est un signal mineur, même si un lien lisible peut attirer davantage de clics et rend mieux en partage. L'essentiel est que le changement se fasse sans erreurs 404 ni contenus dupliqués.
Puis-je supprimer les ID dans les réglages de PrestaShop, sans module ?
Non. Dans PrestaShop 1.7, 8 et 9, le mot-clé {id} est obligatoire dans chaque format d'URL, et le back-office refuse d'enregistrer un format qui ne le contient pas. Il faut un module ou votre propre override.
Que deviennent mes anciens liens après le changement ?
Si rien ne les redirige, ils renvoient une erreur 404 et Google finit par les retirer de ses résultats. Une redirection 301 de chaque ancienne URL vers la nouvelle préserve votre trafic, les liens venant d'autres sites et les liens des anciens e-mails.
Faut-il retirer la catégorie des URL produits ?
En général, oui. Une URL produit sans catégorie est plus courte et ne change pas quand vous déplacez le produit dans une autre catégorie. Les nouvelles installations de PrestaShop 9 n'incluent d'ailleurs plus la catégorie dans les URL produits par défaut.
Le changement affecte-t-il mon flux produits et mes annonces ?
Votre flux produits reprendra les nouvelles URL à sa prochaine mise à jour. Les anciennes URL de vos annonces continueront de fonctionner grâce aux redirections, mais mieux vaut les mettre à jour, car chaque redirection ajoute une étape au chargement de la page.
Vous prévoyez de changer les URL de votre boutique ? Confiez-nous ce changement en développement PrestaShop ou contactez-nous.