2013-03-26 84 views
0

有一點背景信息是我和我的團隊爲一個房地產代理公司開發了一個網站,並且我已經分配了將當前選定的財產的圖像設置爲Facebook的共享功能的任務。在Facebook上發佈時顯示單個縮略圖

該屬性的網頁是動態的,因爲有幾個列表,所以我所做的是選擇在頁面上加載的第一個圖像,並將其設置爲元標記的og:image

現在,假設我複製URL並將其發佈到Facebook上,它會顯示正確的縮略圖,但是,它也會顯示來自其他列表的多個縮略圖。

在網站上的所有圖像是在200×200像素,並且是3的縱橫比內:1。

我的問題是,我如何告訴Facebook只採取我的初始形象,而不是抓住其他人。 是否有可以應用的SelectSingleImage屬性?

我已經花了更多的時間尋找這個問題的答案比我想要的,所以謝謝你提供的任何幫助,這是非常感謝。

+0

每個網址上是否只有一個'og:image'標記? – Lix 2013-03-26 14:12:57

+0

正確。在查看我的網頁來源時,有一個單獨的圖片元標記。 – MPaul 2013-03-26 19:25:20

回答

0

看起來Facebook將這些圖像保存在緩存中有一些奇怪的原因,但爲了解決這個問題,我只需要將該網址輸入到Facebook的Linter工具中,然後清除其服務器上的緩存。

0

我有時使用的一種方法是識別Facebook的服務器,並簡單地提供不同的數據。這樣,你實際上只能在頁面上看到一個圖像(據Facebook所知)。

我對並不瞭解,但是這裏有一個簡單的PHP代碼示例。它所做的只是在請求的用戶代理上執行正則表達式,以使其與字符串"facebook"匹配。

$isFacebook = false; 
if(preg_match("/facebook/",strtolower($_SERVER["HTTP_USER_AGENT"]))) { 
    $isFacebook = true; 
} 

的Facebook很可能會改變他們的用戶代理簽名的一天,但現在,我敢肯定你會是安全的,但跟上Developers BlogRoadmap同步。