【问题标题】:For SEO, can I just serve a static HTML alternative version alongside my Angular app?对于 SEO,我可以在我的 Angular 应用程序旁边提供静态 HTML 替代版本吗?
【发布时间】:2014-02-02 02:56:21
【问题描述】:

我有一个单页 AngularJS 应用程序,我希望初始页面呈现包含所有相关信息作为 HTML,因此它可以在禁用 JavaScript 的情况下进行抓取。

为简单起见,我只想添加一个替代 HTML 版本,该版本在 Angular 应用加载时隐藏。

<div>
    <!-- Static page content for crawlers, hidden when Angular app loads -->
</div>

<!-- Angular app -->

这种方法(提供完整的预渲染副本)有哪些缺点? Angular 应用程序从作为页面一部分呈现的 JavaScript 对象中提取数据,我很高兴能够忍受两次发送的数据。

【问题讨论】:

  • 你可以去掉可访问性标签,这本身不是可访问性问题,而是 SEO。

标签: angularjs seo javascript-framework


【解决方案1】:

搜索引擎机器人并不真正关心内容是否隐藏/可见。

搜索引擎机器人会爬取页面的几乎全部内容。

因此强烈建议只保留相关内容。

【讨论】:

    【解决方案2】:

    Google 已经定义了一个规范,允许您在所有必要的 Javascript 运行到搜索引擎之后提供页面 HTML 的快照。

    这得到了 Google、Bing、Yandex 甚至一些社交网络机器人的支持:以下是支持者的详细信息:http://blog.ajaxsnapshots.com/2013/11/googles-crawlable-ajax-specification.html

    您自己实现此功能是一项相当大的工作,因此包括https://ajaxsnapshots.com(我为之工作的)在内的多家公司将其作为一项服务提供,您可以将其插入您的网络服务器,而无需对您的应用进行任何更改。

    【讨论】:

    • 似乎 ajaxsnapshots 已关闭,还有其他选择吗?
    猜你喜欢
    • 2016-09-03
    • 1970-01-01
    • 2015-01-17
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2019-03-07
    • 2019-12-18
    • 2021-03-18
    相关资源
    最近更新 更多