Facebook Open Graph API - og:被忽略的元标记

时间:2011-11-03 18:22:33

标签: facebook facebook-like opengraph facebook-opengraph

我正在解决一个问题,其中页面标题和图片未包含在Facebook喜欢的内容中。在点击OG调试器后,看起来Facebook上没有访问og:个元标记:

Here's a link to the debugger - 它说它正在推断页面上显示的og:urlog:title属性。

作为测试问题,我直接从开发人员文档中的示例复制元标记和HTML模式,我仍然得到相同的警告。

这是生成的头标记的HTML和开头:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<title>123-ABC Butterfly Fun Carpet 3'10" x 5'5" Rectangle</title>
<meta name="description" content="Transactiv Products" />
<meta name="title" content="Transactiv" />
<meta property="fb:app_id" content="289501899130" />
<meta property="og:site_name" content="Transactiv InRecv" />
<meta property="og:url" content="http://localhost:2609/Pages/ProductSummary.aspx?OrganizationProductID=617c54a0-189a-48af-9b5e-002148210208&StoreID=a1d6bc99-9a6a-4e46-bdb4-790be4e59bd4&ProductID=d6748a89-41f4-48aa-a1c1-5c28f87cc47f&PageName=MHMTest&PageID=236549899706529" />
<meta property="og:title" content="123-ABC Butterfly Fun Carpet 3'10" x 5'5" Rectangle" />
<meta property="og:type" content="website" />
<meta property="og:description" content="" />
<meta property="og:image" content="http://transactivazureprod.blob.core.windows.net/pictureblob/831a4d4a-dbe3-44f5-9ff8-12286cdc33f5" />

有关于此的任何想法吗?

4 个答案:

答案 0 :(得分:6)

Facebook会在此处读取您可以输入网址的所有属性: https://developers.facebook.com/tools/debug

Facebook会读取您指定的属性,但有时只会在所有4个被指定(而非为空)时使用,而不仅仅是最后3个

<meta property="og:url" content="YOUR_URL" />
<meta property="og:title" content="YOUR_TITLE" />
<meta property="og:description" content="YOUR_DESCRIPTION" />
<meta property="og:image" content="YOUR_IMAGE" />

答案 1 :(得分:5)

明显的缺陷。你没有完全结束这个头衔。你有"

我建议在回复之前先做str_replace('"', "''", $str)

即,

<meta property="og:title" content="123-ABC Butterfly Fun Carpet 3'10" x 5'5" Rectangle" />

<meta property="og:title" content="123-ABC Butterfly Fun Carpet 3'10'' x 5'5'' Rectangle" />

修改

您也可以考虑按照@TwoWholeWorms

的建议进行htmlentities($str, ENT_QUOTES)

答案 2 :(得分:1)

Facebook的刮刀在尝试visit your site时看到错误页面。

您可以通过调试页面底部的“查看我们的刮刀看到的内容”链接访问Facebook刮刀的页面视图。

此外,它不仅仅是一个与刮刀相关的问题,因为当我访问该链接时,我也看到相同的消息:http://transactivstaging.cloudapp.net:8080/Pages/ProductSummary.aspx?OrganizationProductID=617c54a0-189a-48af-9b5e-002148210208&StoreID=a1d6bc99-9a6a-4e46-bdb4-790be4e59bd4&ProductID=d6748a89-41f4-48aa-a1c1-5c28f87cc47f&FBUserId=100002152993326&PageName=MHMTest&PageID=236549899706529&CurrentPage=0

ShoppingCart.GetShoppingCartItems.Failed If this Error persists, you can contact our support and provide the following Error Id as a reference

答案 3 :(得分:0)

我猜这个,以及Robin Castlin提到的标题值中的"(您也可以转义为&quot;),og:url包含未转义的&符号。

如果将&替换为&amp;字段中的og:url,是否有效?

所以你要替换

<meta property="og:title"
  content="123-ABC Butterfly Fun Carpet 3'10" x 5'5" Rectangle" />
<meta property="og:url"
  content="http://localhost:2609/Pages/ProductSummary.aspx?
  OrganizationProductID= ... &StoreID= ..." />

<meta property="og:title"
   content="123-ABC Butterfly Fun Carpet 3'10&quot; x 5'5&quot; Rectangle" />

<meta property="og:url"
  content="http://localhost:2609/Pages/ProductSummary.aspx?
  OrganizationProductID= ... &amp;StoreID= ..." />

确保元数据都包含有效的HTML。