WooCommerce : comment modifier la structure des liens permanents
Publié: 2021-09-28
La structure du permalien WooCommerce peut sembler inhabituelle pour les nouveaux arrivants. Ces parties /product/ et /product-category/ de l'URL sont des caractéristiques distinctives bien connues, mais certains experts ne s'accordent pas à dire que c'est le moyen le plus pratique de gérer les permaliens en termes de référencement.
Une idée populaire est de toujours garder la structure de l'URL aussi simple que possible et d'en supprimer toutes les parties inutiles. Vous n'avez pas à croire ces experts ou moi-même puisque la directive officielle de Google suggère d'éviter les URL longues avec des paramètres inutiles.
Alors, qu'est-ce que cela signifie exactement pour les constructeurs de magasins WooCommerce ?
Tout d'abord, les bases d'URL telles que /shop/ , /product-category/ et /product/ peuvent être considérées comme inutiles car Google sait comment définir les pages de boutique et de produit sans avoir besoin de le spécifier dans l'URL.
Et vous ne voulez probablement pas créer une fausse perception de la profondeur du site pour les robots afin qu'ils n'évaluent pas ces pages plus bas qu'elles ne le devraient. Encore une fois, un précepte bien connu - les pages plus proches du dossier principal (domaine) sont plus significatives pour les moteurs de recherche.
Si vous êtes d'accord avec ces déclarations, il serait utile de comprendre comment repenser la structure du permalien dans WooCommerce. Alors lisez à l'avance pour en savoir plus à ce sujet.
Quelle est la structure de permaliens WooCommerce par défaut ?
Voyons comment les permaliens fonctionnent maintenant et ce que nous pouvons faire pour les rendre plus conviviaux.
Il y a quelques éléments que vous devez vous assurer d'indiquer lors de la création des paramètres de permalien :
- base de la catégorie de produits (qui est /product-category/ par défaut)
- base de balises produit ( /product-tag/ par défaut)
- base de la page produit (peut être /product/ , /shop/ ou toute autre base personnalisée)
Vous n'avez aucun moyen de laisser ces options vides ou d'utiliser la même ( /shop/ , par exemple) pour les deux permaliens. Les bases de produits, de catégories et de balises doivent être uniques pour ne pas provoquer de conflits entre les taxonomies, les publications et les pages.
Ainsi, les URL par défaut des pages de la boutique peuvent être les suivantes :
- Pour les pages de catégorie : site.com/ product-category /category-slug
- Pour les pages de balises : site.com/product-tag/tag-slug
- Pour les pages produits : site.com/product/product-slug
Alors que c'est parfaitement bien pour les pages de balises (vous avez probablement besoin d'une base pour définir la différence entre les catégories et les collections), il peut être redondant d'utiliser ces bases pour les URL des pages de catégories et de produits.
Pourquoi envisager de changer les permaliens par défaut
Parfois, les utilisateurs de WooCommerce demandent instamment de se débarrasser des bases /product-category/ et /product/ ou de manipuler la structure d'URL standard d'une autre manière. Cela se produit pour deux raisons importantes :
- Ils souhaitent voir des URL simples et claires , ce qui peut également bénéficier du point de vue du référencement.
- En cas de passage d'un autre CMS à WP\Woo et souhait de conserver la même structure d'URL
On peut se demander si la suppression de ces parties de l'URL peut améliorer vos résultats de référencement. Mais c'est la raison la plus populaire pour laquelle les gens envisagent même de ruiner la structure de permalien par défaut de WooCommerce.
Il existe quelques sources respectées qui nous expliquent comment structurer les permaliens et pourquoi les URL plus courtes sont meilleures - Facteurs de classement des moteurs de recherche Backlinko (point n ° 10), Moz meilleures pratiques pour la structuration des URL (points n ° 6 et n ° 11).
Si vous démarrez un nouveau site Web, vous pouvez effectuer de telles expériences en toute sécurité et voir comment cela aide votre référencement. Alors que changer les permaliens sur un site Web déjà bien établi pourrait être une affaire risquée. J'expliquerai plus loin mes préoccupations.
En ce qui concerne la modification des permaliens pour qu'ils correspondent aux anciennes URL de votre site Web, cela semble raisonnable et vous laisse plus de chances de ne pas nuire à vos antécédents de référencement.
Comment supprimer /product-category/ et /product/ des permaliens WooCommerce
Les méthodes suivantes peuvent être utilisées en toute sécurité sur de nouveaux sites Web lorsque vous n'avez pas besoin de jouer avec les redirections 301 pour que vos utilisateurs et robots d'exploration sachent que l'URL a été modifiée.
La première chose que vous devez faire est d'aller dans Paramètres WP> Permaliens et faites défiler jusqu'à " Base de catégorie de produits " et écrivez "." (point) comme base personnalisée.
Ensuite, collez cet extrait dans votre fichier functions.php :
add_filter( 'request', function( $vars ) {
global $wpdb;
if( ! empty( $vars['pagename'] ) || ! empty( $vars['category_name'] ) || ! empty( $vars['name'] ) || ! empty( $vars['attachment'] ) ) {
$slug = ! empty( $vars['pagename'] ) ? $vars['pagename'] : ( ! empty( $vars['name'] ) ? $vars['name'] : ( !empty( $vars['category_name'] ) ? $vars['category_name'] : $vars['attachment'] ) );
$exists = $wpdb->get_var( $wpdb->prepare( "SELECT t.term_id FROM $wpdb->terms t LEFT JOIN $wpdb->term_taxonomy tt ON tt.term_id = t.term_id WHERE tt.taxonomy = 'product_cat' AND t.slug = %s" ,array( $slug )));
if( $exists ){
$old_vars = $vars;
$vars = array('product_cat' => $slug );
if ( !empty( $old_vars['paged'] ) || !empty( $old_vars['page'] ) )
$vars['paged'] = ! empty( $old_vars['paged'] ) ? $old_vars['paged'] : $old_vars['page'];
if ( !empty( $old_vars['orderby'] ) )
$vars['orderby'] = $old_vars['orderby'];
if ( !empty( $old_vars['order'] ) )
$vars['order'] = $old_vars['order'];
}
}
return $vars;
});
Ajoutez ensuite un filtre pour supprimer /product/ base de l'URL de la page produit :
function na_remove_slug( $post_link, $post, $leavename ) {
if ( 'product' != $post->post_type || 'publish' != $post->post_status ) {
return $post_link;
}
$post_link = str_replace( '/product/', '/', $post_link );
return $post_link;
}
add_filter( 'post_type_link', 'na_remove_slug', 10, 3 );
function change_slug_struct( $query ) {
if ( ! $query->is_main_query() || 2 != count( $query->query ) || ! isset( $query->query['page'] ) ) {
return;
}
if ( ! empty( $query->query['name'] ) ) {
$query->set( 'post_type', array( 'post', 'product', 'page' ) );
} elseif ( ! empty( $query->query['pagename'] ) && false === strpos( $query->query['pagename'], '/' ) ) {
$query->set( 'post_type', array( 'post', 'product', 'page' ) );
// We also need to set the name query var since redirect_guess_404_permalink() relies on it.
$query->set( 'name', $query->query['pagename'] );
}
}
add_action( 'pre_get_posts', 'change_slug_struct', 99 );
Des extraits ont été extraits de la discussion de ce StackOverflow et semblaient fonctionner correctement pour la plupart des utilisateurs, sauf dans certains cas :

