Làm cách nào để cho Facebook biết hình ảnh nào sẽ được sử dụng khi trang của tôi được chia sẻ?
Facebook có một bộ thẻ meta biểu đồ mở mà nó nhìn vào để quyết định hình ảnh nào sẽ hiển thị.
Các phím một cho hình ảnh Facebook là:
<meta property="og:image" content="http://ia.media-imdb.com/rock.jpg"/>
<meta property="og:image:secure_url" content="https://secure.example.com/ogp.jpg" />
và nó phải được trình bày bên trong <head></head>
thẻ ở đầu trang của bạn.
Nếu các thẻ này không xuất hiện, nó sẽ tìm phương pháp cũ hơn để chỉ định hình ảnh: <link rel="image_src" href="https://stackoverflow.com/myimage.jpg"/>
. Nếu không có mặt, Facebook sẽ xem xét nội dung trang của bạn và chọn hình ảnh từ trang của bạn đáp ứng tiêu chí hình ảnh chia sẻ của nó: Hình ảnh phải có ít nhất 200px x 200px, có tỷ lệ khung hình tối đa là 3: 1 và ở định dạng PNG, Định dạng JPEG hoặc GIF.
Tôi có thể chỉ định nhiều hình ảnh để cho phép người dùng chọn một hình ảnh không?
Có, bạn chỉ cần thêm nhiều thẻ meta hình ảnh theo thứ tự bạn muốn chúng xuất hiện. Người dùng sau đó sẽ được trình bày với hộp thoại chọn hình ảnh:
Tôi đã chỉ định các thẻ meta hình ảnh phù hợp. Tại sao Facebook không chấp nhận các thay đổi?
Khi một url đã được chia sẻ, trình thu thập thông tin của Facebook, có tác nhân người dùng facebookexternalhit/1.1 (+https://www.facebook.com/externalhit_uatext.php)
, sẽ truy cập trang của bạn và lưu trữ thông tin meta. Để buộc các máy chủ Facebook xóa bộ nhớ cache, hãy sử dụng Công cụ gỡ lỗi / Linter Facebook mà họ đã khởi chạy vào tháng 6 năm 2010 để làm mới bộ đệm và khắc phục mọi sự cố về thẻ meta trên trang của bạn.
Ngoài ra, hình ảnh trên trang phải được truy cập công khai vào trình thu thập thông tin của Facebook. Bạn nên chỉ định url tuyệt đối như http://example.com/yourimage.jpg thay vì chỉ /yourimage.jpg.
Tôi có thể cập nhật các thẻ meta này bằng mã phía máy khách như Javascript hoặc jQuery không?
Không giống như các trình thu thập dữ liệu của công cụ tìm kiếm, trình quét của Facebook không thực thi các tập lệnh vì vậy bất kỳ thẻ meta nào có mặt khi trang được tải xuống là các thẻ meta được sử dụng để chọn hình ảnh.
Thêm các thẻ này khiến trang của tôi không còn xác nhận. Làm thế nào tôi có thể sửa lỗi này?
Bạn có thể thêm các không gian tên Facebook cần thiết vào thẻ của mình và sau đó trang của bạn sẽ vượt qua xác thực:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:og="http://ogp.me/ns#"
xmlns:fb="https://www.facebook.com/2008/fbml">