Meta Webクローラー

Metaはさまざまな目的のためにWebクローラー(ウェブサイトやウェブアプリからコンテンツをフェッチするソフトウェア)を使用しています。このページには、Metaの最も一般的なWebクローラーを識別するユーザーエージェント(UA)文字列と、各クローラーの用途がリストされています。このページでは、クローラーがサイトと適切にやり取りできるようにrobots.txtファイルを構成する方法についても説明します。

FacebookExternalHit

FacebookExternalHitの主な目的は、Facebook、Instagram、MessengerなどのMetaファミリーのいずれかのアプリで共有されたアプリやウェブサイトのコンテンツをクロールすることです。リンクはコピー&ペースト、またはFacebookソーシャルプラグインを使用して共有されている可能性があります。このクローラーは、アプリまたはウェブサイトに関する情報(タイトル、説明、サムネイル画像など)を収集し、キャッシュに保存し、表示します。

ログファイルに表示される特定のUA文字列は、次のいずれかのようになります。

  • facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)
  • facebookexternalhit/1.1
  • facebookcatalog/1.0

FacebookExternalHitクローラーは、マルウェアや悪意のあるコンテンツのチェックなど、セキュリティまたは整合性のチェックを実行するときにrobots.txtをバイパスする可能性があることに注意してください。

クローラーの要件

  • サーバーは、gzipおよびdeflateエンコーディングを使用する必要があります。
  • Open Graphプロパティは、ウェブサイトまたはアプリの最初の1MBより前に記載されている必要があります。そうでない場合、そのプロパティは切り捨てられます。
  • クローラーが数秒以内にコンテンツをクロールできることを確認してください。そうでない場合、Facebookはコンテンツを表示できません。
  • アプリまたはウェブサイトは、クローラーリクエストのRangeヘッダーで指定されたバイトに従ってすべての必要なプロパティを含む応答を生成して返すか、Rangeヘッダーを完全に無視する必要があります。
  • クローラーが使用するユーザーエージェント文字列またはIPアドレス(IPアドレスのほうが安全です)のいずれかを許可リストに追加してください。

トラブルシューティング

クロール時にアプリまたはウェブサイトのコンテンツがアクセス可能でなかった場合は、アクセス可能になってからシェアデバッガーツールを通じてURLを渡すか、シェアAPIを使用することにより、クロールを強制的に実行させることができます。

次のコードを使用して、クローラーリクエストをシミュレートできます

curl -v --compressed -H "Range: bytes=0-524288" -H "Connection: close" -A "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)" "$URL"

Meta-ExternalAgent

Meta-ExternalAgentクローラーは、コンテンツを直接インデックス化することにより、AIモデルのトレーニングや商品の改善などのユースケースでウェブをクロールします。

ログファイルに表示される特定のUA文字列は、次のいずれかのようになります。

  • meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)
  • meta-externalagent/1.1

このクローラーは今後数週間にわたって段階的に展開され、2024年10月31日までに完了する予定です。

Meta-ExternalFetcher

Meta-ExternalFetcherクローラーは、特定の商品機能をサポートするために、ユーザーが開始した個々のリンクをフェッチします。このフェッチはユーザーによって開始されたため、このクローラーはrobots.txtルールをバイパスする可能性があります。

ログファイルに表示される特定のUA文字列は、次のいずれかのようになります。

  • meta-externalfetcher/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)
  • meta-externalfetcher/1.1

robots.txtファイル

自分のウェブサイトでrobots.txtファイルを構成することで、Meta Webクローラーが自分のサイトとどのようにやり取りするかを指定できます。これらのクローラーをブロックするには、robots.txtに該当するクローラーの禁止を追加します。Meta-ExternalFetcherクローラーは、ユーザーのリクエストでフェッチを実行するため、robots.txtをバイパスする可能性があります。また、FacebookExternalHitクローラーは、セキュリティチェックまたは整合性のチェックを実行するときにrobots.txtをバイパスする可能性があります。

User-agent: meta-externalagent
Allow: /                    # Allow everything
Disallow: /private/         # Disallow a specific directory

クローラーIP

クローラーのソースIPアドレスが次のコマンドで生成されたリストに含まれている場合、そのクローラーはMetaから来ていることを示します。

whois -h whois.radb.net -- '-i origin AS32934' | grep ^route  

これらのIPアドレスは頻繁に変更されることに注意してください。詳しくは、ピアリングウェブページまたは関連するダウンロード可能なデータ(CSV形式)をご覧ください。

応答の例

...
route:      69.63.176.0/21
route:      69.63.184.0/21
route:      66.220.144.0/20
route:      69.63.176.0/20
route6:     2620:0:1c00::/40
route6:     2a03:2880::/32
route6:     2a03:2880:fffe::/48
route6:     2a03:2880:ffff::/48
route6:     2620:0:1cff::/48
... 

お問い合わせ

ご質問やご不明な点がございましたら、webmasters@meta.com (Metaウェブ管理者)までお問い合わせください。