2011-03-12 41 views
3

我剛剛完成了一個客戶的網站,現在他們想要有不同的語言。開發多語言網站的任何想法 - SEO,php,mysql

在網站內容存儲在表中的一個MySQL數據庫的時刻:

  • seotitleseodescsmallHtmlfullHtml

  • 產品IDseotitleseodescsmallHtmlfullHtml

我在想一個好辦法做到這一點是有一個額外的表:

  • 語言IDLanguageCodel anguage

然後修改網頁​​和產品表:

  • seotitleseodescsmallHtmlfullHtmllanguageCode
  • 產品IDseotitleseodescsmallHtmlfullHtml語言代碼

所以我會運用像

SELECT * FROM pages WHERE slug = '$slug' AND language='$language' 

我應該將$language設置爲cookie還是會話嗎?

此外,我堅持要做甚至搜索引擎優化去。目前網站的網址結構爲/pages.php?slug=page-slug。這會被mod_rewrite重寫爲/pages/page-slug

所以我想到/pages.php?slug=page-slug&code=languagecode重寫爲/pages/page-slug/languagecode。產品相同。

這是一個很好的方法,或者你可以看到它失敗嗎?

如果有人有任何更好的方法或資源的鏈接,我可能錯過了,將不勝感激。

感謝您的閱讀。

編輯/////

如果我是用這個方法http://en.kioskea.net/faq/596-change-the-language-of-your-website並更改語言幕後,在不改變URL結構如何將谷歌處理這個問題?

回答

3

基礎知識,每個表都應該有一個ID,看起來像頁面會丟失它,如果你改變它的建議。

許多主要網站(包括維基百科)都使用2位ISO語言縮寫爲語言前綴加上了語言,例如, English = en等。這會使您的網址看起來類似於en.websitename.com。請記住,雖然大多數的多語言的網站沒有在URL中顯示的默認語言,因此,如果英語是你的默認,然後英語將www.websitename.com但法國將fr.websitename.com。這似乎是一種普遍接受的方法,並且還有助於在查看子頁面時URL更清晰。除了語言位之外,您的其他網頁網址結構看上去很友好。

你需要考慮如何訪問者首先要輸入你的域名,是否你的主要首頁或子頁面(通過搜索引擎居多)。因此,您應該嘗試將用戶重定向到網絡瀏覽器的語言(請參閱here以瞭解執行此操作的好方法)。儘管如果用戶(在那裏第一次訪問)所要使用的內容與瀏覽器的語言不同,那麼這也是一個好主意,那麼提供一種清晰的方式來訪問這兩個版本是很好的,然後您將通過餅乾/會話。

其他搜索引擎優化技巧:看here爲基礎。

+0

「對於搜索引擎優化,Google傾向於使用語言的2位ISO縮寫將例如語言前綴爲子域,例如,英文= en等「 - 請驗證此聲明。 – Gumbo 2011-03-12 20:12:56

+0

aSeptik鏈接到的鏈接由Nathan Buggia(Bing搜索)回答,並表示幾乎相同。 2位數字格式是我見過的大多數主要網站的標準(不使用不同的頂級域名),維基百科就是最好的例子。 – Alex 2011-03-12 20:34:17

+1

@Alex:我熟悉語言標籤。但爲什麼Google使用該語言標籤的子域名更受歡迎?我的意思是,我所能找到的只是:[「Google使用頁面內容來確定其語言,但是URL本身爲人類用戶提供了關於頁面內容的有用線索。」](http://www.google。 com/support/webmasters/bin/answer.py?answer = 182192) – Gumbo 2011-03-12 20:46:01

5

谷歌和其他搜索引擎不嘗試通過檢查URL,it’s the content that matters猜測的語言:

谷歌使用網頁的內容,以確定它的語言,但是網址本身也能爲用戶提供有用的線索關於網頁的內容。

這就是爲什麼你應該declare the content’s language properly:在HTTP使用Content-Language指定文檔的默認語言,並使用lang屬性語言文檔中的改變。

擁有一個多語種網站,你也應該考慮做一些種類language negotiation(另請參閱my answer to Detect Browser Language in PHP);但也要考慮與其相關的細微差別(請參閱Common HTTP Implementation Problems)。

但是,選擇合適的URI結構也很重要 - 即使僅限於用戶。這意味着URI應該反映選擇的語言(除非你想爲語言談判提供一個語言無關的入口點)。

但是您選擇的URI設計取決於您。從用戶的角度來看。