многоязычный веб-сайт с использованием $_SESSION

Мой сайт на двух языках: французский и английский. Решение, которое я выбрал, работает, но вызывает у меня проблемы. Я использую сеанс, чтобы сохранить «чистый» 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 мой сайт на английском языке. Что я могу сделать, чтобы сайт индексировался на обоих языках?


person Mansur Khan    schedule 24.10.2013    source источник
comment
Я уверен, что если у вас нет параметра поиска или другого URL-адреса, Google будет индексировать только тот сайт, который будет отображаться для его ботов. если вы посмотрите на крупные сайты, они, как правило, выбирают abc.com/en/category/ и abc.com/fr/category.   -  person Liam Sorsby    schedule 24.10.2013


Ответы (1)


Вы должны использовать дополнительные папки для языков. Вы можете использовать example.com/fr для контента на французском языке и example.com/en для контента на английском языке.

Вы можете сказать, что этот веб-сайт является многоязычным и мультирегиональным для ботов Google. Отредактируйте этот 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” />
person Burak Bayır    schedule 13.02.2014