- Les URL traditionnelles répondront avec une erreur 404. Donc, si vous avez déjà indexé ces pages, assurez-vous de créer des redirections 301 vers les pages correspondantes.
- Cela peut ne pas fonctionner avec la pagination ou causer des problèmes avec les filtres, selon le thème et le plugin que vous utilisez.
Comment configurer des règles de permaliens avancées avec des permaliens personnalisés pour WooCommerce
Même si WooCommerce dans sa documentation nous avertit de la suppression de /product/ , /product-category/ ou /shop/ des URL, vous pouvez rechercher l'extension Custom Permaliens for WooCommerce sur leur place de marché officielle. Il vous offre le moyen le plus sûr de modifier les options de permaliens par défaut pour les catégories et les pages de produits.
Quelques variantes de permaliens pour les pages de catégories sont disponibles ici :
Le slug de catégorie seul signifie simplement supprimer la partie /product-category/ de toutes les URL, laissant le domaine + slug de catégorie.
Le chemin complet signifie supprimer /product-category/ et ajouter le slug de catégorie parent (si la catégorie en a un) avant le slug de catégorie correspondant.
Il existe également plusieurs choix pour les pages produits :
Le slug de produit seul supprimera toute partie excessive de l'URL et ne laissera que le domaine + le slug de produit.
Le slug de produit avec le nom de la catégorie créera la version la plus populaire de l'URL du produit : domaine + slug de catégorie + slug de produit .
Le chemin complet fonctionne de la même manière que l'option n ° 2 à une exception près - il développe l'URL avec le slug de catégorie parent si la catégorie de produit native en a un.
Ce plugin élimine les problèmes de pagination et de filtrage, il fonctionne indépendamment de votre thème et vous protège des éventuelles conséquences du crawler.
La seule chose à laquelle il faut faire attention lors de la modification de ces permaliens, ce sont les URL en double. Vérifiez si vous n'avez pas de pages ou de types de publication avec les mêmes slugs que les catégories ou les produits. Si vous en trouvez, assurez-vous de changer ces slugs en uniques pour éviter les doublons.
Comment ajouter des extensions telles que .html aux URL
Honnêtement, je ne sais pas s'il y a des avantages ou des inconvénients à faire cela en termes de référencement. Mais beaucoup de gens le demandent, nous ne pouvons donc pas ignorer ce sujet.
La principale raison pour laquelle vous cherchez peut-être une solution à ce problème est probablement la migration depuis un autre CMS . Si vous décidez de passer d'une autre plate-forme à WooCommerce, vous voudrez peut-être répliquer vos anciennes URL (par exemple celles avec .html à la fin).
Bien sûr, vous pouvez utiliser des redirections 301 pour informer tout le monde de vos nouvelles URL, mais nous remarquons souvent une diminution insignifiante du trafic et des positions SERP après avoir rempli un site Web avec un tas de redirections 301 pendant un certain temps. Cela n'a probablement rien à voir avec les redirections elles-mêmes car, comme le dit Google, ils ne pénalisent plus PageRank pour l'utilisation des redirections.
Mais pour d'autres raisons liées à la migration de contenu, à la nouvelle interface utilisateur et aux risques de liens rompus, vous ne voudrez peut-être pas risquer et essayer de recréer les mêmes URL que vous aviez.
Les permaliens personnalisés pour WooCommerce vous donnent la possibilité d'ajouter n'importe quelle extension à la fin de l'URL, que ce soit .html, .php., .htm ou tout ce dont vous avez besoin :
Comment éviter les problèmes de référencement après avoir changé les permaliens
La partie délicate de la modification des URL concerne les doublons de contenu, les erreurs 404 et les redirections.
Lorsque vous manipulez des URL sur un site Web récemment créé sans aucun historique pour le domaine, le rang de page et les URL dans l'index Google, vous n'avez rien à craindre. Vous pouvez vous sentir libre d'effectuer des expériences et de choisir n'importe quelle combinaison de permaliens que vous aimez.
Mais lorsqu'il s'agit de modifier les permaliens sur un site Web avec un historique et des positions SERP de haut niveau , vous devez vérifier attentivement ces quatre piliers :
- Existe-t-il des pages, des publications, des taxonomies, des types de publication personnalisés ou d'autres entités possibles avec le même slug que les catégories ou les pages de produits ? Si vous en trouvez, envisagez de remplacer les slugs par des slugs uniques pour éviter les conflits.
- Accédez à votre console de recherche Google et vérifiez les pages avec 404 réponses. Si vous trouvez des liens brisés , vous devez analyser le fichier sitemap.xml pour eux ou toute autre page de site Web, où vous pouvez placer manuellement d'anciens liens.
- S'il y a une chance que d'anciennes URL puissent encore être repérées quelque part, assurez-vous d' inclure la balise 'rel=canonical' . Cela est nécessaire pour que les robots sachent quelle page créditer pour le contenu, et Google ne vous punira pas pour avoir créé des doublons.
- N'oubliez en aucun cas les redirections 301. C'est crucial pour les visiteurs du site Web ainsi que pour les crawlers. Après avoir changé les permaliens, les anciens ne seront plus accessibles, donc tout le monde, y compris les robots d'exploration, recevra des erreurs 404 en les visitant. Si vous avez modifié les permaliens avec le script, je vous recommande d'installer le plugin Redirection pour gérer les redirections .
Mais vous pouvez bien dormir : les permaliens personnalisés pour WooCommerce créeront des redirections 301 et 'rel=canonical' pour les anciennes URL une fois que vous aurez modifié la structure des permaliens. Et aussi, en conjonction avec le plugin Yoast, ils généreront un nouveau sitemap en votre nom avec les URL appropriées.
Conclusion
WooCommerce nous avertit des conséquences de la modification des permaliens - ralentissement du site Web et conflits d'URL. Mais étant donné que cette déclaration a été faite il y a longtemps, et depuis lors, ils ont vérifié ce plugin premium qui fait exactement cela, peut-être que WooCommerce a changé d'avis sur la question des permaliens.
Cela aiderait-il votre référencement ?
Eh bien, c'est une question plus complexe. Certains chercheurs disent oui; certains experts en référencement recommandent de réduire le nombre de dossiers dans le chemin d'accès aux produits et aux catégories et de concevoir des URL plus courtes. Mais je vous laisse cette décision. Finalement, il n'y a pas de vérité absolue en matière de référencement.
Et si vous choisissez de tenter le coup, comment le faire en toute sécurité ?
Si vous construisez un nouveau site Web, vous pouvez choisir la méthode que vous préférez - ajouter des extraits de code ou installer le plugin, les deux semblent être sûrs. N'oubliez pas de vérifier si tout est en place dans sitemap.xml et s'il y a des commentaires du côté de la console de recherche Google.
Si vous envisagez des manipulations sur les permaliens sur un site existant, je vous recommande fortement d'utiliser le plugin vérifié. Vous ne voulez probablement pas tenter le destin et gâcher avec des liens brisés, des doublons de contenu ou créer accidentellement une boucle de redirection.
Le plugin peut couvrir tous vos besoins et le support disponible sur WooCommerce.com vous aidera à résoudre les problèmes potentiels. Étant donné que les permaliens sont cruciaux pour le référencement, ce sera un cauchemar de se retrouver seul avec un tel problème.