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: falselorsque Meta n’a pas pu récupérer le média (sous-code2207052ou 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 explicitementfacebookexternalhit/Facebotetrobots.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 porteretryAvailable: 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"dansdetails. - 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-Agentfacebookexternalhit. 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 fichierrobots.txt :
robots.txt
Avancé : verrouiller uniquement aux éditeurs sociaux
Si vous souhaitez bloquer la plupart des robots mais autoriser les plateformes de réseaux sociaux :robots.txt
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 à jourrobots.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.txtl’autorise. Vérifiez vos journaux WAF et ajoutez une exception pourfacebookexternalhit. - Protection contre le hotlink / vérifications du Referer — Certains CDN bloquent les requêtes provenant d’IP de datacenter ou sans en-tête
Referervalide. 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.
- Le
postIddéfaillant de la réponse d’erreur - La sortie de la commande de vérification
curlci-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) dansrobots.txtet dans votre WAF, ou réhébergez le média sur un CDN accessible par Meta. Vérifiez avec la commandecurlci-dessus, puis relancez via le point de terminaison Retry Post.