Могут ли поисковые системы изменить язык и прочитать файл cookie?


Я создаю многоязычный веб-сайт на PHP и по умолчанию подготовил все свои строки на английском языке, используя gettext()
Мой файл locale/it_IT/LC_MESSAGES/default.mo работает правильно, и теперь мне нужно разобраться с определением языка и переключением.

Я думал об использовании подхода с параметром GET:

<a href="?locale=en_US">English</a> | <a href="?locale=it_IT">Italian</a>

Я также подумал, что запись параметра в файле cookie должна быть лучше, чем в PHP $_SESSION

$locale = "it_IT"; // default in Italian
if (isset($_GET["locale"])) {
    $locale = $_GET["locale"];
    setcookie("locale", $locale, time()+60*60*24*365*10, "/"); // for 10 years
}
if (!$locale && isset($_COOKIE["locale"])) {
    $locale = $_COOKIE["locale"];
}

// locales directory
$locales_root = $_SERVER['DOCUMENT_ROOT'] . "/locale"; 
$domain = "default";
// activate the locale setting
putenv("LC_ALL=$locale");
setlocale(LC_ALL, $locale);
// bind it, than activate
bindtextdomain($domain, $locales_root);
textdomain($domain);

Пока все в порядке, так что хорошо.
Теперь мой актуальный вопрос......
Как поисковая система может индексировать контент на английском языке? Это следует за ссылкой "?locale=en_US", чем что?
Записывается ли файл cookie? Первая страница переведена нормально, но я не добавляю параметр GET ко всем своим ссылкам. Я видел это на некоторых веб-сайтах раньше; когда вы меняете язык, URL-адрес меняется на somewebsite.com/it /(mode_rewrite?) и при следующем нажатии он больше не добавляется.

Author: Vergil Penkov, 2010-12-02

2 answers

Почему бы не передавать локаль все время в URL-адресе?

Как http://yousite.com/en/index.php и /it/index.php?

Это эффективно решает вашу проблему.

 0
Author: john, 2010-12-02 21:01:06

Поисковые системы не анализируют контент, скрытый за файлами cookie. Кроме того, они почти никогда не читают контент, представленный javascript (иногда это делает Google).

Я предлагаю взглянуть на фреймворк Yii, он довольно прост для начинающих, ответит на многие вопросы и избавит вас от многих проблем.

 1
Author: Vergil Penkov, 2010-12-03 07:35:47