Googlebot vs“Google Plus +1 Share Button bot”?

时间:2013-10-17 04:02:07

标签: metadata google-plus bots google-plus-one

网站设置

我有一个完全客户端的单页webapp,它在客户端动态更新和路由。我重定向任何#!请求无头服务器,使用javascript执行呈现请求,并将最终的html返回给机器人。该网站的负责人还包含:

<meta name="fragment" content="!">

Google正常工作

使用Fetch as Google网站管理员工具,在“获取状态”页面中,我可以看到用于更新og:title,og:image和og:description的jQuery已执行并且已替换默认值。一切看起来都不错,如果我鼠标悬停在URL上,截图是正确的。

但是,使用Google Plus按钮,无论og:title,og:image和og:description标签更新为什么值,共享弹出窗口始终使用默认/初始值。

尝试使用

每次网站内容更新,重新路由以及og元内容更新后,我都会调用此方法。

gapi.plusone.render("plusone-div");

我假设如果这种方法适用于Googlebot,它也适用于+1按钮。 Googlebot与+1用于检索网站元数据的内容之间是否存在差异?

编辑: 传递包含#的网址!导致“找不到网站”

gapi.plusone.render("plusone-div", {"href" : 'http://www.site.com/#!city/Paris');

2 个答案:

答案 0 :(得分:2)

Google呈现器在呈现+1按钮时不会呈现代码段,而是在用户单击+1按钮(或共享按钮)时呈现。您应该尝试的是确定Google抓取工具在用户启动和异步加载期间服务器向Googlebot发送的内容。

您可以使用以下cURL命令来模拟它:

curl -A "Mozilla/5.0 (Windows NT 6.1; rv:6.0) Gecko/20110814 Firefox/6.0 Google (+https://developers.google.com/+/web/snippet/)" http://myurl.com/path/to/page

您可以通过向命令添加-o testoutput.html将该命令输出到文件。

这可让您了解Google抓取工具在遇到您的网页时所看到的内容。 structured data testing tool也可以给你提示。

您可能会看到的是,除非您在静态文件或服务器端进行代码段准备,否则您可能无法获得所需的代码段。

如果您可以提供真实的网址进行测试,我可以提供更具体的反馈。

答案 1 :(得分:2)

Google+使用_escaped_fragment_查询参数获取网页,但没有等号。

因此,它会获取http://www.site.com/?_escaped_fragment而不是https://www.site.com?_escaped_fragment_=

Google搜寻抓取工具仍然使用带有等号的片段,这仅适用于Google plus抓取工具。