AJAX爬网(hashbang转换)


AJAX-crawling (hashbang conversion)

我正在开发AJAX爬网(Google AJAX爬网)网站,但有些事情我不清楚。在应用程序的后端,我过滤掉_escaped_fragment_参数,并按预期返回HTML快照。

如下所示手动调用URL时没有问题:

(1) 动物#!狗

(2) 动物_escaped_fragment_=狗

在选项(1)中查看页面源时,会动态加载内容,在选项(2)中,页面源包含html快照。到目前为止还不错。

问题是,当按照建议使用Google fetch(Google fetch)时,只有的spider似乎是爬网选项(1),就好像AJAX爬网程序永远不会转换hashbang(#!)一样。即使在处理_escaped_fragment_的函数内部对die("AJAX test);进行硬编码时,这也不会反映在spider生成的结果中。

到目前为止,我已经按照谷歌的指导方针做了一切,我唯一能解决这个问题的线索是在谷歌论坛上的一个子页面上找到的:获取谷歌忽略我的标签。如果是这样的话,那就意味着在更改生效并重新索引页面之前,没有准确的方法来测试谷歌机器人会看到什么?

其他页面,如How to Test If Googlebot Can Access Your AJAX Content,以及谷歌页面本身建议可以使用Google Fetch测试此

这些信息似乎与其本身相矛盾,我不知道我的AJAX内容是否会被谷歌机器人正确抓取。希望有更多相关知识的人能帮助我。

哈希刘海已被放弃。PUSH状态是更友好的选择。