Chuyển đến nội dung chính
Mã lỗi 440 (và các mã liên quan Instagram 138 / Threads 379) được trả về khi crawler xuất bản của Meta không thể tải xuống URL phương tiện của bạn — phổ biến nhất là do robots.txt hoặc quy tắc chặn bot trên máy chủ của bạn từ chối crawler.
Trang này đề cập đến các lỗi mà thông báo lỗi hoặc chi tiết đề cập rằng mạng xã hội không thể tải xuống phương tiện, thường tham chiếu đến facebookexternalhit, robots.txt, "Restricted by robots.txt", "HTTP error code 403", hoặc lỗi Meta 2207052. Đối với lỗi tỷ lệ khung hình hoặc định dạng trên mã Instagram 138, xem Hướng dẫn phương tiện Instagram hoặc Hướng dẫn phương tiện Threads thay thế.

Triệu chứng

Khi crawler bị chặn, bạn sẽ thấy các lỗi như sau:
Error 440 (primary)
Instagram Error 138 (fallback — less specific upstream response)
Threads Error 379
440 là mã Ayrshare chuyên dụng cho lỗi này và thông báo của nó nêu rõ tên facebookexternalhitrobots.txt — nếu bạn thấy 440, bạn đang ở đúng trang. Mã 138 được phát ra cho cùng một nguyên nhân gốc khi phản hồi upstream ít cụ thể hơn; 138 cũng được sử dụng cho các vấn đề về tỷ lệ khung hình / định dạng, vì vậy biến thể tải phương tiện có thể được nhận diện bởi "Restricted by robots.txt" hoặc "HTTP error code 403" trong details. Mã 379 không bao gồm trường details — nếu Threads thất bại cùng với Instagram 440 hoặc 138, nguyên nhân gốc thường giống nhau.

Tại sao điều này xảy ra

Khi bạn đăng lên Instagram hoặc Threads qua Ayrshare, các máy chủ của Meta lấy phương tiện của bạn từ URL bạn cung cấp. Việc lấy dữ liệu phía máy chủ này sử dụng User-Agent facebookexternalhit. Nếu robots.txt của máy chủ bạn không cho phép crawler này — hoặc quy tắc WAF/bảo vệ bot chặn nó — Meta không thể tải xuống tệp và việc đăng thất bại. Việc đăng Facebook Page sử dụng đường dẫn nhập khác, đó là lý do tại sao cùng một mediaUrl có thể hoạt động cho Facebook nhưng thất bại cho Instagram và Threads.

Khắc phục: Cập nhật robots.txt của bạn

Được khuyến nghị: Cho phép Meta rõ ràng, giữ các bên khác mở

Thêm các quy tắc này vào tệp robots.txt:
robots.txt
Điều này cho phép crawler của Meta rõ ràng đồng thời giữ trang web của bạn mở cho các crawler khác (Google, Bing, v.v.).

Nâng cao: Khóa chỉ cho các publisher mạng xã hội

Nếu bạn muốn chặn hầu hết các crawler nhưng cho phép các nền tảng mạng xã hội:
robots.txt
Sử dụng một khối User-agent: * duy nhất, đặt ở cuối tệp. Các crawler tuân thủ RFC 9309 gộp nhiều nhóm ký tự đại diện thành một, nhưng không phải mọi parser trong thực tế đều tuân thủ RFC — các nhóm ký tự đại diện trùng lặp là một nguồn phổ biến khiến các quy tắc bị loại bỏ hoặc áp dụng không nhất quán.

Xác minh Meta có thể lấy URL của bạn

Trước khi thử đăng lại, hãy xác minh rằng crawler của Meta bây giờ có thể truy cập phương tiện của bạn. Chạy lệnh này, thay $URL bằng URL phương tiện đầy đủ của bạn:
  • Phản hồi khỏe mạnh: HTTP 200 hoặc 206 với dữ liệu nhị phân trong body.
  • Phản hồi bị chặn: HTTP 403 hoặc trang lỗi trống/HTML.
Theo tài liệu của Meta, các thay đổi robots.txt có thể mất tới 24 giờ để lan truyền qua bộ nhớ đệm crawler của Meta. Nếu việc xác minh thành công nhưng bài đăng vẫn thất bại, hãy đợi và thử lại sau.

Nếu điều này không khắc phục được

Nếu bạn đã cập nhật robots.txt và xác minh với lệnh curl nhưng vẫn thấy lỗi:
  • Độ trễ lan truyền 24 giờ — Meta lưu bộ nhớ đệm robots.txt. Đợi tối đa 24 giờ sau khi thực hiện thay đổi trước khi thử lại.
  • Quy tắc WAF hoặc chống bot — Cloudflare Bot Fight Mode, AWS WAF managed bot rule groups và các dịch vụ tương tự có thể chặn dải IP crawler của Meta ngay cả khi robots.txt cho phép nó. Kiểm tra nhật ký WAF của bạn và thêm một ngoại lệ cho facebookexternalhit.
  • Bảo vệ hotlink / Kiểm tra Referer — Một số CDN chặn yêu cầu từ IP trung tâm dữ liệu hoặc không có header Referer hợp lệ. Đưa crawler của Meta vào danh sách trắng hoặc tắt bảo vệ hotlink cho các đường dẫn phương tiện.
  • Hết hạn URL đã ký / URL presigned — Nếu URL phương tiện của bạn có dấu thời gian hết hạn (phổ biến với URL presigned S3), đảm bảo nó không hết hạn trước khi crawler của Meta có thể lấy nó. Đối với bài đăng được lên lịch, hãy tạo URL vẫn còn hiệu lực đến sau thời gian đăng đã lên lịch.
  • Lưu trữ phương tiện được quản lý — Nếu bạn sử dụng dịch vụ như Cloudinary, Imgix hoặc tương tự mà bạn không thể chỉnh sửa robots.txt, hãy kiểm tra tài liệu của họ để tìm cài đặt danh sách cho phép crawler Meta/Facebook.
Nếu không có cách nào giải quyết được vấn đề, liên hệ hỗ trợ Ayrshare và bao gồm:
  • postId thất bại từ phản hồi lỗi
  • Đầu ra của lệnh xác minh curl ở trên
  • Nội dung robots.txt của bạn

Thử lại bài đăng thất bại

Sau khi bạn đã giải quyết vấn đề truy cập crawler, hãy thử lại bài đăng thất bại của bạn bằng cách sử dụng endpoint Retry Post.

Xem thêm