クローラーのスロットリングの処理

クローラーのスロットリングがどのように実装されているかについて一般的な質問があります。

Reduce Google Crawl Rate | Google Search Central  |  Documentation  |  Google for Developers によると、推奨されるHTTPステータスは429(リクエストが多すぎます)または503(サイトが利用できません)です。

しかし、ソースコードを読み進めると、スロットリングはエラーをスローすることで実装されているようです。discourse/lib/rate_limiter.rb at 85fddf58bc1e751d0ac5b8192a630c59a34aed7d · discourse/discourse · GitHub

私のRuby on Railsの経験は遠い昔のことですが、これは一般的な505を発生させるのではないかと推測しています。

GoogleクローラーはDiscourseのスロットリングを完全に理解しておらず、Google Search Consoleでは、スロットリングが実装された後、インデックス作成、したがってインプレッションが大幅に減少していることがわかりますが、これはスロットリングのためではなく、5xxサーバーエラーのためです。

インスタンスのスロットリングは、トラフィックが多すぎる場合に必要になることがあることは理解していますが、DiscourseがHTTP 429を報告するのではなく、クローラーに505内部サーバーエラーを返すことを期待していました。

「いいね!」 1

お探しのものはこれだと思います。

これは、ステータスコードを設定する「グローバル」コントローラーのrescueです。

「いいね!」 1

ありがとうございます。安心しましたが、スロットリングが実装された瞬間に5xxエラーが発生しているとGoogle Search Consoleが報告している理由を完全には説明していません。

ディスコースのsitemap.xmlを取得できなかったとさえ報告しています。

特に sitemap.xml のスロットリングは問題があるようです。

それがカバレッジのギャップの原因だと推測します。Google が 429 を 5xx と誤報告した可能性も考えられます。

「いいね!」 1