2016-04-25 193 views
0

我运行角度建立了一个网站,我用angular-gettext集成和支持几种语言:https://angular-gettext.rocketeer.be/SEO和多语言支持

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

它工作正常,UX很好。不过,我想知道确保Google使用其他语言编制我的网站的最佳方法。

我whas想使用hreflang属性与lang参数这样的:

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

然后当然,处理在URL中lang参数。

会这样吗?它被认为是最佳实践还是有更好的方法来做到这一点?

回答

-1

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

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

SPA通常用于登录/私人使用的应用程序,所以试图让他们对SEO友好的目前是相当有限的。

+0

我已经使用prerender,这工作正常。我只是想用不同语言编制我的网站索引 – Spearfisher

+0

https://support.google.com/webmasters/answer/182192?hl=zh-CN –

+0

Google确实会呈现Javascript/Angular应用。 –

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> 

这应该给谷歌一些不错的提示。