Skip to main content
Le code d’erreur 479 est le code Ayrshare dédié et non relançable retourné lorsque Meta ne peut pas récupérer l’URL de votre média, le plus souvent parce que robots.txt ou une règle de blocage de bots sur votre serveur refuse l’accès au robot d’exploration (facebookexternalhit). Il n’est retourné qu’après l’échec du mécanisme de secours automatique d’Ayrshare, qui réhéberge le média : cela indique fortement un blocage côté hébergeur ou une source inaccessible. Lorsqu’Ayrshare publie sur Instagram ou Threads, il ne se contente pas de transmettre votre URL à Meta puis d’abandonner. Ayrshare relance automatiquement la récupération et, si Meta ne parvient toujours pas à atteindre le média, réhéberge une copie sur son propre CDN et demande à Meta de récupérer celle-ci à la place. Le code 479 signifie que même ce mécanisme de secours n’a pas permis à Meta de récupérer le média : relancer la même requête n’aidera donc pas tant que le problème d’hébergement sous-jacent n’est pas corrigé (retryAvailable: false, HTTP 400).
Cette page couvre les échecs dont le message d’erreur ou les détails mentionnent que le réseau social n’a pas pu télécharger le média, faisant généralement référence à facebookexternalhit, robots.txt, "Restricted by robots.txt", "HTTP error code 403", ou au sous-code Meta 2207052. Pour les erreurs de rapport d’aspect ou de format sur le code Instagram 138, consultez plutôt les directives média Instagram ou les directives média Threads.

Symptôme

Lorsque le robot d’exploration est bloqué, vous verrez des erreurs comme celles-ci :
Erreur 479 (principale, dédiée, non relançable)
Erreur 440 (ingestion transitoire, relançable)
Erreur Instagram 138 (secours — réponse en amont moins spécifique)
Erreur Threads 379
Comprendre la répartition entre ces codes :
  • Code 479 : échec dédié de récupération du média / blocage du robot d’exploration (non relançable). C’est le code de l’échec traité par cette page. Il est retourné avec retryAvailable: false lorsque Meta n’a pas pu récupérer le média (sous-code 2207052 ou motif textuel d’échec de récupération du média) même après qu’Ayrshare l’a réhébergé sur son propre CDN. Son message nomme explicitement facebookexternalhit / Facebot et robots.txt : si vous voyez 479, vous êtes sur la bonne page. Corrigez l’hébergement avant de relancer.
  • Code 440 : ingestion transitoire (relançable). Désormais utilisé pour les épuisements d’ingestion réellement transitoires : sous-codes Meta 2207032 (« download too slow ») / 2207003 (« create media fail »), ou épuisement non classifié. Il porte retryAvailable: true ; relancez via /post/retry.
  • Code 138 : secours Instagram moins spécifique. Émis pour la même cause fondamentale lorsque la réponse en amont est moins spécifique. 138 est également utilisé pour les problèmes de rapport d’aspect / format, la variante d’échec de récupération de média est donc identifiable par "Restricted by robots.txt" ou "HTTP error code 403" dans details.
  • Code 379 : Threads. N’inclut pas de champ details. Si Threads échoue en même temps qu’un Instagram 479 ou 138, la cause profonde est généralement la même.

Pourquoi cela se produit-il

Lorsque vous publiez sur Instagram ou Threads via Ayrshare, les serveurs de Meta récupèrent votre média à partir de l’URL que vous fournissez. Cette récupération côté serveur utilise le User-Agent facebookexternalhit. Si le robots.txt de votre serveur interdit ce robot — ou si une règle WAF/protection contre les bots le bloque — Meta ne peut pas télécharger le fichier et la publication échoue. La publication sur les pages Facebook utilise un chemin d’ingestion différent, c’est pourquoi la même mediaUrl peut fonctionner pour Facebook mais échouer pour Instagram et Threads.

Correction : mettez à jour votre robots.txt

Recommandé : autoriser Meta explicitement, garder les autres ouverts

