为什么搜索引擎抓取工具不能运行javascript?

Kha*_* TO 13 javascript ajax search-engine google-crawlers

我一直在使用一些高级的javascript应用程序,使用大量的ajax请求来呈现我的页面.要使应用程序可以抓取(通过谷歌),我必须关注https://developers.google.com/webmasters/ajax-crawling/?hl=fr.这告诉我们要做的事情:重新设计我们的链接,创建HTML快照,......以使网站可搜索.

我想知道为什么爬虫不运行javascript来获取渲染的页面和索引.这背后有原因吗?或者它是未来可能出现的搜索引擎的缺失特征?

Loï*_*oix 4

尽管 GoogleBot 实际上确实处理用 js 编写的网站。ajax 网站的大问题是,即使 GoogleBot 可以执行 js 并处理 ajax 请求。

网络爬虫不可能完全知道页面何时完成加载。因此,网络爬虫可以在开始执行 ajax 请求之前加载页面并索引该页面。假设脚本将在页面滚动时执行。谷歌机器人很可能不会触发所有可能的事件。

另一个问题是导航

由于无需重新加载页面即可完成导航,因此一个 url 可以映射到多个“查看结果”。因此,谷歌要求开发人员保留使用静态页面的页面副本,以支持那些否则无法访问的页面。他们将被索引。

如果您的站点可以通过完全限定的 URL 访问每个页面。那么您对网站进行索引就不会有问题。

也就是说,脚本将会运行。但不确定爬虫在处理完所有脚本后是否会索引页面。

这是一个链接:

GoogleBot 更聪明:它写于 2010 年,我们可以预期网络爬虫从那时起变得更加聪明。