【问题标题】:Can Googlebot crawl javascript generated content?Googlebot 可以抓取 javascript 生成的内容吗?
【发布时间】:2015-08-06 07:34:34
【问题描述】:

我们有一个 Web 应用程序,其内容由 javascript 生成。谷歌可以索引这些页面吗?

当我们调查此问题时,我们总是从旧页面中找到有关在链接中使用“#!”的解决方案。

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

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

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

【问题讨论】:

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


    【解决方案1】:

    简答

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


    详细解答

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

    大多数前端框架(如 Angular、Ember 或 Backbone)已经可以使用 pushstates,因此在这些情况下,您无需执行任何操作。检查你正在使用的任何系统,看看他们是如何做事的。如果您不使用 pushstates,则需要自己实现它或使用整个 escapted_fragment html 快照处理。

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

    奖励信息 - 不幸的是,Facebook 不处理推送状态,因此 facebook 爬虫需要非动态 og-tags 或 HTML 快照。

    【讨论】:

      【解决方案2】:

      “由 JavaScript 生成”是模棱两可的。这可能意味着您正在服务器上运行 JS 脚本,也可能意味着您正在使用 JS API 进行 AJAX 调用。就 Googlebot 而言,这种差异似乎很重要。但是您不必相信我的话,因为有经验证明 Googlebot 将使用 XMLHTTPRequest APIFetch API 以实时实验的形式缓存以及目前不会缓存的 JavaScript 内容.因此,如您所见,服务器端渲染仍然是 SEO 的最佳方式。

      【讨论】:

        猜你喜欢
        • 2020-07-01
        • 1970-01-01
        • 2014-01-22
        • 2012-08-29
        • 2011-09-09
        • 2015-04-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多