SEO和多语言支持

时间:2016-04-25 15:04:55

标签: angularjs seo multilingual

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

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

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

我想考虑将hreflang属性与lang参数一起使用:

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

然后当然,处理网址中的lang参数。

那会有用吗?这是最佳实践还是有更优雅的方式呢?

2 个答案:

答案 0 :(得分:1)

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

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>

这应该给谷歌提供一些很好的提示。

答案 1 :(得分:-1)

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

&#xA;&#xA;

否则,如果你真的担心seo的东西,你应该考虑实际上有服务器端页面。您可以与sailsjs或hapijs等框架进行组合。

&#xA;&#xA;

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

&#xA;