2012-04-27 170 views
29

它已經在工作,但今天我很驚訝,當我嘗試分享鏈接時,Facebook沒有顯示圖片,來自og:image meta標籤。Facebook不會加載圖片:image

facebook debugger

Meta Tag: <meta property="og:description" content="Профессиональная сеть вопросов и ответов,создаваемая и управляемая сообществом пользователей. Ресурс для тех, кто хочет знать ответы на все вопросы." /> 
Meta Tag: <meta property="og:title" content="Закрытое экспертное сообщество OdinOtvet" /> 
Meta Tag: <meta property="og:type" content="website" /> 
Meta Tag: <meta property="og:image" content="http://www.odinotvet.ru/images/logo_250.png" /> 
Meta Tag: <meta property="og:url" content="http://www.odinotvet.ru" /> 
Meta Tag: <meta property="og:site_name" content="ОдинОтвет" /> 
Meta Tag: <meta property="fb:app_id" content="286967601317982" /> 
Meta Tag: <meta property="fb:admins" content="100002890978393,100001666575542" /> 

enter image description here

哪裏像?

回答

19

的圖像出現在Facebook的調試器(雖然它看起來並不大,因爲你已經有了一些透明度與你的灰色背景的效果最好,其FB不會拿)

也是其最好用一個方形圖像。

有一件事我發現Facebook將元數據緩存在他們身邊。因此,如果我們對圖片等內容進行更改,則在清除緩存之前,它們不會始終顯示。也許你以前有錯誤的圖片url /沒有url,FB已經緩存了這個結果。如果是這樣,您可能需要等待一段時間才能清除並重新獲取數據。我已經看到它需要一段時間(在大約一天的範圍內)

+1

從png更改爲gif解決了這個問題,而且舊的png沒有被FB緩存,因此我在應用和使用FB調試器進行測試後立即播種結果 – Alexei 2012-05-14 05:39:54

+6

通過Facebook調試器來保存URL會強制緩存刷新 - 如果你不耐煩,請記住一些事情! – DaveStephens 2012-10-09 01:36:17

+3

即使這樣也不會一直刷新緩存 – 2013-04-08 03:22:34

6

我有同樣的問題,但FB調試器「說」,圖像必須在兩個維度至少200px。當我將圖像的大小調整到200px時,所有圖像都很順利。另一件事是布魯斯說的 - 緩存。我不得不開始另一個頁面來測試我的最終鏈接。

希望這會有所幫助。 Regards

+1

有趣的是,Facebook忽略了我在og:image中的144x144 png,贊成加載spinner.gif,它的大小是16x16左右。有趣。將嘗試200x200 PNG,但我敢打賭,它只是想要.gif,或者PNG上的8位透明度令人困惑? – 2013-05-08 16:23:56

3

當你發現你想在facebook上分享的頁面存在緩存問題(我的意思是如果你看到你的頁面源代碼和Facebook上出現的值有差異,或者你注意到一些缺失的值) ,那麼你可以繼續下面的網址https://developers.facebook.com/tools/debug/,給你想要在Facebook上分享的url並提交表單以清除facebook緩存。 您現在可以再次嘗試共享您的頁面,您應該看到與您的頁面源代碼中相同的值。

+0

看來緩存實際上已被清除。然而,Facebook似乎並不喜歡小圖片。如果圖像太小,則「隨機」拍攝圖像。 – progzy 2014-12-12 14:18:42

11

原來的答案是也設置og:image:widthog:image:height

參見: Facebook Open Graph No Image First Time

(在我自己的測試,我發現,設置og:image:widthog:image:height足以設置og:image:type是不必要的。)

3

把您的網址進入該網站,Facebook將幫助你出:

http://developers.facebook.com/tools/debug

一段時間的Facebook顯示舊緩存圖像文件,所以上面的網址你的意志所以當前更新的結果。一旦完成Facebook將存儲您的新圖像後,它將只顯示新的圖像。

-2

試試這將有助於

<?php 

$params = array(); 
if(count($_GET) > 0) { 
    $params = $_GET; 
} else { 
    $params = $_POST; 
} 
// defaults 
if($params['type'] == "") $params['type'] = "restaurant"; 
if($params['locale'] == "") $params['locale'] = "en_US"; 
if($params['title'] == "") $params['title'] = "default title"; 
if($params['image'] == "") $params['image'] = "thumb"; 
if($params['description'] == "") $params['description'] = "default description"; 

?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# MY_APP_NAME_SPACE: http://ogp.me/ns/fb/MY_APP_NAME_SPACE#"> 
     <title></title> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 

     <!-- Open Graph meta tags --> 
     <meta property="fb:app_id" content="MY_APP_ID" /> 
     <meta property="og:site_name" content="meta site name"/> 
     <meta property="og:url" content="URL/index.php?type=<?php echo $params['type']; ?>&locale=<?php echo $params['locale']; ?>&title=<?php echo $params['title']; ?>&image=<?php echo $params['image']; ?>&description=<?php echo $params['description']; ?>"/> 
     <meta property="og:type" content="MY_APP_NAME_SPACE:<?php echo $params['type']; ?>"/> 
     <meta property="og:locale" content="<?php echo $params['locale']; ?>"/> 
     <meta property="og:title" content="<?php echo $params['title']; ?>"/> 
     <meta property="og:image" content="URL/img/<?php echo $params['image']; ?>.png"/> 
     <meta property="og:description" content="<?php echo $params['description']; ?>"/> 

    </head> 
</html> 
-2

答案是,您必須記住要使圖像開放訪問。如果您將其上傳到您的服務器,並且您的服務器已激活安全性。 (安全意味着你不能在不知道鏈接的情況下訪問圖片或任何東西)。如果這是激活的Facebook無法連接到您的圖像。

你可以做的一件事是上傳你的圖片到Dropbox並公開該文件。所以每個人都可以訪問它,然後將其鏈接到:)。或者只是打開你的服務器訪問權限。 ^^ :)