【问题标题】:SEO and multi language supportSEO和多语言支持
【发布时间】:2016-04-25 15:04:54
【问题描述】:

我运行一个使用 Angular 构建的网站,我使用 angular-gettext 来集成和支持多种语言:https://angular-gettext.rocketeer.be/

我不想使用特定于域的子域或 URL(如 https://en.example.com/https://www.example.com/en/)来更改我的站点结构。到目前为止,我在客户端的本地存储中存储了一个语言变量以确定要显示的语言。

它工作正常,用户体验很好。但是,我想知道确保 Google 以其他语言为我的网站编制索引的最佳方法是什么。

我正在考虑以这种方式使用带有lang 参数的hreflang 属性:

<link rel="alternate" href="http://example.com?lang=en" hreflang="en-us" />

然后当然是处理 url 中的lang 参数。

这行得通吗?它被认为是最佳实践还是有更优雅的方法来做到这一点?

【问题讨论】:

    标签: angularjs seo multilingual


    【解决方案1】:

    实际上,the answer from @z.a. 不再是 100% 准确。 Google 现在似乎在扫描 Javascript: Refer this link
    不确定 Bing 和所有其他人,但至少对于 Google,您应该没有问题。

    https://www.example.com/en/ 有什么问题?这是多语言网站最简洁的方法。这也确保了每个人都能以正确的语言看到每个链接。否则,不同的人可能会看到不同语言的相同链接,这对用户(和 SEO)不是很友好。

    除了链接中的hreflang="en-us",您还可以将语言添加到标题中

     <html lang="en-US">
    

    真正的链接:

    <a hreflang="it-IT" href="https://blog.supertext.ch/it/">Italiano</a>
    

    这应该会给 Google 一些很好的提示。

    【讨论】:

      【解决方案2】:

      由于 Angular 是一个单页应用程序,搜索引擎不会真正逐页呈现您的应用程序。因此,在索引方面,您用于翻译的不同语言不会太有效。有像https://prerender.io/ 这样的预渲染解决方案。他们在这方面做得很好。

      否则,如果您真的担心 seo 的问题,您应该考虑实际拥有服务器端页面。您可以与诸如sailsjs 或hapijs 之类的框架进行组合。

      SPA 通常用于登录/私人使用后的应用程序,因此目前试图使它们对 SEO 友好是非常有限的。

      【讨论】:

      • 我已经在使用 prerender 并且效果很好。我只是想用不同的语言索引我的网站
      • Google 会渲染 Javascript/Angular 应用程序。
      猜你喜欢
      • 2011-11-08
      • 1970-01-01
      • 2011-02-10
      • 2011-02-27
      • 1970-01-01
      • 1970-01-01
      • 2015-04-25
      相关资源
      最近更新 更多