Facebook需要实际CRAWL页面让OG工作吗?

时间:2013-02-03 03:48:45

标签: facebook facebook-graph-api opengraph facebook-opengraph

我试图复制一些Amazon.com正在做的事情。一个人退房后,他们就可以分享到社交网络,即他们刚刚购买的产品。

但是,在我的网站上,Facebook不会抓取最终预订页面,因为在用户输入信用卡信息后,它们会被动态驱动。

我知道短绒可以用来强行去除......但这真的不是这里的故事....

我当然是在引用存储在元标记中的OG信息。

   <meta property="og:title" content="The Rock"/>
    <meta property="og:type" content="movie"/>
    <meta property="og:url" content="http://www.imdb.com/title/tt0117500/"/>
    <meta property="og:image" content="http://ia.media-imdb.com/rock.jpg"/>
    <meta property="og:site_name" content="IMDb"/>
    <meta property="fb:admins" content="USER_ID"/>
    <meta property="og:description"
          content="A group of U.S. Marines, under command of
                   a renegade general, take over Alcatraz and
                   threaten San Francisco Bay with biological
                   weapons."/>

我无法在opengraph工作与否之前找到关于facebook是否真的需要CRAWL页面的任何明确文档。如果上面的内容不在可抓取页面上,它仍然可以使用吗?

如果没有?有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

是的,要使Like-Button和Open Graph-Metadata正常工作,Facebook 肯定要抓取您的网页(如何获取元标记的内容呢?) 。以下是关于OG-metatags的(旧)文档,它提供了一个很好的概述:

https://developers.facebook.com/docs/opengraphprotocol/

这个想法是,图中的每个对象都在一个包含OG元数据的唯一URL上表示。对于您的应用程序,这意味着,动态生成的预订页面必须可供爬虫使用,例如。在http://yourapp.com/booking.php?id=45345,您将输出以下标记:

<meta property="og:title" content="Booking No. 45345"/>
<meta property="og:type" content="order"/>
<meta property="og:description" content="..."/>
<meta property="og:url" content="http://yourapp.com/booking.php?id=45345"/>

此URL的Like-Button生成的故事将包含一个返回订单页面的链接。

现在,问题是,您真的希望公开提供预订页面吗?永久性?如果答案是“否”,那么Like-Button&amp; OG-metatags可能不是您在应用中共享的正确选择。你应该考虑让你的用户分享Feed-dialogue,这可以让你制作个人故事:

https://developers.facebook.com/docs/reference/dialogs/feed/