2011-09-20 100 views
1

我在密碼保護頁面上使用Facebook註釋。我最近發現,當創建一個新帖子時,我得到'Facebook comments {page}無法訪問'錯誤,當我使用Facebook的調試工具進行調試時,找不到ID。 FB命名空間,元標記和js都正確插入,並在所有非受保護頁面上正常工作。如何允許Facebook訪問受保護的內容

當我禁用密碼保護並刷新頁面時,一切工作正常,並且正確加載後,一旦它似乎很好,當我重新啓用密碼保護也。

所以我猜Facebook必須能夠第一次訪問該頁面來設置它的數據庫?

有沒有一種方法可以讓Facebook最初訪問頁面。例如,在我的驗證功能,我可以添加:

if(can_user_view_content() || is_request_from_facebook()){ 
    //echo content and comments 

是否Facebook發送一個用戶代理字符串,我可以使用還是有比對測試用戶代理更好的辦法?

感謝

回答

2

Facebook的機器人通常與用戶代理頭FacebookExternalHit/1.1FacebookExternalHit/1.0操作(但版本號可能會在某個時候增加)

如果你平時門您的內容已登錄的用戶,但需要的履帶式爲了達到您的頁面,請注意,您不需要將完整的內容返回給抓取工具,只要打開的圖形meta標籤返回到 (即將相同的標籤用於常規內容的登錄頁面也)

+0

謝謝,我會有一個玩機智h您建議的用戶代理。 訪問頁面只是隱藏的主要內容和評論(用登錄表單取代),所以FB抓取工具可以訪問meta標籤等。 – patnz