我运行使用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
参数。
那会有用吗?这是最佳实践还是有更优雅的方式呢?
答案 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;