Локализация InstantCMS

InstantCMS 2.X
#1 29 апреля 2022 в 01:36

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

Язык на сайте по умолчанию EN, язык браузера RU

Если зайти как гость или обычный пользователь (не администратор) то страницы сайта доступны с префиксом /en/ — это будет английская версия сайта. Без префикса — русская. Страницы с префиксим ru ведут на 404 страницу

На мой взгяд вполне логично наоборот, как указано ниже в случае с админ аккаунтом:

Если залогиниться админом то ссылки с префиксом en ведут на 404 страницу а с префиксом ru на русскоязычную версию сайта.

Если меняем язык браузера на английский то при тех же настройках страница с префиксом ru ведет на нужную страницу.

Все бы ничего но:

Гугл проиндексировал новые страницы с префиксом ru и гостевой пользователь, если у него язык браузера русский, попадает на 404 страницу. При этом другие версии страницы отстутствуют в индексе

Так же если делать проверкку URL в search console, страница с префиксом ru так и без доступна боту а с префиксом en не доступна.

Соответсвенно страницы с префиксом ру будут индексироваться далее но они почему то не доступны гостевым или обычным пользователям если язык браузера русский.

Я понимаю так не должно быть?

#2 29 апреля 2022 в 06:38

Этот вопрос надо адресовать автору того компонента, которым пользуетесь для мультиязычности.

Правильно должно быть как-то так:

Если известен язык браузера, то он считается основным, если не известен, то основным считается выбранный в настройках сайта. Сайт открывается для всех (боты, гости, пользователи, админы и т.п.) на основном языке (как определяется основной — читайте в предыдущем предложении). Все эти префиксы языков кроме основного языка должны выдавать каноникал на основной язык (без префикса). А дальше, если бот укажет с каким он пришел языком, то ему выдастся основной сайт на указанном языке, если не укажет, то на языке по умолчанию.

#3 29 апреля 2022 в 09:41

Этот вопрос надо адресовать автору того компонента, которым пользуетесь для мультиязычности.

Правильно должно быть как-то так:

Если известен язык браузера, то он считается основным, если не известен, то основным считается выбранный в настройках сайта. Сайт открывается для всех (боты, гости, пользователи, админы и т.п.) на основном языке (как определяется основной — читайте в предыдущем предложении). Все эти префиксы языков кроме основного языка должны выдавать каноникал на основной язык (без префикса). А дальше, если бот укажет с каким он пришел языком, то ему выдастся основной сайт на указанном языке, если не укажет, то на языке по умолчанию.

Loadырь

Loadырь
Добрый день,

Спасибо за ответ. Частично проблема решена обновлением хрома до последней версии после чего все пользователи ведут себя одинаково, но до конца к сожалению так и не разобрался. Никакие сторонние дополнениния не используются, включена штатная мультиязычность. Пару лет назад использовать сторонний компонент, но он был полностью удален.

Чтобы не быть голословным приведу пример (речь идет не про язык статьи):

Напомню — язык по умолчанию EN

I. Проверяем браузер

Язык браузера русский:

Страница crewtraffic.com/posts/153-ism-questions-and-answers.html   на русском

Страница crewtraffic.com/en/posts/153-ism-questions-and-answers.html на английском

Страница crewtraffic.com/ru/posts/153-ism-questions-and-answers.html   ошибка 404

Язык браузера английский:

Страница crewtraffic.com/posts/153-ism-questions-and-answers.html  на английском

Страница crewtraffic.com/ru/posts/153-ism-questions-and-answers.html   на русском

Страница crewtraffic.com/en/posts/153-ism-questions-and-answers.html  ошибка 404

II. Данные c search console

Страница crewtraffic.com/posts/153-ism-questions-and-answers.html

ИзображениеИзображение

Страница crewtraffic.com/ru/posts/153-ism-questions-and-answers.html

Изображение

Страница crewtraffic.com/en/posts/153-ism-questions-and-answers.html

Изображение

III. Проверяем недавно проиндексированную страницу гуглом

Изображение

Ссылка на страницу из поиска:

crewtraffic.com/ru/news/maritime

Перейдя по ней с браузера на русском получаю 404

Перейдя по этой же ссылке с браузера на английском получаю ответ 200 ок

Получается что в индексе 1 страница с префиксом ру на которую невозможер перейти.

На мой взгляд если язык по умолчанию EN то страниц с префиксом en вообще не должно быть а страницы с префиксом ру должны открываться при любом языке браузера, вроде бы так было до какого то релиза cms (версию не помню)

Так жи и если язык по умолчанию RU то не должно быть страниц с префиксом ru а должны быть с префиксом EN. На демо сайте инстант язык по умолчанию выран Ru, страницы с префиксом ru доступны, с en нет в случае когда браузер на русском 

Возможно, конечно, гугл проиндексирует и страницу без префикса и тогда станет ок, но пока что он этого не делает и возникает такая ситуация что странца в индексе есть, но зайдя с рус браузера получаешь 404

Понаблюдаю.

#4 29 апреля 2022 в 12:15

 SergeySheff, закройте от индексации все страницы с префиксом языка. Оставьте только основной.

#5 29 апреля 2022 в 12:32

 SergeySheff, закройте от индексации все страницы с префиксом языка. Оставьте только основной.

Loadырь

Спасибо за совет, попробую!

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.