我正在建立一個使用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
謝謝!