Suppression des liens /2, /3, /4, etc. pour chaque réponse dans une URL de sujet

Je me demande s’il existe un moyen de supprimer complètement les liens canoniques d’un forum Discourse.

Je fais référence aux extensions /2, /3, /4, etc. qui apparaissent pour chaque URL de sujet lorsqu’un utilisateur fait défiler la page. Je voudrais que chaque réponse au sein d’un sujet se réfère simplement à l’URL d’origine (sans rediriger les visiteurs vers l’URL d’origine, mais en supprimant complètement ces chemins, de sorte qu’ils n’existent pas).

À l’origine, je pensais que c’était une fonctionnalité intéressante de Discourse, mais comme j’utilise un forum similaire sur mon site depuis un an avec NodeBB (qui utilise la même fonctionnalité de lien canonique pour chaque réponse), nous avons découvert que cette fonctionnalité peut être catastrophique pour le référencement d’un forum public.

Pourquoi ? Parce que même si ces URL /2, /3, /4 sont des liens canoniques, Google finira par les explorer et les indexer toutes. Cela signifie que chaque nouvelle réponse au sein d’un sujet peut apparaître dans les résultats de recherche Google, et comme il s’agit essentiellement de versions dupliquées de l’URL du sujet d’origine, ces pages indexées supplémentaires reçoivent rarement des visites et, lorsqu’elles en reçoivent, les visiteurs ne restent pas sur le site plus de quelques secondes.

Lorsque Google indexe un grand nombre de pages supplémentaires et que ces pages ne génèrent pas beaucoup d’activité, cela indique à Google que le domaine dans son ensemble possède de nombreuses URL de faible qualité et cela nuit à la santé globale du domaine (comme ce fut le cas pour nous). Nous avons perdu environ 40 % de notre trafic depuis le lancement de notre forum public, et un facteur important y a contribué : ces URL supplémentaires (plus de 30 000 URL de faible qualité ont été ajoutées à notre sitemap sur une période de 12 mois, simplement à cause des réponses laissées dans chaque sujet).

Maintenant, si vous gérez un forum privé, rien de tout cela n’a d’importance, car un forum privé ne bénéficie d’aucun type de référencement puisque l’ensemble du forum est caché de l’internet de toute façon. Mais si VOUS essayez de gérer un forum public et que votre objectif est de capter du trafic de recherche organique, ces chaînes d’URL supplémentaires peuvent avoir un énorme impact négatif sur la santé globale de votre site.

Je me demande donc s’il existe un moyen concevable de modifier les paramètres ou de créer un plugin qui indiquerait à un forum Discourse de NE PAS créer ces URL supplémentaires pour chaque réponse au sein d’un sujet.

J’envisage de migrer notre forum de NodeBB vers Discourse, mais cela n’aura de sens que s’il existe un moyen de faire en sorte que notre forum Discourse ne crée PAS ces URL supplémentaires.

3 « J'aime »

Cela est déjà apparu un peu auparavant : Google indexing same page multiple times: Issue with canonicals

comment avez-vous pu déterminer que c’était un contributeur important ? de nombreux articles de SEO publiés ici ont été assez spéculatifs, donc des preuves concrètes font une grande différence !

Je n’ai aucune expérience avec ce plugin et je ne peux pas le cautionner personnellement, mais quelqu’un a déjà tenté de désactiver complètement les liens canoniques avec un plugin : Remove Canonical Link Plugin

7 « J'aime »

Ceci est déjà apparu un peu auparavant : Google indexe la même page plusieurs fois : Problème avec les canoniques

Si je suis correctement cette conversation, cela semble faire référence à un problème légèrement différent de ce dont je parle ci-dessus. Ce n’est pas un problème de créer plusieurs URL canoniques pour un sujet si elles sont regroupées par 20 réponses à la fois et ont des descriptions méta uniques (page=2, page=3, etc.). Le problème est lorsqu’une nouvelle URL est créée pour chaque réponse individuelle dans un sujet (/2, /3, /4, etc.).

Pour un sujet de 100 réponses, le premier cas entraînerait 5 URL par sujet (100 réponses regroupées en multiples de 20). Le second cas entraînerait 100 URL par sujet (une URL nouvelle et individuelle pour chaque réponse), ce qui crée un gros problème de SEO.

