Мой сайт на двух языках: французский и английский. Решение, которое я выбрал, работает, но вызывает у меня проблемы. Я использую сеанс, чтобы сохранить «чистый» URL-адрес, который одинаков на английском и французском языках.
Мое решение:
Чтобы выбрать язык, я нахожу пользователя по 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']));
}
Моя проблема: моя основная проблема заключается в том, что Google индексирует мой веб-сайт только на английском языке (догадываетесь, потому что IP-адрес поискового робота не во Франции?). В google.fr и google.com мой сайт на английском языке. Что я могу сделать, чтобы сайт индексировался на обоих языках?