我的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_=
参数的想法是否正确???
提前谢谢。
答案 0 :(得分:7)
快照网址只有在抓取工具真正抓取时才会被抓取工具抓取。显然这是现在的正确答案。希望这将有助于其他人。
嗨,Todd很高兴看到有更多网站使用AJAX抓取提案 :! - )
查看您博客的主页,要记住的一件事是 Googlebot抓取功能不会解析它提取的内容。 因此,当您提交http://toddmoyer.net/blog/时,它会获取该网址。 获取URL后,它不会解析它以检查URL "片段"元标记,它只是将它返回给你。但是,如果你拿 http://toddmoyer.net/blog/#! ,那么它应该重写URL和 获取网址http://toddmoyer.net/blog/?_escaped_fragment_=。
当我们抓取您的网页并将其编入索引时,我们会注意到元标记并采取行动 因此。这只是Googlebot的抓取功能 检查元标记,而只返回原始内容。
我希望这会让它更清晰一点!
干杯约翰