【问题标题】:How does Googlebot know a webserver is not cloaking when it requests a `?_escaped_fragment_=` URL?Googlebot 在请求 `?_escaped_fragment_=` URL 时如何知道网络服务器没有伪装?
【发布时间】:2012-01-25 20:20:17
【问题描述】:
关于 Google 的 AJAX 抓取规范,如果服务器返回 一个 的东西(即,一个 JavaScript 重的文件)对于一个 #! URL 和一些 else (即,当#! 替换为?_escaped_fragment_= 时,向Googlebot 发送页面的“html 快照”,感觉对我来说就像是在伪装。毕竟,Googlebot 是如何确保服务器为 #! 和 ?_escaped_fragment_= 网址返回善意的等价物的。然而,这正是 AJAX 抓取规范实际上告诉网站管理员要做的事情。我错过了什么吗? Googlebot 如何确保服务器在两种情况下都返回相同的内容?
【问题讨论】:
标签:
ajax
googlebot
google-crawlers
【解决方案1】:
爬虫不知道。但是,即使对于返回纯 ol' html 的网站,它也永远不会知道 - 编写代码以根据爬虫使用的 http 标头或已知的 IP 标头来掩盖网站是非常容易的。
查看这个相关问题:How does Google Know you are Cloaking?
其中大部分看起来像是猜想,但似乎有各种就地检查,在欺骗正常浏览器标题和实际查看页面的真人之间有所不同。
继续猜想,当然不会超出 Google 程序员的能力范围,编写一种爬虫形式来实际检索用户所看到的内容 - 毕竟,他们有自己的浏览器可以做到这一点。一直这样做会耗费过多的 CPU,但对于偶尔的抽查来说可能是有意义的。