Skip to main content
Код помилки 479 — це окремий код Ayrshare без повторної спроби, який повертається, коли Meta не може отримати URL Вашого медіа, найчастіше через те, що robots.txt або правило блокування ботів на Вашому сервері відхиляє crawler (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.

Симптом

Коли crawler заблоковано, Ви побачите помилки, як ці:
Error 479 (primary — dedicated, non-retryable)
Error 440 (transient ingestion — retryable)
Instagram Error 138 (fallback — less specific upstream response)
Threads Error 379
Як розрізняти ці коди:
  • Код 479: окремий код для збою отримання медіа / блокування crawler (без повторної спроби). Це код для збою, описаного на цій сторінці. Він повертається з retryAvailable: false, коли Meta не змогла отримати медіа (subcode 2207052 або текстовий шаблон збою отримання медіа) навіть після того, як Ayrshare розмістив його на власному CDN. Його повідомлення явно називає facebookexternalhit / Facebot і robots.txt: якщо Ви бачите 479, Ви на правильній сторінці. Виправте хостинг, перш ніж повторювати спробу.
  • Код 440: тимчасовий збій прийому медіа (з повторною спробою). Тепер використовується для справді тимчасового вичерпання спроб прийому: subcodes Meta 2207032 (“download too slow”) / 2207003 (“create media fail”) або некласифіковане вичерпання. Він містить retryAvailable: true; повторіть спробу через /post/retry.
  • Код 138: менш конкретний резервний код Instagram. Видається для тієї ж кореневої причини, коли upstream-відповідь менш конкретна. 138 також використовується для проблем зі співвідношенням сторін / форматом, тому варіант із fetch-медіа можна ідентифікувати за "Restricted by robots.txt" або "HTTP error code 403" у details.
  • Код 379: Threads. Не містить поля details. Якщо Threads зазнає збою поряд з Instagram 479 або 138, коренева причина зазвичай та сама.

Чому це відбувається

Коли Ви публікуєте в Instagram або Threads через Ayrshare, сервери Meta отримують Ваше медіа з наданого URL. Це серверне отримання використовує User-Agent facebookexternalhit. Якщо robots.txt Вашого сервера забороняє цей crawler — або правило WAF/захисту від ботів блокує його — Meta не може завантажити файл, і публікація зазнає невдачі. Публікація на Facebook Page використовує інший шлях прийому, тому той самий mediaUrl може працювати для Facebook, але не працювати для Instagram та Threads.

Виправлення: оновіть Ваш robots.txt

Рекомендовано: явно дозвольте Meta, залишаючи інші відкритими

Додайте ці правила до Вашого файлу robots.txt:
robots.txt
Це явно дозволяє crawler Meta, залишаючи Ваш сайт відкритим для інших crawler (Google, Bing тощо).

Розширене: обмежити доступ лише для соціальних видавців

Якщо Ви хочете заблокувати більшість crawler, але дозволити платформам соціальних мереж:
robots.txt
Використовуйте один блок User-agent: *, розміщений у кінці файлу. RFC 9309-сумісні crawler об’єднують кілька груп зі шаблоном в одну, але не всі парсери на практиці є RFC-сумісними — дублікати груп зі шаблоном є поширеним джерелом того, що правила відкидаються або застосовуються непослідовно.

Перевірте, що Meta може отримати Ваш URL

Перед повторною спробою Вашого допису перевірте, що crawler Meta тепер може отримати доступ до Вашого медіа. Виконайте цю команду, замінивши $URL повним URL Вашого медіа:
  • Здорова відповідь: HTTP 200 або 206 з двійковими даними в тілі.
  • Заблокована відповідь: HTTP 403 або порожня/HTML-сторінка помилки.
Згідно з документацією Meta, зміни robots.txt можуть тривати до 24 годин, щоб поширитися через кеш crawler Meta. Якщо перевірка успішна, але Ваша публікація все ще не вдається, зачекайте і повторіть спробу пізніше.

Якщо це не виправило проблему

Якщо Ви оновили robots.txt і перевірили командою curl, але все ще бачите збої:
  • 24-годинна затримка поширення — Meta кешує robots.txt. Зачекайте до 24 годин після внесення змін, перш ніж повторити спробу.
  • Правила WAF або bot-fight — Cloudflare Bot Fight Mode, керовані групи правил AWS WAF та подібні служби можуть блокувати діапазони IP crawler Meta, навіть якщо robots.txt це дозволяє. Перевірте журнали WAF та додайте виняток для facebookexternalhit.
  • Захист від hotlink / перевірки Referer — Деякі CDN блокують запити з IP-адрес центрів обробки даних або без дійсного заголовка Referer. Додайте crawler Meta до білого списку або вимкніть захист від hotlink для шляхів медіа.
  • Термін дії signed-URL / presigned-URL — Якщо Ваш URL медіа має timestamp закінчення (поширено для S3 presigned URL), переконайтеся, що він не закінчиться до того, як crawler Meta зможе отримати. Для запланованих дописів створюйте URL, які залишаються дійсними значно після запланованого часу.
  • Керований медіа-хостинг — Якщо Ви використовуєте службу, як Cloudinary, Imgix або подібну, де Ви не можете редагувати robots.txt, перевірте їхню документацію на предмет налаштування списку дозволів crawler Meta/Facebook.
Якщо жодне з цих не вирішує проблему, зверніться до підтримки Ayrshare і додайте:
  • Невдалий postId з відповіді про помилку
  • Вивід команди перевірки curl вище
  • Вміст Вашого robots.txt

Повторна спроба невдалого допису

Поведінка повторної спроби залежить від отриманого коду:
  • Код 440 (тимчасовий, retryAvailable: true): прийому медіа просто забракло часу або він натрапив на тимчасову помилку Meta. Повторіть спробу безпосередньо через кінцеву точку Retry Post; змінювати хостинг не потрібно.
  • Код 479 (retryAvailable: false): Meta не змогла отримати медіа навіть після того, як Ayrshare розмістив його на власному CDN, тож повторна спроба з тим самим заблокованим URL знову завершиться невдачею. Спочатку виправте хостинг: дозвольте crawler Meta (facebookexternalhit / Facebot) у robots.txt і Вашому WAF або розмістіть медіа на CDN, доступному для Meta. Перевірте командою curl вище, а потім повторіть спробу через кінцеву точку Retry Post.

Див. також