2012-05-14 16 views
7

Dưới đây là một URL ví dụ:In-Facebook chia sẻ URL không kéo trong og: thông tin thẻ cho đến khi chạy qua debugger (mặc dù debugger cho không có lỗi)

http://www.motherjones.com/mojo/2012/05/reince-priebus-lgbt-workplace-discrimination

Trên đây sử dụng để kéo trong không có hình ảnh, tiêu đề hoặc mô tả khi dán vào hộp cập nhật trạng thái Facebook - nó vẫn là một URL trống. Sau đó tôi chạy nó thông qua trình gỡ lỗi, không tìm thấy vấn đề gì. Nó bây giờ kéo vào dòng tiêu đề, hình ảnh và mô tả khi dán vào hộp cập nhật trạng thái.

Để so sánh, đây là bài đăng mà tôi chưa gỡ lỗi. Nó không biến đổi khi dán vào hộp cập nhật. Ngay sau khi tôi hoặc bất cứ ai khác chạy nó thông qua trình gỡ lỗi, tuy nhiên, nó sẽ bắt đầu kéo vào dòng tiêu đề (mặc dù điều này không có một hình ảnh hoặc mô tả).

http://www.motherjones.com/kevin-drum/2012/05/health-insurers-required-credit-obama-when-sending-out-rebate-checks

Điều này đơn giản có thể là một vấn đề thời gian - FB là chậm chạp trong việc chuẩn bị các siêu dữ liệu trên các trang của chúng tôi - nhưng chúng tôi đã nhận thấy rằng phải mất giờ, có lẽ ngày đối với việc chia sẻ để bắt đầu hoạt động đúng. Đó là lâu sau khi các mảnh đã đạt đỉnh điểm trong giao thông, vì vậy nó làm chúng ta ít tốt.

Chúng tôi bắt đầu nhìn thấy điều này vào khoảng tháng Tư 9.

Câu hỏi của tôi: là có một cái gì đó về trang của chúng tôi đó là làm cho Facebook chậm để cạo họ? Tôi đang thiếu gì? Nếu có sự cố, tại sao trình gỡ lỗi không cho tôi biết? Dường như có một phiên bản cập nhật hơi của tài liệu để thử, nhưng điều đó dường như không phải là thủ phạm. Ngoài ra - có lý do gì tôi không nên viết một cái móc để chạy tất cả mọi thứ thông qua trình gỡ lỗi vào thời gian xuất bản?

+0

Cũng nên lưu ý rằng việc nhấp vào "thích" trên trang sẽ tạo ra một chia sẻ bình thường với siêu dữ liệu (nhưng không khắc phục được việc chia sẻ dán). –

Trả lời

2

Facebook lưu trữ dữ liệu bị xóa trên mặt của họ để phản hồi nhanh hơn khi người dùng chia sẻ. Trong tài liệu hướng dẫn của Like Button nó nói:

Khi nào Facebook cạo trang của tôi?

Facebook cần phải cạo trang của bạn để biết cách hiển thị trang web xung quanh trang web.

Facebook sẽ xóa trang của bạn sau mỗi 24 giờ để đảm bảo các thuộc tính là được cập nhật. Trang cũng được cạo khi quản trị viên của trang Open Graph nhấp vào nút Thích và khi URL được nhập vào Trình quét URL Facebook. Facebook quan sát tiêu đề bộ nhớ cache trên các URL của bạn - nó sẽ xem xét "Hết hạn" và "Bộ nhớ cache-Kiểm soát" theo thứ tự ưu tiên. Tuy nhiên, ngay cả khi bạn chỉ định thời gian dài hơn, Facebook sẽ xóa trang của bạn sau mỗi 24 giờ.

Các user agent của scraper là: "facebookexternalhit/1.1 (+ http: //www.facebook.com/externalhit_uatext.php)"

Như bạn có thể thấy, khi bạn sử dụng Linter (aka công cụ gỡ lỗi) nó xóa bộ nhớ cache cho url được sử dụng và thay thế nó bằng dữ liệu mới, đó là lý do tại sao bạn nhận được kết quả chia sẻ khác nhau sau khi bạn gỡ lỗi trang. Nó không ngồi ngay cả khi bạn nói rằng nó đôi khi mất nhiều ngày, nhưng có lẽ tài liệu của họ không hoàn toàn chính xác về chủ đề đó, sau khi tất cả họ có rất nhiều để phế liệu.

Nếu trang mới, đó là trang chưa bị xóa trước đó thì không có bộ nhớ cache và bạn sẽ có kết quả đúng khi chia sẻ, chỉ khi dữ liệu og bị thay đổi khi bạn cần xóa bộ nhớ cache. Vì vậy, nếu bạn cập nhật dữ liệu cho trang bị xóa, hãy chắc chắn gỡ lỗi sau này, bạn chỉ có thể gửi yêu cầu http đến cùng url mà họ sử dụng trong công cụ gỡ lỗi từ phía máy chủ, bạn không cần sử dụng giao diện web .

Nếu mọi thứ vẫn không hoạt động như bạn mong đợi, bạn có thể kiểm tra chuỗi tác nhân người dùng của yêu cầu gửi đến và so sánh nó với facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php) và nếu nó khớp với nhật ký phản hồi bạn gửi lại. khi chia sẻ, nếu không phù hợp, hãy thử gửi báo cáo lỗi. Đối với "hooking" một yêu cầu trình gỡ lỗi cho mỗi xuất bản, tôi sẽ đề nghị chống lại nó, có vẻ như lưu lượng truy cập không cần thiết nếu những điều hoạt động như họ cần. Tôi tin rằng nó tốt hơn để giải quyết vấn đề sau đó sử dụng một công việc xung quanh.

+0

Cảm ơn câu trả lời của bạn. Tôi sẽ tìm trong nhật ký cho scraper và kiểm tra tiêu đề bộ nhớ cache của tôi. Dường như dữ liệu xấu/không có dữ liệu nào phải được lưu vào bộ nhớ cache bằng cách nào đó. Chia sẻ với nút tương tự hoạt động bình thường ngay cả khi tính năng chia sẻ dán không thành công và việc chia sẻ tiếp tục xấu, ngay cả sau nhiều lượt thích và lượt chia sẻ, cho đến khi bộ nhớ cache xóa bộ nhớ cache. Đây không phải là trường hợp chúng ta cần phải đảm bảo cập nhật thông qua - việc cạo đầu tiên phải là xấu. Nó cuối cùng cũng có được siêu dữ liệu nhưng sự chậm trễ của giờ là đủ để thực sự làm tổn thương chúng tôi. Nếu tôi tìm ra nguyên nhân gây ra điều này, tôi chắc chắn sẽ cập nhật không gian này. –

+0

Tôi bây giờ có một lý thuyết mới. Chúng tôi đã loại bỏ rất nhiều nội dung chưa được xuất bản. Các bản ghi cho thấy FB đang cố gắng để đạt được nội dung này và nhận được 403 (như nó cần). Sau đó, câu hỏi là - điều gì khiến FB biết về trang chưa được xuất bản? Có phải chính nút đó, SDK hay cả hai? Tôi phải giữ gìn các trang chưa được xuất bản để tránh bị loại bỏ? –

+1

Có một số trình kích hoạt để loại bỏ một trang, một trong số đó là kết xuất của một nút tương tự. Và nếu url trả về 403 thì sẽ được lưu trữ. Bạn có sử dụng cùng một url để dàn dựng và sản xuất không? –

Các vấn đề liên quan