hhunter
(Hugh Hunter)
1
こんにちは、
当サイトのSEO監査を行っている際、Discourseで運用されている一部において、GooglebotがRSSフィードに相当量のクロール予算を費やしていることが判明しました。これは、Discourseのデフォルトのrobots.txtファイルがこれらのURLを禁止しているにもかかわらず、またこれらのRSS URLのHTTPレスポンスにnoindexヘッダーが送信されているにもかかわらずです。
RSSフィードをサイト全体で非ハック的な方法で完全に無効化できるかどうか知りたいです。多くの人が利用しているとは思いませんが(確認を試みます)、それでもこの質問は残ります。
ご助力いただければ幸いです!
–Hugh
「いいね!」 1
Falco
(Falco)
2
現在、これらのフィードを無効化するチェックボックスはありません。
nginxの操作方法に慣れている場合は、.rssに一致し、404を返すlocationブロックを作成し、適切なapp.ymlセクションに記述してください。
「いいね!」 1
IAmGav
(Gavin Perch)
3
404 を送信するのは、SEO にとってさらに悪影響ではないでしょうか?
「いいね!」 2
nginx を使ってブロックするのはどうでしょうか?
j127
5
Google は実際にそれらのページを取得しているのでしょうか、それとも Google サーチコンソールに「インデックスに登録されているが robots.txt によってブロックされている」として URL が表示されているだけなのでしょうか?
RSS フィードに noindex ヘッダーは存在しないようですが、URL が robots.txt によってブロックされており robots ヘッダーを持っている場合、クローラーがその robots ヘッダーを認識しない可能性があります。
[curl -I の出力を削除しました。GET リクエストを使用していなかったため、robots ヘッダーが含まれていなかったからです。]
編集: RSS フィードに x-robots-noindex ヘッダーがあると思い込んで GET リクエストで確認しましたが、確かに存在していました。ただし、GET リクエストでのみ有効です。
これで、私のメインフォーラムで行ったことを思い出しました。Google サーチコンソールが RSS URL について「インデックスに登録されているがブロックされている」と警告していたため、robots.txt でフィードのブロックを解除しました。これにより、Googlebot が URL を取得して noindex ヘッダーを確認するのを防げるからです。これで警告は解消されると思いますが、Googlebot がこれらの URL をクロールするのを完全に止めることができるかどうかはわかりません。
# Disallow: /t/*/*.rss
# Disallow: /c/*.rss
link 属性(以下参照)で RSS フィードがあることをクローラーに伝えながら、ボットがそれらの URL を取得しようとした際に 404 を返すのは少し心配です。これにより、機械がサイトに技術的な問題があると判断し、品質スコアが低下する可能性があります(検索エンジンが品質やユーザーにとってサイトが破損しているかどうかをどのように判断するかは別として)。
$ curl -s https://meta.discourse.org/latest | grep -i rss
<link rel="alternate" type="application/rss+xml" title="Latest posts" href="https://meta.discourse.org/posts.rss" />
<link rel="alternate" type="application/rss+xml" title="Latest topics" href="https://meta.discourse.org/latest.rss" />
...
「いいね!」 1
hhunter
(Hugh Hunter)
6
はい、404 対応には賛成できません。Google に誤ったシグナルを送ってしまう可能性もあり、目的を達成するにはかなり乱暴な方法です。本当に必要なのは、ページ上にリンクが存在しない状態で、リンクが切れた状態になることではありません。
ご質問についてですが、Search Console では RSS フィードが「‘noindex’ タグにより除外済み」と表示されています。これは、Google が取得に時間を費やした後に除外したのか、それとも取得前に除外されたのかは不明です。後者の場合、クロール予算への影響は小さい可能性があります。
j127
7
nginxログには、何件のRSS URLを取得しているかに関する情報が含まれている可能性があります。私も確認しましたが、GooglebotがRSSフィードをクロールしていました。robots.txtからブロックを解除したため、あえてそう指示しました。