Comment avez-vous pu déterminer que cela contribuait de manière significative ? De nombreux articles sur le SEO publiés ici ont été assez spéculatifs, donc des preuves concrètes font beaucoup !

Avec des outils comme Google Search Console, SEMrush et Ahrefs. Tous ont mis en évidence des avertissements et des erreurs résultant du nombre massif d’URL sur notre site qui étaient créées par ces réponses de forum, toutes étant indexées par Google sans fournir de contenu nouveau substantiel. Les scores de santé étaient dans les 30 et 40 lorsque notre forum était public. Une fois que nous avons verrouillé l’intégralité de notre forum et l’avons rendu privé (afin que Google ne puisse pas le voir) et réexécuté les tests, notre score de santé est passé à plus de 80 rien qu’avec ce changement.

Je n’ai aucune expérience avec ce plugin et je ne peux pas le cautionner personnellement, mais quelqu’un a tenté de désactiver complètement les liens canoniques avec un plugin auparavant : Remove Canonical Link Plugin

J’ai trouvé cela aussi. Malheureusement, ce plugin aggrave la situation, car il supprime simplement les balises canoniques tout en conservant les pages /2, /3, etc., de sorte que ces URL supplémentaires sont toujours considérées comme du contenu dupliqué de faible qualité.

3 « J'aime »

Il convient de noter que l’ajout d’un en-tête X-Robots-Tag: noindex à la charge utile de réponse de ces pages fait partie de notre feuille de route.

10 « J'aime »

Bon à savoir. Cela semble être un grand pas dans la bonne direction.

Pour ce que ça vaut, nous avons en fait vu des cas dans notre forum actuel (quand il était encore public) où nous avions ajouté le fichier robots.txt à certains sous-dossiers de notre forum, et Google les explorait quand même. Je crois que c’est très irrégulier… mais nous avons découvert qu’il y a des cas où Google ne suit pas cette directive. La seule façon d’être sûr à 100% qu’une page n’est pas indexée est que la page soit cachée derrière un écran de connexion ou que la page n’existe pas du tout.

D’un point de vue extérieur, il semble simple de dire à Discourse de ne pas faire d’efforts supplémentaires pour créer ces URL supplémentaires pour chaque réponse. Le logiciel ferait moins de travail et créerait moins de complexité de cette façon, n’est-ce pas ?

Ce serait bien d’avoir une fonctionnalité dans les paramètres d’administration pour simplement désactiver complètement ces URL supplémentaires.

1 « J'aime »

Oui, de cette façon, nous utiliserons la balise d’en-tête au lieu de les mettre dans le fichier robots.txt.

3 « J'aime »

Je ne suis pas sûr de comprendre ce qui se passe ici.

Parce que Discourse fait la première chose : il crée des balises méta d’URL canoniques ?page=X pour des groupes de 20 réponses. Et comme vous pouvez le voir ici, les numéros de publication ne sont jamais ajoutés aux URL du sitemap, seules les URL ?page=X le sont.

Donc, j’allais vous dire qu’il n’y a pas de problème.

Mais ensuite, j’ai fait une recherche Google pour un sujet avec de nombreuses réponses et bien que la page 2 de ces résultats de recherche soit remplie de liens ?page=X, certains des meilleurs résultats renvoient en fait à ces réponses numérotées.

Mais pourquoi cela se produit-il ? Cette page a une URL canonique correcte.

rgj@labgate:~$ wget -q -O - "https://meta.discourse.org/t/babble-a-chat-plugin/87297/418"|grep -e "<title" -e canonical
<title>Babble - A Chat Plugin - #418 by HAWK - broken-plugin - Discourse Meta</title>
<link rel="canonical" href="https://meta.discourse.org/t/babble-a-chat-plugin/87297?page=20" />

3 « J'aime »

Je ne sais pas.

Ma supposition est que ces liens apparaissent ailleurs sur le web, donc ce sont ceux qui sont indexés ?

1 « J'aime »

Le canon sert à empêcher que cela ne se produise. Du moins, en théorie.

4 « J'aime »

