Sur mon site WordPress, j'ai ce format d'URL:
/%category%/%postname%/
Lorsque je crée un nouveau message et que je sélectionne une catégorie parent et une sous-catégorie et que je sélectionne une sous-catégorie par défaut, alors WordPress crée une URL ressemblant à ceci:
/parent-category/sub-category/postname1
Cette URL et la première URL:
/parent-category/postname1
fonctionnent tous les deux correctement et montrent tous les deux ce poste.
Le problème commence lorsque Google dit que l’un d’eux est un message en double.
Maintenant je veux rediriger cette URL
/parent-category/postname1
à cette url
/parent-category/sub-category/postname1
pour tous les articles sur l'ensemble du site et pour les articles à venir.
Personnellement, j'ai arrêté de devenir fou de catégories et les ai même complètement supprimées de mes sites Web. Non seulement ils n’aident pas parce que les gens ne font pas de recherches dans ces listes (mes résultats sur ces listes ont toujours été lamentables) mais, comme vous pouvez le constater, cela crée des doublons. J'ai donc supprimé toutes mes catégories.
En conséquence, mes URL sont simplement:
/%postname%/
Et tout fonctionne comme un charme.
Si vous vous attendez à un très grand nombre de publications (en milliers) sur votre site Web, il peut être utile d’avoir des catégories de premier niveau. Pour les petits sites, c'est un gros gaspillage de toutes sortes de façons.
Oh, et à la suite de la suppression des catégories sur mes sites Web, il semble que j'ai gagné en rang depuis que j'ai plus de traction. Pas beaucoup plus, mais j'ai quand même remarqué.
Je ne connais pas de plug-in pour rediriger des sous-chemins vers le chemin principal. Tels peuvent exister. Bien sûr, il existe des plugins que vous pouvez utiliser pour créer des redirections à la main, mais ce serait vraiment fastidieux.
Notez qu'un nombre important de 301 n'est pas idéal pour un site Web. Vous remarquerez que Google Console les signale comme des erreurs (bien que la nouvelle version de la console ne les marque pas comme des erreurs, mais des avertissements. Cela peut donc être correct si vous ajoutez un seul de ces 301).
Une autre façon pour Google consiste à résoudre le problème de la canonisation de la page. Ainsi, au lieu d’une redirection, vous créez une balise méta canonique qui inclut le chemin souhaité, quelles que soient les sous-catégories. Je ne sais pas trop comment vous contrôlez cela sous WordPress. Je vous suggérerais de tester les différents plugins qui disent qu'ils peuvent créer/corriger votre chemin canonique.
Pour vérifier le contenu canonique, examinez la source de page obtenue et assurez-vous que la balise méta d'en-tête est correcte. Il doit s'agir d'une URL complète (c'est-à-dire comprenant le protocole, le nom de domaine et le chemin d'accès).
Notez que Google vous avertit toujours à propos de ces pages, indiquant qu'il a trouvé page blah avec canonical foo. C'est bien, cependant.