我們有一個多語言應用程序,可以使用GET參數在不同的語言版本以及客戶端的瀏覽器語言之間進行區分。如果該語言不被支持或未知,我們使用英語作爲後備。目前支持的語言是英語和德語,順便說一句。因此,使用瀏覽器語言'en'(任何其他類似'es','zh'等 - 除'de'外的所有其他人都將導致所描述的英語)的訪問者將獲得以下不同URL的語言版本:Google索引/搜索結果多種語言
- mydomain.com - >英文版
- mydomain.com?language=en - >英文版
- mydomain.com?language=de - >德語版本
這工作到目前爲止,但這裏的我們在Google索引中遇到的問題:
當我們從德國搜索該網站或使用google.de時,其中一個(至少我們的客戶)會希望以德語獲得結果。
但是,Google使用英文文本而不是德文文本顯示結果(頁面摘錄/元描述)。
例如,搜索「MYDOMAIN」(請原諒程序員藝術:)):
My Domain Title
http://www.mydomain.com
Here's the english meta description even if we search from Germany.
的問題似乎是,Googlebot會無論是使用英語或不提供任何語言信息(我認爲是這種情況),因此獲得「mydomain.com」的英文版本。
我們試圖幫助Googlebot和把「備用」鏈接到頁面標題,即對於「mydomain.com」我們不得不那些
<link rel="alternate" hreflang="en" href="http://www.mydomain.com?language=en" />
<link rel="alternate" hreflang="de" href="http://www.mydomain.com?language=de" />
然而,雖然理論上(據我們瞭解這)GoogleBot現在應該知道該頁面的不同語言版本,但它仍然會返回英文結果。
我們也考慮過使用「canonical」標籤,但這並不意味着我們必須選擇一種單一語言版本進行索引。
我們的最終目標是讓Google返回英文版的國際用戶頁面和德文版本的德文用戶。
有關我們如何實現這一點的任何提示?
更新:
這就是我們所做的到目前爲止解決這個問題。
首先,我們將語言轉移到網站的路徑中,只要語言缺失,我們就會假設德語。
因此,我們有這樣的結果:
http://www.mydomain.com --> 301 to "http://www.mydomain.com/de/"
http://www.mydomain.com/de/ --> German, alternatives are "http://www.mydomain.com/de/" and "http://www.mydomain.com/en/"
http://www.mydomain.com/en/ --> English, alternatives are "http://www.mydomain.com/de/" and "http://www.mydomain.com/en/"
德國谷歌現在顯示德國的結果不如預期,但英語谷歌(或谷歌德國成立,以顯示英語成績)也顯示了德國的結果。我假設原因或者是重定向中的錯誤,或者Google並不在意。
網站的英文版是否使用純HTML鏈接鏈接到德文版? – raben 2012-08-06 22:36:08
它只能通過語言改變鏈接,它與頁面的語言參數不同。每個其他鏈接應鏈接到相同的語言版本。 – Thomas 2012-08-07 07:20:37