2016-04-25 192 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> 

這應該給谷歌一些不錯的提示。