2013-03-17 94 views
0

我正在建立一個使用geoplugin php類來檢測國家代碼的多語言支持網站。這裏是我的地理位置代碼:谷歌和具有相同URL的多語言網站

//GEOLOCATE 
$geoplugin = new geoPlugin(); 
$geoplugin->locate(); 
define('REAL_COUNTRY', strtoupper($geoplugin->countryCode)); 

//AVAILABLE COUNTRIES 
function available_countries(){ 
    $countries_array = array(); 
    $sql = mysql_query("SELECT id FROM countries WHERE enabled = '1';") or die(mysql_error()); 
    while($row = mysql_fetch_array($sql)) array_push($countries_array, $row['id']); 
    return $countries_array; 
} 

//RETURN COUNTRY CODE 
function detect_language(){ 
    if(isset($_COOKIE['country'])) return $_COOKIE['country']; 
    else if(isset($_SESSION['country'])) return $_SESSION['country']; 
    else if(in_array(REAL_COUNTRY, available_countries())) return REAL_COUNTRY; 
    else return 'EN'; 
} 

根據返回的國家代碼,我的php腳本然後從數據庫加載內容。

我想有格式如下鏈接:

英文網站:sitename.com/contact
德國網站:sitename.com/kontakt
斯洛文尼亞網站:sitename.com/kontakt


注意,對於德國和斯洛文尼亞的網址都是相同的,但它仍然加載基於IP不同的內容,並從geoplugin返回代碼。

該網站運作良好,但我擔心的是谷歌和其他搜索引擎。谷歌會找到比「EN」其他語言的網頁或者是它更好地只是使用更經典的方法,並添加一個語言ID到URL是這樣的:

英文網站:sitename.com/ EN /接觸
德國現場:sitename.com/ /KONTAKT
斯洛文尼亞網站:sitename.com/ SI/KONTAKT


謝謝!

回答

1

我建議你去與描述性URL。它使得它基於任何搜索引擎的URL 100%的不同,從而消除了混淆。

請確保您還更改每一頁上向右語言的元信息。這將有助於從一開始就對語言進行分類。

通過使用這種方法,你也將確保無論哪一部分的站點獲取的鏈接,從而在搜索引擎改進,完整的域名將獲得更好的排名,從而保持你的SEO工作在一起。

可讀URL都以各種方式爲這十年最好的主意。