J’ai eu une longue discussion à ce sujet avec une communauté axée sur les blogs ici au Brésil qui utilise Discourse, et c’est ce qui m’a poussé à essayer cette nouvelle approche en envoyant l’en-tête noindex pour ces pages spécifiques aux articles. Je devrais être en mesure de nettoyer et de fusionner la PR pour cela la semaine prochaine et nous pourrons commencer à l’expérimenter.

7 « J'aime »

Mais pourquoi cela se produit-il ? Cette page a une URL canonique correcte.

Exactement. Cela ne devrait pas se produire (en théorie), mais cela arrive, et comme nous l’avons expérimenté avec notre site, cela nuit réellement à la note de santé d’un domaine, ce qui peut avoir un impact négatif majeur sur le classement de recherche de l’ensemble du domaine.

Concernant ce que @pfaffman a dit,

Ma supposition la plus folle est que ces liens apparaissent ailleurs sur le web, donc ce sont ceux qui sont indexés ?

Ce serait aussi ma pensée… mais nous avons vu que des dizaines de milliers de ces réponses individuelles sur notre site étaient indexées par Google, même si absolument rien n’y faisait référence. C’est assez bizarre et je ne peux pas prétendre comprendre pourquoi/comment cela se produit, mais cela souligne la nécessité pour un administrateur de forum d’avoir simplement la possibilité de désactiver ces URL /2, /3, /4, etc. pour chaque réponse s’il le souhaite.

Je suis curieux, est-il difficile de donner cette capacité à Discourse ? De mon point de vue de non-codeur, cela semble facile car il suffit de dire au logiciel de ne pas faire autant de travail… mais il y a peut-être quelque chose de plus que je ne comprends pas ?

2 « J'aime »

Je ne suis pas sûr, mais l’utilisation de noindex sur ceux-ci pourrait être nuisible. Discourse s’en charge déjà correctement en utilisant des URL canoniques.

Si vous les mettez en noindex, il y a une chance que cela indexe la page entière (car elles ont toutes la même URL canonique), ce qui serait désastreux. Je ne sais pas avec certitude ce qui se passera, mais je serais extrêmement prudent, car Google gère souvent les cas limites de manière imprévisible, et la façon dont il les gère peut changer avec les mises à jour. J’ai vu des choses étranges se produire avec les balises canoniques.

On ne sait pas exactement comment fonctionne l’algorithme de classement, et il évolue avec le temps, mais une autre chose à considérer est que les classements sont le résultat des liens entrants. Si un site externe pointe vers une URL /number, et que cette URL renvoie un en-tête noindex, on peut concevoir que Google ne transfère pas le « jus de lien » entrant à l’URL canonique, ce qui pourrait être préjudiciable au classement de recherche des sites Discourse.

Je pense qu’il serait beaucoup plus sûr de contacter quelqu’un de Google Search et de lui faire savoir que la balise canonique ne fonctionne pas pour un CMS largement utilisé, plutôt que d’essayer de trouver une solution de contournement qui pourrait ne pas être gérée de la même manière que Google publie davantage de mises à jour.

6 « J'aime »

Non, cela souligne la nécessité de réparer les choses. En tant qu’ingénieur logiciel, je trouve très difficile de supprimer des fonctionnalités parce qu’elles ne fonctionnent pas à 100% correctement. Voyons si nous pouvons aider et aller au fond des choses à la place.

Êtes-vous sûr de cela ? Je n’ai jamais vu de numéro de post dans un sitemap.

3 « J'aime »

C’est pourquoi ce sera sous un paramètre du site.

5 « J'aime »

Merci de votre question. « Sitemap » était probablement le mauvais terme à utiliser. Ce que je voulais dire, c’est que ces publications numérotées étaient explorées et indexées par Google et apparaissaient comme des pages individuelles dans Google Analytics et Search Console, ce qui entraînait un GRAND nombre de pages de faible qualité sur notre domaine.

Si ces numéros n’étaient tout simplement pas ajoutés à chaque réponse, Google ne pourrait voir que l’URL de la publication d’origine.

2 « J'aime »

Ouais, et si Google respectait ces balises méta rel="canonical" (qu’ils ont inventées !) qui ont été mises là spécifiquement pour empêcher Google de faire ça, ce ne serait pas un problème et nous pourrions toujours lier à un message spécifique en même temps.

7 « J'aime »

