Как правильно указывать в URL версию языка?

Возможны по крайней мере два варианта:

www.domain.com/en
www.domain.com/ru

или

www.en.domain.com
www.ru.domain.com

Встречал на просторах сети оба варианта.
Как вам кажется, какой использовать предпочтительнее? Или это вообще не играет никакой роли?
  • Вопрос задан
  • 2972 просмотра
Пригласить эксперта
Ответы на вопрос 15
@v1z
Лично мне приятен вариант, когда www.domain.com отображает английский вариант сайта, а www.domain.ru — русский. Но не всегда бывает доступны оба домена.

Тогда вариант с www.domain.com/ru (или /en/) подойдет.

Вариант с ru.domain.com мне не особо нравится. И уж точно www.ru.domain.com будет смотреться очень странно
Ответ написан
Комментировать
taliban
@taliban
php программист
Люди выше написали глубочайшую чушь. Проконсультируйтесь с любым, даже слабеньким СЕО, он Вам много чего расскажет интересного про домены, поддомены и локали. А вообще это очень сильно влияет на вывод в поисковиках, так как они учитывают локаль пользователя.
На сколько я помню, варианты предпочтительности идут так:
1. domain.locale (наиболее затратный)
2. locale.domain.com (менее затратный, но все таки домены разные, с этим и проблемы могут быть)
3 domain.com/locale (наименее простой)

Тоесть первый наиболее предпочтителен, последний наименее. Но я могу ошибаться, слышал разговор просто об этом, сам не интересовался активно.
Ответ написан
Комментировать
На мой взгляд — первый способ предпочтительнее ввиду своей очевидности. Второй способ не так очевиден для пользователя.
Ответ написан
LIAL
@LIAL
>Или это вообще не играет никакой роли
Это не играет никакой роли, просто как вам удобно реализовать так и делайте

у многих крупных сайтов встречается как в первом варианте так и во втором.
Можете тоже реализовать оба, тогда большинство пользователей будут удовлетворены
Ответ написан
Комментировать
@Jazzist
Первый удобнее, с нескольких аспектов:
— нагляднее
— проще обслуживать сессии
— проще обслуживать «роутинг»
— роботодружественнее
Ответ написан
Комментировать
Webtun
@Webtun
ИМХО лучше первым способом (при возможности)

а то при использовании 2-ой вариант получается что это уже сабдомен и может упасть вес страницы
Ответ написан
Комментировать
misha91
@misha91
первый вариант чисто визуально приятнее смотрится
Ответ написан
Комментировать
Есть же еще автоматическое определение языка, например как у Google — хоть у него и есть разделения по доменным зонам, но с .com русскоязычного пользователя все равно редиректит на .ru. С одной стороны, иногда это может мешать, но с другой — домен всегда без приставок и пользователю можно меньше задумываться.
Ответ написан
www.domain.com/* — для основной языковой аудитории
www.domain.com/lang/* — для дополнительной языковой аудитории.

С поддоменами — это уже совершенно разные сайты получаются, очень редко используется.

А вообще, многие CMS и такое выдают:

www.domain.com/index.html?lang=ru
Ответ написан
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
Для ПС лучше первый вариант.
Ну и основной язык лучше в корне держать, само собой.
Ответ написан
Комментировать
Klimka
@Klimka Автор вопроса
Спасибо за ответы.

Остановлюсь тогда на domain.com/en
Ответ написан
Комментировать
@gro
Первый имхо лучше, но я лично не люблю его — в шаблонах ссылки не поставить нормально, приходться делать что-то вроде href="{{ lang }}path/on/site"
Ответ написан
Почему бы не показывать сайт на английском (или определить от языка системы/браузера).
Дать пользователю выбор смены языка, хранить в куки/бд юзера и не издеваться с /ru/ /en/
Ответ написан
Я лично столкнулся с такой проблемой (но она больше от собственной глупости чем от выбора метода):

Был сайт. Были домены Компания.ru и ПравильноеНазваниеКомпании.com. Было дано указание упразднить домен с .ru поскольку не положено. В итоге пришлось русскую версию делать на домене ПНК.com а пользователей с нерусскими корнями (в заголовках браузера) перенаправлять на en.ПНК.com (структура русской и английской версии различались, но не сильно, а архитектура движка заставила бы жестоко копипастить для хранения сайта в разных подпапках). В итоге все было замечательно, пока yandex, который заходил на сайт без заголовка относящегося к локали не приклеил домен к английской версии. В результате пришлось общаться с техподдержкой чтобы домен отклеили.

К чему это я? К тому, что следуя первому способу нужно очень осторожно относиться к автоматическому выбору языка, иначе будут боольшие сео-проблемы)
Ответ написан
Комментировать
@bolatkhan
нуб
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы