关于 Google 的 AJAX 抓取规范,如果服务器为 #!
返回一件事(即一个 JavaScript 重的文件)当 #!
发送到 Googlebot 的 URL 和其他内容(即页面的“html 快照”)时替换为 ?_escaped_fragment_=
,这对我来说就像伪装。毕竟,Googlebot 如何确定服务器为 #!
返回善意等价物和 ?_escaped_fragment_=
网址。然而,这正是 AJAX 抓取规范实际上告诉网站管理员要做的。我错过了什么吗? Googlebot 如何确定服务器在两种情况下都返回相同的内容?
最佳答案
爬虫不知道。但是,即使对于返回纯 ol' html 的站点,它也永远不会知道 - 编写基于爬虫使用的 http header 或已知 IP header 隐藏站点的代码非常容易。
请参阅此相关问题:How does Google Know you are Cloaking?
大部分看起来像是猜想,但似乎有各种适当的检查,在欺骗普通浏览器标题和实际真人查看页面之间有所不同。
继续猜想,谷歌的程序员当然有能力编写一种爬虫形式来检索用户所看到的内容——毕竟,他们有自己的浏览器可以做到这一点。一直这样做会占用大量 CPU,但偶尔进行抽查可能是有意义的。
关于ajax - 当 Googlebot 请求 `?_escaped_fragment_=` URL 时,它如何知道网络服务器没有隐藏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8599688/