Ajoutez ces règles à votre fichier robots.txt :
robots.txt
Cela autorise explicitement le robot de Meta tout en laissant votre site ouvert aux autres robots (Google, Bing, etc.).

Avancé : verrouiller uniquement aux éditeurs sociaux

Si vous souhaitez bloquer la plupart des robots mais autoriser les plateformes de réseaux sociaux :
robots.txt
Utilisez un seul bloc User-agent: *, placé à la fin du fichier. Les robots conformes à la RFC 9309 fusionnent plusieurs groupes génériques en un seul, mais tous les analyseurs en circulation ne sont pas conformes à la RFC — les groupes génériques dupliqués sont une source courante de règles supprimées ou appliquées de manière incohérente.

Vérifiez que Meta peut récupérer votre URL

Avant de relancer votre publication, vérifiez que le robot de Meta peut désormais accéder à votre média. Exécutez cette commande, en remplaçant $URL par l’URL complète de votre média :
  • Réponse saine : HTTP 200 ou 206 avec des données binaires dans le corps.
  • Réponse bloquée : HTTP 403 ou une page d’erreur vide/HTML.
Selon la documentation de Meta, les modifications de robots.txt peuvent prendre jusqu’à 24 heures pour se propager dans le cache du robot de Meta. Si la vérification réussit mais que votre publication échoue toujours, attendez et réessayez plus tard.

Si cela ne résout pas le problème

Si vous avez mis à jour robots.txt et vérifié avec la commande curl mais que vous voyez toujours des échecs :
  • Délai de propagation de 24 heures — Meta met en cache robots.txt. Attendez jusqu’à 24 heures après avoir effectué des modifications avant de réessayer.
  • Règles WAF ou anti-bots — Cloudflare Bot Fight Mode, les groupes de règles de bot gérés par AWS WAF et les services similaires peuvent bloquer les plages IP du robot de Meta même si robots.txt l’autorise. Vérifiez vos journaux WAF et ajoutez une exception pour facebookexternalhit.
  • Protection contre le hotlink / vérifications du Referer — Certains CDN bloquent les requêtes provenant d’IP de datacenter ou sans en-tête Referer valide. Mettez en liste blanche le robot de Meta ou désactivez la protection contre le hotlink pour les chemins de médias.
  • Expiration d’URL signée / URL présignée — Si votre URL média a un horodatage d’expiration (courant avec les URL présignées S3), assurez-vous qu’elle n’expire pas avant que le robot de Meta puisse la récupérer. Pour les publications planifiées, générez des URL qui restent valides bien après l’heure planifiée.
  • Hébergement de médias géré — Si vous utilisez un service comme Cloudinary, Imgix ou similaire où vous ne pouvez pas modifier robots.txt, consultez leur documentation pour un paramètre d’autorisation du robot Meta/Facebook.
Si aucune de ces solutions ne résout le problème, contactez le support Ayrshare et incluez :
  • Le postId défaillant de la réponse d’erreur
  • La sortie de la commande de vérification curl ci-dessus
  • Le contenu de votre robots.txt

Relancer une publication échouée

Le comportement de relance dépend du code reçu :
  • Code 440 (transitoire, retryAvailable: true) : l’ingestion a simplement manqué de temps ou a rencontré une erreur Meta temporaire. Relancez directement à l’aide du point de terminaison Retry Post ; aucune modification de votre hébergement n’est nécessaire.
  • Code 479 (retryAvailable: false) : Meta n’a pas pu récupérer le média même après qu’Ayrshare l’a réhébergé sur son propre CDN, donc relancer avec la même URL bloquée échouera à nouveau. Corrigez d’abord l’hébergement : autorisez les robots d’exploration de Meta (facebookexternalhit / Facebot) dans robots.txt et dans votre WAF, ou réhébergez le média sur un CDN accessible par Meta. Vérifiez avec la commande curl ci-dessus, puis relancez via le point de terminaison Retry Post.

Voir aussi