php - AJAX 爬虫(hashbang 转换)

标签 php ajax seo googlebot hashbang

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

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

(1) animals#!dogs

(2) animals?_escaped_fragment_=dogs

当在选项 (1) 中查看页面源时,内容是动态加载的,而在选项 (2) 中,页面源包含 html 快照。到目前为止,一切都很好。

问题是,当按照建议(Google Fetch)使用 Google 抓取时,蜘蛛似乎抓取选项(1),就好像 hashbang(#!)永远不会被 AJAX 转换一样-爬虫。即使在处理 _escaped_fragment_ 的函数中对 die("AJAX test); 进行硬编码,这也不会反射(reflect)在蜘蛛生成的结果中。

到目前为止,我已经根据 Google 的指导方针完成了所有工作,我对这个问题的唯一线索是在 Google 论坛的一个子页面上找到的:Fetch as Google ignoring my hashtag .如果是这种情况,那就意味着在更改生效并且页面重新编入索引之前,没有准确的方法来测试 Google 机器人会看到什么?

其他页面如How to Test If Googlebot Can Access Your AJAX Content并且 Google 页面本身建议这可以使用 Google Fetch 进行测试。

这些信息似乎自相矛盾,我不知道我的 AJAX 内容是否会被 Google 机器人正确抓取。希望对这个问题有更多了解的人可以帮助我。

最佳答案

散列刘海已被废弃。 PUSH states是更友好的选择。

关于php - AJAX 爬虫(hashbang 转换),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28589167/

相关文章:

php - Zend_Db_Profiler 记录到文件

javascript - 无法读取房地产谷歌图表

php - 根据用户订阅计算月和日的记录

javascript - 如何使用 Javascript 获取多个输入字段的值

javascript - 滚动位置如何保持在侧边栏中的事件项目上?

seo - 如何在谷歌搜索中设置网站的层次结构设计?

php - 尝试使用 Docker 启动已安装的 Symfony "Akeneo PIM"时,EACES 权限被拒绝

javascript - 如果提交了新的 AJAX 请求,则取消 AJAX 请求

algorithm - 索引句子的最佳算法

php - 创建良好的 SEO 友好 URL