Besoin d'une méthode pour ajouter "meta robots noindex" dans les sujets d'une catégorie

Suite à la discussion sur SEO pour le contenu mince ou modification des balises méta :

Je rencontre le même problème ici.

J’utilise WP-Discourse et c’est excellent ! Mais pour chaque nouvel article de blog, il crée un sujet avec exactement le même titre dans ma communauté. Deux URLs avec le même titre n’est pas une bonne chose, car cela vole de la pertinence l’un à l’autre dans les résultats de recherche.

Ensuite, les commentaires du sujet sont également affichés sous les articles de blog, ce qui génère du contenu dupliqué (le même contenu sur plusieurs URLs).

Ce sont deux énormes problèmes de SEO, qui pourraient entraîner une pénalité de domaine.

Comment résoudre ce problème ?

La solution serait une simple case à cocher dans la boîte de configuration de la catégorie :

[ ] Masquer les sujets de cette catégorie dans les résultats de recherche.

Lorsque la case est cochée, une balise noindex serait insérée dans l’en-tête de toutes les pages qui y sont liées : la catégorie elle-même, les sujets, la pagination, etc.

<meta name=“robots” content=“noindex, dofollow”>

De cette façon, tout reste accessible aux utilisateurs, mais ignoré par les moteurs de recherche.


Ce qui ne résout pas le problème

Permettez-moi d’anticiper et de répondre à certaines réponses courantes. J’ai vu plusieurs sujets sur ce problème, et ils proposaient tous des solutions qui ne résolvent pas réellement le problème.

Robots.txt

La solution la plus couramment proposée consiste à ajouter une ligne “disallow: /c/category/id” dans le fichier robots.txt. Mais cela ne supprimerait que la catégorie elle-même des résultats de recherche, et non les sujets, qui sont le principal problème ici.

La structure des URLs des sujets est toujours la même, nous ne pouvons donc pas les bloquer en ajoutant simplement une ligne “disavow” dans robots.txt.

Exemple :

Login | HSTS Redirection Community

Sujets non répertoriés

Un sujet non répertorié reste visible pour les moteurs de recherche. Il sera masqué dans les listes de la communauté, mais vous pouvez toujours accéder au sujet si vous avez le lien direct. Et nous devons envoyer les utilisateurs vers les sujets, nous ajoutons donc un lien vers eux dans l’article de blog. Ainsi, les moteurs de recherche trouveront également tous les sujets non répertoriés.

Notez que le fait de mettre une balise nofollow sur ce lien n’empêchera pas Googlebot de l’ignorer : Official Google Webmaster Central Blog: Evolving “nofollow” – new ways to identify the nature of links

En même temps, le fait de ne pas répertorier le sujet entraîne une réduction de l’engagement des utilisateurs, car les utilisateurs ne pourront pas passer d’un sujet à l’autre au sein de la communauté.

Cette idée ne résout donc rien. Elle entraîne une réduction de l’engagement, sans masquer les sujets aux moteurs de recherche.

Exiger une connexion pour voir les sujets de cette catégorie

Lorsqu’un nouvel utilisateur clique sur le bouton de commentaire, il/elle verra un message « Cette page n’existe pas » au lieu du sujet. L’utilisateur pense que quelque chose est cassé et quitte ensuite le site. Donc, pas de commentaires et pas de nouvelle inscription d’utilisateur. Très mauvais pour l’engagement et l’utilisabilité.


En conclusion, il serait très utile d’ajouter cette option à Discourse, ou si quelqu’un pouvait développer un simple plugin.

Cela doit être intégré au cœur du système, sinon Googlebot ignorera le JavaScript.

Les experts en SEO apprécieront grandement !

4 « J'aime »

Cela ne répond pas directement à votre question, mais Discourse propose un nouveau paramètre de site « embed set canonical url » qui pourrait vous aider. Lorsque ce paramètre est activé, l’URL canonique des sujets Discourse créés via le plugin WP Discourse ou via le code d’intégration JavaScript de Discourse est définie sur l’URL de l’article de blog associé.

4 « J'aime »

Cela aide, merci !

Je ne connaissais pas cette nouvelle fonctionnalité.

Une question, cependant :

Je ne suis pas très familier avec le fonctionnement de l’intégration, hormis avec wp-discourse. Si un utilisateur crée un sujet contenant d’autres liens internes, seront-ils définis comme canoniques ?

1 « J'aime »

Non, si un utilisateur crée un sujet en collant une URL dans le champ de titre du compositeur, un lien mis en avant sera créé. Cela ne provoque pas la définition de l’URL du lien mis en avant comme URL canonique.

Lorsque le paramètre du site embed set canonical url est activé, les sujets ayant un topic_embed associé verront leur URL canonique définie sur l’URL du topic_embed. Le code d’intégration JavaScript de Discourse fait cela automatiquement. Cela peut également être réalisé en créant un sujet via l’API et en passant une propriété embed_url. C’est ainsi que fonctionne notre plugin WordPress.

3 « J'aime »

Salut @simon et l’équipe - beau fil de discussion ! Je rencontre le même problème pour ma communauté (https://community.americanradioclub.com/). J’aimerais publier automatiquement sur Discourse, mais pour certains (sinon tous) les articles de WordPress, je veux définir un no-index sur la discussion Discourse afin d’éviter le contenu dupliqué et d’être pénalisé en SEO. Quelqu’un a-t-il trouvé une bonne solution à cela ? Merci !

3 « J'aime »

@James_Cribbs Avez-vous pu résoudre ce problème ?

Il n’y a rien à résoudre. Il n’y a absolument aucune question de référencement. Discourse indique que l’original se trouve dans l’adresse wordpress.

Si quelqu’un veut manipuler SER pour donner deux résultats identiques, tout le contenu doit être différent.

Ce sujet devrait être clos.