我的网站有两种语言:法语和英语。我选择的解决方案正在起作用,但却给我带来了麻烦。我使用session来保持一个“干净”的网址,这在英语和法国都是一样的。
我的解决方案:
要选择语言,我使用IP找到用户,如果不在法国,我设置
$_SESSION['language'] = "ENG"
否则,
$_SESSION['language'] = "FRA"
然后我包含我的文件words.php,其中包含所有文本:
if( $_SESSION['language'] == "ENG")
{
$word1 = "hello"
$word2 = ....
}
else
{
$word1 = "bonjour"
$word2 = ....
}
最后在我的网站上,我有几个echo $word1;
。
要更改语言,我有两个链接(每种语言一个)到一个网页language.php,其中的get参数只是更改会话变量并重定向到网页:
if($_GET['l']=="1")
{
$_SESSION['language'] = "FRA";
header('Location: ' . htmlspecialchars($_SERVER['HTTP_REFERER']));
}
elseif($_GET['l']=="2")
{
$_SESSION['language'] = "ENG";
header('Location: ' . htmlspecialchars($_SERVER['HTTP_REFERER']));
}
我的问题: 我的主要问题是谷歌只用英语索引我的网站(猜测因为爬虫的IP不在法国?)。在google.fr和google.com上,我的网站是英文的。 如果网站以两种语言编入索引,我该怎么办?
答案 0 :(得分:0)
您必须为语言使用其他文件夹。您可以使用example.com/fr获取法语内容,使用example.com/en获取英语内容。
你可以告诉这个网站是谷歌抓取机器人的多语言和多区域。为您的目的编辑此HTML代码。
<link rel=”alternate” href=”http://example.com/en-gb” hreflang=”en-gb” />
<link rel=”alternate” href=”http://example.com/en-us” hreflang=”en-us” />
<link rel=”alternate” href=”http://example.com/en-au” hreflang=”en-au” />
<link rel=”alternate” href=”http://example.com/” hreflang=”x-default” />