获取简单的ajax网站无法正常工作的Google工具

时间:2015-01-20 08:03:16

标签: javascript jquery html ajax google-webmaster-tools

我的ajax网站的Fetch as Google工具存在问题。我的网站是一个有点旧的,使用jquery编写的ajax网站。那些使它无法使用Hash Fragments的开发者。但是他们已经定义了静态路由,而ajax调用仅在视图中使用(加载页面内容)。现在我想让Google这个特定页面友好,我已经实现了Google提出的问题here

由于我的网站不是完整的单页应用,因此我直接选择了第三步。在我的路径文件中,我所做的是,如果我看到?_escaped_fragment_=参数,我将返回一个自定义模板文件,该文件将包含服务器生成的内容。 (所以它应该可以爬行,对吗?)

这是一个例子: http://example.com/topic/Health/Conditions_and_Diseases

此页面使用ajax调用从服务器获取详细信息并更新视图。 (我在此页面中添加了meta name="fragment" content="!"元标记),因此Google抓取工具应转到:

http://example.com/topic/Health/Conditions_and_Diseases?_escaped_fragment_=

···

此页面现在在服务器端生成内容,没有ajax调用。

这是正确的设置吗?但是,当我尝试在网站站长工具中获取此页面时,它不会加载任何内容。提取工具一直在说挂起并以错误结束(显示它遇到错误需要很长时间,但没有提到错误。)我通过手动访问每个URL确保这两个版本都正常工作。在我实现之前,Fetch工具实际上显示了没有内容的页面图像。所以现在我期待看到内容。但不知道为什么它花了很长时间+它给出了错误。

有人可以解释一下我做错了哪一部分?我对?_escaped_fragment_=参数的想法是否正确???

提前谢谢。

1 个答案:

答案 0 :(得分:7)

我很担心,因为这里没有人可以回答这个问题。所以我必须自己找到它。根据Google员工的Google Forum回答,抓取工具无法解析元标记。它只是呈现页面。

快照网址只有在抓取工具真正抓取时才会被抓取工具抓取。显然这是现在的正确答案。希望这将有助于其他人。

  

嗨,Todd很高兴看到有更多网站使用AJAX抓取提案   :! - )

     

查看您博客的主页,要记住的一件事是   Googlebot抓取功能不会解析它提取的内容。   因此,当您提交http://toddmoyer.net/blog/时,它会获取该网址。   获取URL后,它不会解析它以检查URL   "片段"元标记,它只是将它返回给你。但是,如果你拿   http://toddmoyer.net/blog/#! ,那么它应该重写URL和   获取网址http://toddmoyer.net/blog/?_escaped_fragment_=

     

当我们抓取您的网页并将其编入索引时,我们会注意到元标记并采取行动   因此。这只是Googlebot的抓取功能   检查元标记,而只返回原始内容。

     

我希望这会让它更清晰一点!

     

干杯约翰