サイトのクローラー制御

:bookmark: このガイドでは、Discourseサイトでのウェブクローラーの管理方法について説明します。

:person_raising_hand: 必要なユーザーレベル:管理者

ウェブクローラーは、ページビュー数とサーバー負荷を増加させることで、サイトのパフォーマンスに大きな影響を与える可能性があります。

サイトでページビュー数の急増に気づいた場合、ウェブクローラーがどのように影響しているかを確認することが重要です。


クローラーのアクティビティを確認する

クローラーがサイトに影響を与えているかどうかを確認するには、管理者ダッシュボードから統合ページビューレポート(/admin/reports/consolidated_page_views)に移動します。このレポートは、ログインユーザー、匿名ユーザー、クローラーからのページビュー数を内訳表示します。

クローラーが正常に機能しているサイト:

クローラーが制御不能なサイト:

特定のクローラーを特定する

ウェブクローラーユーザーエージェントレポート(/admin/reports/web_crawlers)に移動すると、ページビュー数でソートされたウェブクローラー名のリストが表示されます。

問題のあるウェブクローラーがサイトにアクセスすると、そのページビュー数は他のウェブクローラーよりもはるかに高くなります。同時に、多数の悪意のあるウェブクローラーが動作している可能性があることに注意してください。

クローラーのブロックと制限

Google、Bing、Baidu(中国)、Yandex(ロシア)、Naver(韓国)、DuckDuckGo、Yahooなどの主要な検索エンジンのクローラーを、お住まいの国に基づいてブロックしないことは良い習慣です。

ウェブクローラーが制御不能になった場合、同じクローラーが他のサイトにもアクセスしており、誰かがすでにそれに関する情報を提供したり、レポートを作成したりしている可能性が高いです。これは、その特定のクローラーを制限またはブロックするかどうかを理解するのに役立ちます。

サードパーティのサービスを使用してサイトを監視したり、スクリプトなどを介してサイトに機能を追加したりする場合、一部のクローラーが大量のページビューに寄与する可能性があることに注意してください。

信頼できないウェブクローラーの記録を取得するには、このリストを参照してください:https://github.com/mitchellkrogza/apache-ultimate-bad-bot-blocker/blob/master/robots.txt/robots.txt

クローラー設定の調整

管理者 > 設定の下には、特定のクローラーのレート制限に役立つ設定がいくつかあります。

  • クローラーの速度を落とす

    • slow down crawler user agents
    • slow down crawler rate
  • クローラーをブロックする

    • blocked crawler user agents

制御したいクローラーの正確なユーザーエージェント名を知っていることを確認してください。上記の設定を調整しても、そのエージェントのページビュー数の減少が見られない場合は、正しい名前を使用しているかどうかを再確認してください。

どうすればよいかわからない場合は、常に完全なブロックではなく、「速度を落とす」オプションから始めてください。時間とともに改善が見られるか確認してください。顕著な結果が見られない場合は、完全なブロックに進むことができます。

「いいね!」 17

これは、うまく動作するものにのみ有効であるという免責事項を記載すべきでしょうか?また、Gmailからのリンク経由で届いた場合、Googleはそれらをすべてバイパスします。

どちらもサーバー側で強制されます。

ただし、悪意のあるボットがヘッダーを偽装してChromeや他の何かに成りすます場合、ヘッダーを使用してそれを検出することはできません…

「いいね!」 2

killer fact: プレビューカードはページビューとしてカウントされます!

私が管理しているサーバーは、http.rb/5.1.0 (Mastodon/4.0.2; + [https://mstdn.science/](https://mstdn.science/)) の形式のプレビューカードリクエストで過負荷になっているようです。

Mastodonの投稿者に、画像を含めてプレビューカードが自動的に追加されないように指示すること以外に、講じられる措置はないと思います。

「いいね!」 1

クローラーが1日1500件以上もあります。:tired_face: Cloudflare DNSですべてブロックできますか?それとも、すべて強制的にブロックするにはどのオプションが必要ですか?(プライベートインスタンス)

単純にそれらが欲しくないのです。

リバースプロキシとして Nginx を使用し、不要なユーザーエージェントを停止します。これは非常に役立ちます。必要のない国からのアクセスをブロックすることも、かなりの助けになります。

米国、フランス、ドイツ(大規模な VPS 国)はブロックできませんが、ロシア、ベトナム、イラン、イラクなどは私にとってかなりの助けとなりました。

しかし、Discourse は非常に… 堅牢(resilient)という言葉が適切でしょうか。状況は、あの無駄な SEO ボット、ノッカー、スクリプトキディ、悪意のあるアクターが簡単にサーバーをダウンさせることができる WordPress とは全く異なります。

「いいね!」 2

Hetzner Germanyでホスティングしており、ファイアウォールで開いているポートは2つ(80/443)だけです。そして、DiscourseはNGINXプロキシマネージャーの後ろで実行されています(確かに、より良い解決策はありますが、私はコーディングが苦手で、Webフロントエンドが好きです)。

今、私はホワイトリスト方式を採用しており、許可されるエントリはランダムな文字列のみです…これからは、ページビューはもうありません :smiley:

「クローラーのユーザーエージェントを遅くする」に具体的に何を入力すべきかについての質問です。
私たちにとって、Facebookが主な原因であり、Bingがそれに次ぐ3位です。
レポートによると、ページビューを大量に消費している主なクローラーは次のエージェントです。

「クローラーのユーザーエージェントを遅くする」には、具体的に何を入力すべきでしょうか?「https」または「http」を含むこれらの正確なURLですか?それともダブルスラッシュ以降のすべてですか?それ以外ですか?それとも試行錯誤で進めるべきでしょうか?

よろしくお願いします!

話を簡単にするために、それらのボットの名前を使用してください。ただし、ユーザーエージェント文字列のどの部分を使用しても構いませんが、意図した以上に影響を与えないように注意してください。

ボットの速度を落とすことは非常に信頼性の低い方法ですが、そのルールに従うものもあります。しかし、それらはあなたの共有などから来ており、それほど多くのワークロードを作成しません。WordPressは別の話になるでしょう。

しかし、これはブロックされたボットのリストの一部です。そこから要点を把握してください。

「いいね!」 1

@Jagster、ありがとうございます。大変参考になりました。時にはいたちごっこ(whack-a-mole)のように感じますが、クローラー名全体ではなく、その一部を使用するという考え方は理解できました。

サイト管理者としては、まだ作業中の部分ですが、進んでいきます!

「いいね!」 1

Googlebotには予算があり、サイトマップがリンクを見つける最も重要な方法である場合、日次/週次/月次予算が使用されると、内部リンクに到達することはありません。

フォーラムでは、内部リンクはGoogleにとってではなく、ユーザーにとって重要です。

しかし、Googlebotが内部リンクを見ているかどうかはわかりません。見ているはずですが。

「いいね!」 1