Lors de l’audit SEO de notre site, dont une partie est hébergée sur Discourse, il semble que Googlebot consomme une part importante de son budget de crawl sur les flux RSS. Cela se produit alors même que le fichier robots.txt par défaut de Discourse interdit l’accès à ces URLs et que les réponses HTTP pour ces flux RSS incluent un en-tête noindex.
Je me demande s’il existe une méthode propre pour désactiver complètement ces flux RSS sur mon site. Je ne pense pas que beaucoup de personnes les utilisent (je vais essayer de le confirmer). Mais ma question demeure.
Il n’y a pas actuellement de case à cocher pour désactiver ces flux.
Si vous maîtrisez nginx, vous pouvez créer un bloc location correspondant aux fichiers .rss et renvoyant un code 404, puis l’ajouter dans la section appropriée du fichier app.yml.
Google récupère-t-il réellement ces pages ou les URLs apparaissent-elles simplement dans la Google Search Console comme « indexées mais bloquées par robots.txt » ?
Je ne vois pas d’en-têtes noindex sur les flux RSS, mais si une URL est bloquée par robots.txt et possède un en-tête robots, le robot d’exploration pourrait ne jamais voir l’en-tête robots.
[J’ai supprimé la sortie de curl -I, car elle n’utilisait pas GET, donc l’en-tête robots manquait.]
Modification : Je viens de vérifier les flux RSS avec une requête GET, car je pensais que l’en-tête x-robots-noindex était présent sur les flux RSS, et il l’est, mais uniquement avec une requête GET.
Je me souviens maintenant de ce que j’ai fait sur mon forum principal. La Google Search Console alertait sur le fait que les URLs RSS étaient indexées mais bloquées, alors j’ai débloqué les flux via robots.txt, car cela empêche Googlebot de récupérer les URLs et de voir l’en-tête noindex. Je suis assez certain que cela résoudra les alertes, mais je ne sais pas si cela empêchera Googlebot d’explorer ces URLs.
# Disallow: /t/*/*.rss
# Disallow: /c/*.rss
Je m’inquiéterais un peu d’indiquer aux robots d’exploration qu’il existe des flux RSS (avec link, voir ci-dessous) puis de renvoyer des erreurs 404 lorsque les bots tentent de récupérer ces URLs. Cela pourrait amener un système à penser qu’il y a un problème technique avec le site, ce qui abaisserait son score de qualité (peu importe la manière dont les moteurs de recherche déterminent la qualité ou si un site pourrait être dysfonctionnel pour les utilisateurs).
Oui, je ne suis pas fan de la solution 404. Cela semble pouvoir envoyer un mauvais signal à Google et c’est aussi une méthode assez brutale pour obtenir ce que je veux. Ce que je souhaite vraiment, c’est que les liens ne soient pas sur la page, et non pas qu’ils soient des liens brisés.
Pour répondre à votre question, les flux RSS apparaissent comme « Exclus par la balise ‘noindex’ » dans la Search Console. Il n’est pas clair si cela signifie que Google a passé du temps à les récupérer avant de les exclure, ou s’ils ont été exclus avant la récupération, auquel cas l’impact sur le budget de crawl est probablement moindre.
Il se peut que vous trouviez des informations sur le nombre d’URL RSS qu’ils récupèrent dans les journaux nginx. Je viens de vérifier les miens : Googlebot parcourt les flux RSS, mais c’est moi qui le leur ai demandé, car je les ai débloqués dans le fichier robots.txt.