【发布时间】:2015-04-19 18:46:00
【问题描述】:
我正在开发 AJAX-crawlable (Google AJAX-crawling) 网站,但有些事情我不清楚。在应用程序的后端,我过滤掉了 _escaped_fragment_ 参数并按预期返回了 HTML 快照。
如下图手动调用 URL 时没有问题:
(1) 动物#!dogs
(2) 动物?_escaped_fragment_=狗
在选项 (1) 查看页面源时,内容是动态加载的,而使用选项 (2) 时,页面源包含 html 快照。到目前为止,一切都很好。
问题是,当按照建议使用 Google fetch (Google Fetch) 时,蜘蛛 only 似乎抓取选项 (1) 好像 hashbang (#!) 永远不会被 AJAX 转换-履带式。即使在处理_escaped_fragment_ 的函数中硬编码die("AJAX test);,这也不会反映在蜘蛛生成的结果中。
到目前为止,我已经按照 Google 的指导方针完成了所有工作,我对这个问题的唯一线索可以在 Google 论坛的子页面上找到:Fetch as Google ignoring my hashtag。如果是这种情况,那么这意味着没有准确的方法来测试 Google 机器人将看到的内容,直到更改生效并且页面被重新编入索引?
How to Test If Googlebot Can Access Your AJAX Content 等其他页面和 Google 页面本身建议此可以使用 Google Fetch 进行测试。
这些信息似乎自相矛盾,我不知道我的 AJAX 内容是否会被 Google 机器人正确抓取。希望对这个主题有更多了解的人可以帮助我。
【问题讨论】:
-
请让hangbangs在火灾中死去。它们是一种可怕的黑客攻击,已被 the history API 取代。
-
@Quentin 我同意。正如昆汀所说,你应该阅读
window.history。
标签: php ajax seo googlebot hashbang