Googlebot可以抓取javascript生成的内容吗?

时间:2015-08-06 07:34:35

标签: javascript ajax web-applications googlebot google-crawlers

我们有一个网页应用,其内容由javascript生成。可以google索引那些页面吗?

当我们调查此问题时,我们始终从旧页面找到关于使用" #!"的解决方案。在链接中。

在我们的应用中,链接是这样的:
domain.com/paris
domain.com/london

当我们使用这些链接时,javascript会填充内容。

使用 HTML snapshot 是否明智,或者您有其他建议吗?

2 个答案:

答案 0 :(得分:0)

简短回答

是的,只要您使用的是pushstates,他们就可以抓取JavaScript生成的内容。

详细答案

这取决于您的设置。 Google和Bing CAN会抓取基于javascript和AJAX的内容如果您使用的是pushstates 。如果你这样做,他们将处理来自AJAX调用的内容,使用javascript对页面标题或元标记的更新,以及通常任何此类事情。

Angular,Ember或Backbone等大多数前端框架已经与pushstates一起使用,所以在这些情况下你不需要做任何事情。检查您使用的任何系统,看看他们是如何做的。如果您不使用pushstates,则需要自己实现或使用整个escapted_fragment html快照协议。

因此,如果您使用pushstate,那么搜索引擎可以抓取您的页面。如果不这样做,则需要实现pushstates或HTML快照。

奖励信息 - 遗憾的是Facebook不处理pushstates,因此facebook抓取工具需要非动态og-tags或HTML快照。

答案 1 :(得分:0)

"由JavaScript生成"很暧昧。这可能意味着您在服务器上运行JS脚本,或者它可能意味着您正在使用JS API进行AJAX调用。就Googlebot而言,差异似乎很重要。但是你不必接受我的话,因为有经验证据证明Googlebot目前将使用{{3}以实时实验形式缓存JavaScript内容。和XMLHTTPRequest API。因此,正如您所看到的,服务器端呈现仍然是搜索引擎优化的最佳方式。