Saltar al contenido principal
El código de error 440 (y los relacionados de Instagram 138 / Threads 379) se devuelve cuando el crawler de publicación de Meta no puede descargar tu URL de medios, normalmente porque robots.txt o una regla de bloqueo de bots en tu servidor está denegando el acceso al crawler.
Esta página cubre los fallos cuyo mensaje o detalles indican que la red social no pudo descargar el medio, haciendo referencia normalmente a facebookexternalhit, robots.txt, "Restricted by robots.txt", "HTTP error code 403", o el error de Meta 2207052. Para errores de proporción o formato en el código 138 de Instagram, consulta las Directrices de medios de Instagram o las Directrices de medios de Threads.

Síntoma

Cuando se bloquea el crawler, verás errores como estos:
Error 440 (primary)
Instagram Error 138 (fallback — less specific upstream response)
Threads Error 379
El código 440 es el código específico de Ayrshare para este fallo y su mensaje menciona explícitamente facebookexternalhit y robots.txt: si ves 440, estás en la página correcta. El código 138 se emite por la misma causa raíz cuando la respuesta upstream es menos específica; 138 también se usa para problemas de proporción/formato, por lo que la variante de fetch de medios se identifica por "Restricted by robots.txt" o "HTTP error code 403" en details. El código 379 no incluye un campo details: si Threads falla junto con un 440 o 138 de Instagram, la causa raíz suele ser la misma.

Por qué ocurre

Cuando publicas en Instagram o Threads a través de Ayrshare, los servidores de Meta descargan tu medio desde la URL que proporcionas. Este fetch desde el servidor utiliza el User-Agent facebookexternalhit. Si el robots.txt de tu servidor prohíbe este crawler —o una regla WAF/de protección antibots lo bloquea—, Meta no puede descargar el archivo y la publicación falla. La publicación en páginas de Facebook usa una ruta de ingesta distinta, por eso la misma mediaUrl puede funcionar en Facebook pero fallar en Instagram y Threads.

Solución: actualizar tu robots.txt

Recomendado: permitir Meta explícitamente y mantener el resto abierto

Añade estas reglas a tu archivo robots.txt:
robots.txt
Esto permite explícitamente el crawler de Meta y mantiene tu sitio abierto a otros crawlers (Google, Bing, etc.).

Avanzado: bloquear todo salvo publicadores sociales

Si quieres bloquear la mayoría de crawlers pero permitir plataformas de redes sociales:
robots.txt
Utiliza un único bloque User-agent: * colocado al final del archivo. Los crawlers conformes con el RFC 9309 combinan varios grupos comodín en uno solo, pero no todos los parsers cumplen el RFC: los grupos comodín duplicados son una causa habitual de que las reglas se descarten o se apliquen de forma inconsistente.

Verifica que Meta pueda acceder a tu URL

Antes de reintentar tu post, verifica que el crawler de Meta puede acceder ahora a tu medio. Ejecuta este comando reemplazando $URL por tu URL de medio completa:
  • Respuesta correcta: HTTP 200 o 206 con datos binarios en el cuerpo.
  • Respuesta bloqueada: HTTP 403 o una página vacía / de error HTML.
Según la documentación de Meta, los cambios en robots.txt pueden tardar hasta 24 horas en propagarse por la caché del crawler de Meta. Si la verificación es correcta pero tu post sigue fallando, espera y reintenta más tarde.

Si esto no resuelve el problema

Si has actualizado robots.txt y verificado con el comando curl pero sigues viendo fallos:
  • Retardo de propagación de 24 horas — Meta almacena en caché robots.txt. Espera hasta 24 horas después de hacer cambios antes de reintentar.
  • Reglas de WAF o antibots — Cloudflare Bot Fight Mode, los grupos de reglas gestionadas de AWS WAF y servicios similares pueden bloquear los rangos IP del crawler de Meta aunque el robots.txt lo permita. Revisa tus logs de WAF y añade una excepción para facebookexternalhit.
  • Protección hotlink / comprobaciones de Referer — Algunos CDNs bloquean solicitudes desde IPs de centros de datos o sin un Referer válido. Añade a la whitelist el crawler de Meta o desactiva la protección hotlink para las rutas de medios.
  • Expiración de URLs firmadas / presigned — Si tu URL de medio tiene marca de caducidad (habitual con URLs presigned de S3), asegúrate de que no expire antes de que el crawler de Meta pueda descargarla. Para posts programados, genera URLs que sigan siendo válidas hasta bien después de la hora programada.
  • Alojamiento de medios gestionado — Si usas un servicio como Cloudinary, Imgix o similar donde no puedes editar robots.txt, revisa su documentación para localizar el ajuste de allow-list del crawler de Meta/Facebook.
Si ninguna de estas opciones resuelve el problema, contacta con el soporte de Ayrshare e incluye:
  • El postId fallido de la respuesta de error
  • La salida del comando curl de verificación anterior
  • El contenido de tu robots.txt

Reintentar un post fallido

Una vez resuelto el problema de acceso del crawler, reintenta tu post fallido usando el endpoint Retry Post.

Consulta también