メインコンテンツへスキップ
エラーコード 440(および関連する Instagram コード 138 / Threads コード 379)は、Meta の公開クローラーがメディア URL をダウンロードできない場合に返されます — 最も一般的には、サーバー上の robots.txt またはボットブロッキングルールがクローラーを拒否しているためです。
このページでは、エラーメッセージまたは詳細で、ソーシャルネットワークがメディアをダウンロードできなかったことに言及している失敗をカバーしています。通常、facebookexternalhitrobots.txt"Restricted by robots.txt""HTTP error code 403"、または Meta エラー 2207052 を参照しています。Instagram コード 138 のアスペクト比またはフォーマットエラーについては、代わりに Instagram Media Guidelines または Threads Media Guidelines を参照してください。

症状

クローラーがブロックされている場合、次のようなエラーが表示されます:
Error 440 (primary)
Instagram Error 138 (fallback — less specific upstream response)
Threads Error 379
コード 440 はこの失敗のための Ayrshare 専用のコードであり、そのメッセージは明示的に facebookexternalhitrobots.txt を指名しています — 440 が表示された場合、正しいページにいます。コード 138 は、上流のレスポンスがより具体的でない場合に同じ根本原因で発行されます。138 はアスペクト比/フォーマットの問題にも使用されるため、メディア取得のバリアントは details"Restricted by robots.txt" または "HTTP error code 403" で識別できます。コード 379 には details フィールドが含まれていません — Threads が Instagram 440 または 138 と一緒に失敗する場合、根本原因は通常同じです。

なぜ発生するか

Ayrshare 経由で Instagram または Threads に公開する場合、Meta のサーバーが提供された URL からメディアを取得します。このサーバー側の取得は facebookexternalhit User-Agent を使用します。サーバーの robots.txt がこのクローラーを禁止しているか、WAF/ボット保護ルールがブロックしている場合、Meta はファイルをダウンロードできず、公開は失敗します。 Facebook Page の公開は異なる取り込みパスを使用するため、同じ mediaUrl が Facebook では機能しても、Instagram と Threads では失敗する可能性があります。

修正: robots.txt を更新する

推奨: Meta を明示的に許可し、他のクローラーはオープンにしておく

これらのルールを robots.txt ファイルに追加します:
robots.txt
これは Meta のクローラーを明示的に許可しつつ、他のクローラー(Google、Bing など)にもサイトをオープンにしておきます。

高度: ソーシャルパブリッシャーのみにロックダウン

ほとんどのクローラーをブロックしつつ、ソーシャルメディアプラットフォームを許可したい場合:
robots.txt
ファイルの末尾に配置した単一の User-agent: * ブロックを使用してください。RFC 9309 準拠のクローラーは複数のワイルドカードグループを 1 つにマージしますが、実際のすべてのパーサーが RFC 準拠ではありません — 重複したワイルドカードグループは、ルールが削除されたり一貫性なく適用されたりする一般的な原因です。

Meta が URL を取得できるか確認する

投稿を再試行する前に、Meta のクローラーがメディアにアクセスできるかを確認します。$URL を完全なメディア URL に置き換えて、このコマンドを実行します:
  • 健全なレスポンス: HTTP 200 または 206 でボディにバイナリデータ。
  • ブロックされたレスポンス: HTTP 403 または空/HTML エラーページ。
Meta のドキュメントによれば、robots.txt の変更が Meta のクローラーキャッシュに伝播するには最大 24 時間かかる場合があります。確認が成功しても投稿がまだ失敗する場合は、待ってから後で再試行してください。

それでも修正されない場合

robots.txt を更新して curl コマンドで確認しても失敗が続く場合:
  • 24 時間の伝播遅延 — Meta は robots.txt をキャッシュします。変更後最大 24 時間待ってから再試行してください。
  • WAF またはボット対策ルール — Cloudflare Bot Fight Mode、AWS WAF managed bot ルールグループ、および同様のサービスは、robots.txt で許可されていても Meta のクローラー IP 範囲をブロックする可能性があります。WAF ログを確認し、facebookexternalhit の例外を追加してください。
  • ホットリンク保護 / Referer チェック — 一部の CDN はデータセンター IP からのリクエストや有効な Referer ヘッダーなしのリクエストをブロックします。Meta のクローラーをホワイトリストに追加するか、メディアパスのホットリンク保護を無効にしてください。
  • 署名付き URL / 事前署名付き URL の有効期限 — メディア URL に有効期限のタイムスタンプがある場合(S3 事前署名 URL で一般的)、Meta のクローラーが取得できる前に期限切れにならないようにしてください。スケジュール投稿の場合、スケジュール時刻を十分に過ぎるまで有効な URL を生成してください。
  • マネージドメディアホスティング — Cloudinary、Imgix などの robots.txt を編集できないサービスを使用している場合、Meta/Facebook クローラーの許可リスト設定についてドキュメントを確認してください。
これらのいずれも問題を解決しない場合は、Ayrshare サポートに連絡 して、以下を含めてください:
  • エラーレスポンスからの失敗した postId
  • 上記の curl 確認コマンドの出力
  • robots.txt の内容

失敗した投稿を再試行する

クローラーアクセスの問題を解決したら、Retry Post エンドポイント を使用して失敗した投稿を再試行してください。

関連項目