SereneReader Bot
フィードフェッチャーの動作、識別方法、およびアクセスを拒否する方法。
SereneReader とは
SereneReader はフィードリーダーです。誰かがあなたの RSS または Atom フィードを購読すると、サーバーが代わりにフィードを取得し、新しい記事を表示します。
フィードエントリに画像がない場合、プレビュー画像のog:imageタグを読み取るために記事ページを一度取得します。また、サイドバー用にサイトのアイコンも取得します。
User-Agent
サーバーからのすべてのリクエストは、次の文字列で識別されます:
SereneReader/1.0 (+https://serenereader.com/bot)取得するもの
- 購読されたフィード URL。
- 画像のないエントリの記事ページ。通常は各1回、og:imageタグを探すために最大1MBのHTMLを読み取ります。
- サイトのアイコン:フィードで宣言されているもの、/favicon.ico、/apple-touch-icon.png、または/apple-touch-icon-precomposed.png。
当社はサイトをクロールしたり、記事ページのリンクをたどったりしません。購読中のフィードを除き、サインイン済みの読者がDiscoverカタログのフィードをプレビューする際(記事が保存されていない場合)、およびカタログへの追加前にフィードを確認する際に取得します。
取得頻度
フィードは定期的に更新されます。サーバーが ETag または Last-Modified ヘッダーを返す場合、次回の更新時に If-None-Match または If-Modified-Since を送信します。フィードに変更がなければ 304 が返るだけで、本文の転送は発生しません。
記事ページはプレビュー画像のために通常1回取得します。404などの永続的なエラーは30日間記録されます。タイムアウトや500エラーなど一時的なエラーは、約30秒、1分、2分間隔で最大3回再試行され、その後少なくとも1時間はページへのアクセスを控えます。
429または503が返された場合、アクセスを控えます。フィードの場合、取得に失敗するたびに次の試行を先延ばしにし、15分から始めて最大1日まで倍増します。429の場合はRetry-Afterヘッダーの指定時間以上待ちます。記事ページの場合、429または503は一時的なエラーとして扱い、約3分半の間に最大3回再試行します。その後はRetry-Afterの指定(最大7日間)待ちます。指定がない場合は7日間待ちます。
robots.txt
スケジュールされたフェッチャーが記事ページやサイトアイコンをリクエストする前に、robots.txtを読み取り、User-agent: SereneReaderのDisallowルールとcrawl-delayに従います。該当がない場合は*グループにフォールバックします。フィードを初めて追加する際のアイコンリクエストはrobots.txtを確認しません。
フィードURLは異なる扱いです。フィードは購読した読者の代わりに取得されるため、GoogleのFeedfetcherと同様に扱います。*グループのDisallowルールはフィードには適用されません。フィードパスを禁止するUser-agent: SereneReaderグループは、初回追加時も含めて尊重されます。スケジュールされたフェッチャーはフィードのcrawl-delayも尊重し、リクエスト間隔は最大60秒です(60秒を超える遅延は60秒として扱います)。フィード初回追加時の一度限りの取得と、Discoverカタログ追加前の確認はcrawl-delayを待ちません。
サーバーエラーにより robots.txt にアクセスできない場合、取得を許可しているものとして扱います。購読はユーザーによる明示的な同意であり、不安定な robots.txt がフィードの配信を妨げるべきではありません。
ブロックする方法
サーバーまたはファイアウォールで上記の User-Agent をブロック・レート制限するか、robots.txt でボット名を指定したグループを使ってアクセスを拒否してください。すべてのボットを対象としたルールではフィードの取得は止まりません。以下のように指定することで対応できます:
User-agent: SereneReader
Disallow: /フィード URL をブロックすると、特定のリーダーだけでなく、購読しているすべてのユーザーの更新が停止します。
リクエスト署名
リクエストはWeb Bot Auth(HTTPメッセージ署名、RFC 9421)で署名されており、当社からのリクエストであることを確認できます。公開鍵は以下で公開されています:
https://serenereader.com/.well-known/http-message-signatures-directory送信元IPアドレス
スケジュールされたフィード更新、Discoverプレビュー、プレビュー画像の取得はこれらの固定アドレスから行われます。一部のリクエストは別のアドレスから送られます。フィード初回追加時のフィード確認とアイコン取得はウェブサーバーから、Discoverカタログ追加前の確認は管理ツールから行われ、ステージング環境は同じUser-Agentでリクエストを送信します。IPアドレスのみによる許可リストでは、これらのリクエストが拒否されます。
162.220.234.241
152.55.180.242
152.55.180.243機械可読リスト/bot/ips.json
お問い合わせ
トラフィックに関するご質問や、修正のご要望はありますか? お気軽にご連絡ください。