Ça me semble bien. Ce serait idéal si c’était désactivé par défaut, car il n’est pas inconcevable que cela puisse faire disparaître des pages de sujets de Google ou d’autres moteurs de recherche.

Je ne sais pas si cela a déjà été mentionné, mais une autre façon de le résoudre sans noindex pourrait être d’utiliser des fragments d’URL pour les publications, car ceux-ci ne devraient pas être comptés comme des pages distinctes.

/t/slug/id#13
5 « J'aime »

Merci pour la suggestion. J’aimerais penser que cela fonctionnerait… mais étant donné que la méthode originale « correcte » ne fonctionne même pas, je suis sceptique quant à savoir si quoi que ce soit résoudra le problème, à part simplement éliminer les réponses numérotées.

Bien sûr, je ne dis pas que TOUS les utilisateurs de Discourse devraient arrêter de les utiliser. Bon sang, si ce n’était pas pour le fait que Google est stupide (et/ou si nous avions l’intention que notre forum soit privé et non public), je serais tout à fait pour… mais le simple fait d’avoir la possibilité de désactiver la numérotation automatique des réponses serait d’une aide énorme pour ceux qui gèrent des forums publics et se soucient de la santé globale du référencement de leur domaine.

1 « J'aime »

Cela supprimerait la possibilité de lier à des messages spécifiques. Il n’y aurait aucun moyen de lier au message n° 789 dans un sujet de 1 000 messages, et ce serait ennuyeux pour les utilisateurs d’avoir à faire défiler autant.

C’est étrange. J’ai cherché sur Google pour voir si les URL d’ID de message étaient indexées sur mes forums, et seules les URL canoniques apparaissent sur tous les sujets que j’ai vérifiés.

Je le vois sur un autre grand site Discourse. Il apparaît également sur ce sujet. [Requête Google]

J’ai exécuté une comparaison des deux réponses comme ceci :

curl -s https://meta.discourse.org/t/removing-the-2-3-4-etc-links-for-each-reply-within-a-topic-url/209648 > 1.html
curl -s https://meta.discourse.org/t/removing-the-2-3-4-etc-links-for-each-reply-within-a-topic-url/209648/8 > 2.html
nvim -d 1.html 2.html

Une différence notable est que article:published_time est différent alors qu’il devrait probablement être le même, car les pages sont par ailleurs presque identiques. Je me demande si cette balise meta pourrait amener Google à ignorer l’URL canonique. Un employé de Google dit que les URL canoniques peuvent être ignorées dans certains cas sur ici.

<meta property="article:published_time" content="2021-11-19T15:57:21+00:00" />
<meta property="article:published_time" content="2021-11-20T06:48:06+00:00" />

De plus, la balise ignore_canonical est-elle unique à Discourse ou y a-t-il une chance que Google la suive ? Je l’ai vue dans le HTML.

<meta property="og:ignore_canonical" content="true" />
3 « J'aime »

Ce serait un peu plus ennuyeux, mais si les URL page=2, page=3, etc. fonctionnaient toujours (ce qui ne crée pas vraiment de problème de SEO comme le font les réponses numérotées), vous pourriez au moins lier une personne à la bonne page dans une conversation. Cela la rapprocherait de la destination, à condition qu’elle soit disposée à faire défiler un peu.

Un forum qui fonctionne de cette manière est BiggerPockets. Leurs réponses n’ont pas d’URL numérotées individuellement, mais les sujets ont des pages numérotées, comme ceci : Kids throwing rocks at windows nearly everyday. Won't stop. (notez l’URL en faisant défiler chaque sujet et chaque page).

Leur forum a toujours été une composante majeure de ce qui rend le site si spécial et performant en termes de SEO, c’est donc un très bon exemple de ce qui fonctionne.

Intéressant. Je n’ai aucune idée si cela cause le problème ou non, mais je peux voir comment l’incohérence pourrait confondre Google au point d’ignorer l’URL canonique.

Même ainsi, compte tenu de la nature du fonctionnement des forums, à moins que vous ne vouliez supprimer complètement les dates et les chronologies de chaque sujet, vous ne pourriez pas éliminer cela, n’est-ce pas ? La prise en compte des dates et des heures de chaque publication et réponse fait en quelque sorte partie intégrante du fonctionnement des forums.

1 « J'aime »