Nous utilisons le plugin RSS (ou des copies manuelles) pour nos articles de blog afin de les créer comme une ancre de discussion dans une catégorie. Google n’apprécie pas ce type de contenu « copié » et menace de nuire à la réputation SEO du blog.
Bien sûr, nous pouvons empêcher Google d’indexer le discourse (ou la catégorie), mais quelqu’un a-t-il de l’expérience pour définir que c’est intentionnel. Quelque chose comme « ce sous-domaine appartient au blog, nous n’essayons pas de créer des fermes de liens » ou quelque chose de ce genre ? Si oui, comment l’implémenter dans les paramètres du discourse.
Je crois me souvenir à peu près qu’avec rel=nofollow ou similaire, cela devrait au moins aborder l’aspect de la ferme de backlinks (pas sûr pour l’aspect contenu dupliqué). Existe-t-il peut-être un en-tête « ceci est une copie de » qui apaise Google ?
La raison pour laquelle j’ai lié la documentation est que je ne suis pas certain du cas d’activation du paramètre embed set canonical url lorsque le paramètre embed truncate est activé. Lorsque embed truncate est activé, seul un extrait de l’article original est réellement disponible pour être exploré par Google sur Discourse. L’article complet est affiché dans un iframe si les utilisateurs cliquent sur le bouton « Afficher le message complet ». Je suis à peu près sûr que le contenu de l’iframe n’est pas exploré par Google. Le premier point de l’article « 5 erreurs courantes » aborde en quelque sorte ce problème.
Merci pour l’indice Simon ! En effet, canonique semble être ce à quoi je pensais. J’ai essayé, mais cela ne fonctionne pas complètement, cela intègre une URL canonique qui pointe vers elle-même, pas vers la source RSS :
Essayez de visualiser le code source de la page, au lieu de la visualiser avec l’inspecteur web de votre navigateur. Je pense que vous verrez que l’URL canonique est définie sur l’URL de l’article RSS lorsque vous visualisez le code source de la page, et définie sur l’URL du sujet Discourse lorsque vous visualisez le HTML avec l’inspecteur web. Si c’est correct, vous ne devriez pas recevoir d’avertissements de contenu dupliqué pour les sujets RSS.
Voici ce que je vois (avec embed set canonical url activé) lorsque je visualise un sujet tiré du flux RSS de Discourse dans mon inspecteur web :
Et voici l’URL canonique lorsque je visualise le code source de la page (en faisant un clic droit sur la page et en sélectionnant “Afficher le code source de la page” dans le menu) :
Je pense que le réglage fonctionne comme prévu en ce qui concerne ce que les robots d’exploration voient, mais cela m’a rendu confus. Le problème semble être que Discourse écrase l’attribut d’URL canonique avec Javascript lorsque la page est visualisée avec Javascript activé. À titre de référence, cela se produit ici :
Je ne pense pas qu’il soit (actuellement) possible de définir le lien mis en avant pour les sujets créés à partir de flux RSS. Je ne suis pas un expert en SEO, mais je ne pense pas que le définir ou ne pas le définir aurait un quelconque effet sur le SEO.
J’ai utilisé curl -i | grep canon et j’ai vu une mauvaise URL de balise (et aucun en-tête), mais je peux réessayer avec un UA différent (ce qui est un peu étrange cependant). J’ai dû recréer les publications plusieurs fois, donc peut-être que j’étais confus. Je mettrai à jour ici.
C’est vrai, le lien mis en avant n’est pas pour le SEO, mais j’avais en interne le souhait de rendre le lien du blog plus visible. Et comme c’est la même URL…
(Mais il semble que j’aie une liste plus longue d’exigences, donc je devrai peut-être forker le rss-poll (malheureusement, il semble que la plupart du travail ne soit pas effectué dans le plugin, cependant). Le code d’intégration est-il également extensible ?
Pour un sujet créé à partir d’un flux RSS, avec l’option embed set canonical url activée, je m’attendrais à ce que curl -i renvoie l’URL de l’élément RSS comme URL canonique. Cela fonctionne lorsque je le teste sur mon site local.
En supposant que vous ayez accès à la console Rails de Discourse, vous pouvez confirmer ce qui se passe en trouvant le sujet, puis en vérifiant sa propriété topic_embed. Par exemple :
t = Topic.find 495
t.topic_embed
ou simplement :
TopicEmbed.find_by(topic_id: 495)
Un TopicEmbed devrait être renvoyé. Son embed_url est ce que Discourse est censé utiliser pour définir l’URL canonique du sujet.
Je me suis posé la question moi-même. Ce serait plus difficile que d’apporter des modifications au plugin RSS, car l’intégration fait partie du code principal de Discourse.