> ## Documentation Index
> Fetch the complete documentation index at: https://www.ayrshare.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Robot d'exploration de médias Meta bloqué (Instagram / Threads)

> Comment corriger le code d'erreur 440 (et les codes associés Instagram 138 / Threads 379) causés par des règles robots.txt ou anti-bots bloquant le robot d'exploration de médias de Meta.

Le code d'erreur **440** (et les codes associés Instagram **138** / Threads **379**) est retourné lorsque le robot d'exploration de publication de Meta ne peut pas télécharger 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.

<Note>
  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 à l'erreur 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](/media-guidelines/instagram) ou les [directives média Threads](/media-guidelines/threads).
</Note>

## Symptôme

Lorsque le robot d'exploration est bloqué, vous verrez des erreurs comme celles-ci :

```json Erreur 440 (principale) theme={"system"}
{
  "status": "error",
  "errors": [{
    "action": "post",
    "code": 440,
    "message": "The social network could not download media from this URL (for example Instagram/Meta error 2207052). Ensure the file is publicly reachable by the platform's crawlers (e.g. facebookexternalhit), via media bucket's robots.txt file, not only in a browser.",
    "details": "Media download has failed.: The media could not be fetched from the provided URI...",
    "platform": "instagram",
    "status": "error"
  }],
  "postIds": [],
  "id": "..."
}
```

```json Erreur Instagram 138 (secours — réponse en amont moins spécifique) theme={"system"}
{
  "status": "error",
  "errors": [{
    "retryAvailable": true,
    "status": "error",
    "code": 138,
    "details": "Media download has failed.: The media could not be fetched from the provided URI. Video download failed with: HTTP error code 403. Restricted by robots.txt",
    "action": "post",
    "platform": "instagram",
    "message": "Instagram Error: Instagram cannot process your post at this time. Please try your post again."
  }],
  "postIds": [],
  "id": "..."
}
```

```json Erreur Threads 379 theme={"system"}
{
  "status": "error",
  "errors": [{
    "status": "error",
    "code": 379,
    "message": "Error posting to Threads.",
    "action": "post",
    "platform": "threads"
  }],
  "postIds": [],
  "id": "..."
}
```

<Note>
  Le code **440** est le code Ayrshare dédié à cet échec et son message nomme explicitement `facebookexternalhit` et `robots.txt` — si vous voyez 440, vous êtes sur la bonne page. Le code **138** est é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`. Le code **379** n'inclut pas de champ `details` — si Threads échoue en même temps qu'un Instagram 440 ou 138, la cause profonde est généralement la même.
</Note>

## 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` :

```txt robots.txt theme={"system"}
User-agent: facebookexternalhit
Allow: /

User-agent: *
Allow: /
```

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 :

```txt robots.txt theme={"system"}
User-agent: facebookexternalhit
Allow: /

User-agent: Twitterbot
Allow: /

User-agent: LinkedInBot
Allow: /

User-agent: Pinterest
Allow: /

User-agent: *
Disallow: /
```

<Warning>
  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.
</Warning>

## 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 :

```bash theme={"system"}
curl -v --compressed -H "Range: bytes=0-524288" -H "Connection: close" \
  -A "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)" \
  "$URL"
```

<ul class="custom-bullets">
  <li>**Réponse saine :** HTTP 200 ou 206 avec des données binaires dans le corps.</li>
  <li>**Réponse bloquée :** HTTP 403 ou une page d'erreur vide/HTML.</li>
</ul>

<Note>
  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.
</Note>

## 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 :

<ul class="custom-bullets">
  <li>**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.</li>
  <li>**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`.</li>
  <li>**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.</li>
  <li>**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.</li>
  <li>**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.</li>
</ul>

Si aucune de ces solutions ne résout le problème, [contactez le support Ayrshare](https://www.ayrshare.com/contact) 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

Une fois que vous avez résolu le problème d'accès du robot, relancez votre publication échouée à l'aide du [point de terminaison Retry Post](/apis/post/retry-post).

## Voir aussi

<ul class="custom-bullets">
  <li>[API Instagram](/apis/post/social-networks/instagram)</li>
  <li>[API Threads](/apis/post/social-networks/threads)</li>
  <li>[Directives média Instagram](/media-guidelines/instagram)</li>
  <li>[Directives média Threads](/media-guidelines/threads)</li>
  <li>[Codes d'erreur Ayrshare](/errors/errors-ayrshare#media-fetch--crawler-access-errors)</li>
  <li>[Échec de publication vidéo](/help-center/technical-support/video_publishing_fails)</li>
</ul>
