Для сайта site.ru сделал англоязычную версию и вынес её в отдельный поддомен en.site.ru
Не знаю насколько это правильно, но для определения какую версию сайта показать пользователю - написал js:
Если язык в браузере установлен отличный от русского, то перекинуть пользователя на англоязычную версию
Позже вылезла проблема в Гугл поисковике,
в выдаче он показывает url основного домена, а описание страниц (title и description) берет с англоязычной версии. Хотя, в коде страниц для каждой версии текст и мета написаны на языке сайта. При этом ни одной страницы сайта en он не выдает в поисковике.
В шаблонах сайта стоят ru для русской и en для английской
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<html lang="ru">
Редирект сделан так:
часть кода вырезана ...
if (( userLang == "ru" ) || ( userLang == "ru-ru" ) || ( userLang == "ru-RU" )){
console.log(userLang);
}else
{
document.cookie = "s_lang=yes; max-age=31536000;"
location="<?=$engversiya?>";
};
Автопереключение работает при первом заходе на сайт, если вручную пользователь меняет версию, то пишу версию в куки и в последующие разы будет открываться та версия, которую предпочёл пользователь.
Как решить данную проблему в выдаче?
Как сделать, чтобы английская версия не показывалась в выдаче в Российском Гугл и наоборот?
В Яндексе данной проблеме нет, каждая версия индексируется как надо.
PS: Технически я понимаю - Робот зашел по одному url, его перебросило на другой, с него он контент и взял, наверное так. Как решить это не знаю.