Skip to main content
エラーコード 479 は、Meta がメディア URL を取得できない場合に返される、再試行不可の Ayrshare 専用コードです。最も一般的な原因は、サーバー上の robots.txt またはボットブロッキングルールがクローラー(facebookexternalhit)を拒否していることです。このコードは Ayrshare の自動再ホスティングによるフォールバックも失敗した後にのみ返されるため、ホスト側のブロックまたは到達できないソースである可能性が非常に高いことを示します。 Ayrshare は Instagram または Threads に公開する際、URL をそのまま Meta に渡してあきらめるわけではありません。Ayrshare は取得を自動的に再試行し、それでも Meta がメディアに到達できない場合は、自社の CDN にコピーを再ホストして、Meta にそちらを取得するよう依頼します。コード 479 は、このフォールバックでも Meta がメディアを取得できなかったことを意味します。そのため、根本的なホスティングの問題が解決されるまで、同じリクエストを再試行しても解決しません(retryAvailable: false、HTTP 400)。
このページでは、エラーメッセージまたは詳細で、ソーシャルネットワークがメディアをダウンロードできなかったことに言及している失敗をカバーしています。通常、facebookexternalhit、robots.txt、"Restricted by robots.txt"、"HTTP error code 403"、または Meta サブコード 2207052 を参照しています。Instagram コード 138 のアスペクト比またはフォーマットエラーについては、代わりに Instagram Media Guidelines または Threads Media Guidelines を参照してください。

症状

クローラーがブロックされている場合、次のようなエラーが表示されます:
Error 479 (primary — dedicated, non-retryable)
Error 440 (transient ingestion — retryable)
Instagram Error 138 (fallback — less specific upstream response)
Threads Error 379
これらのコードの違いについて:
  • コード 479: メディア取得 / クローラーブロック専用(再試行不可)。 このページで扱う失敗のためのコードです。Meta がメディアを取得できなかった場合(サブコード 2207052 またはメディア取得に関するテキストパターン)、Ayrshare が自社の CDN に再ホストした後でも取得できなかったときに、retryAvailable: false とともに返されます。そのメッセージは facebookexternalhit / Facebot と robots.txt を明示的に挙げています。479 が表示された場合、このページが該当します。再試行する前にホスティングを修正してください。
  • コード 440: 一時的な取り込みエラー(再試行可能)。 現在は、本当に一時的な取り込みの失敗に使用されます。Meta サブコード 2207032(「download too slow」)/ 2207003(「create media fail」)、または分類されない取り込みの失敗です。retryAvailable: true が付きます。/post/retry で再試行してください。
  • コード 138: より具体的でない Instagram のフォールバック。 上流のレスポンスがより具体的でない場合に、同じ根本原因で発行されます。138 はアスペクト比/フォーマットの問題にも使用されるため、メディア取得のバリアントは details の "Restricted by robots.txt" または "HTTP error code 403" で識別できます。
  • コード 379: Threads。 details フィールドは含まれません。Threads が Instagram 479 または 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 の内容

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

再試行の動作は、受け取ったコードによって異なります:
  • コード 440(一時的、retryAvailable: true): 取り込みが時間切れになったか、Meta の一時的なエラーが発生しただけです。Retry Post エンドポイント を使用して直接再試行してください。ホスティングを変更する必要はありません。
  • コード 479(retryAvailable: false): Ayrshare が自社の CDN に再ホストした後でも Meta がメディアを取得できなかったため、ブロックされた URL を変更せずに再試行しても再び失敗します。まずホスティングを修正してください: robots.txt と WAF で Meta のクローラー(facebookexternalhit / Facebot)を許可するか、Meta が到達できる CDN にメディアを再ホストしてください。上記の curl コマンドで確認してから、Retry Post エンドポイント で再試行してください。

関連項目