Как правильно менять адреса ссылок на сайте для выбранного пользователем языка

12
Asar
На сайте с 23.08.2004
Offline
330
687

Например. На сайте 2 языка (или 10). Английский site.com/ и Русский site.com/ru/

Пользователь выбрал русский язык. Соответственно, все внутренние ссылки на сайте должны начинаться на site.com/ru/, а не просто на site.com/

Вопрос: как это принятно делать у приличных людей?

— Редиректить? Т.е. все ссылки идут как site.com/, но для ру-язычных пользователей лепим редирект с / на /ru/ Сделать вроде как просто, но кажется, что это не грамотно.

— Менять все ссылки на лету? Это кажется более верным, но для моего конкретного случая будет чуть более гиморным.

— Еще как-нибудь?

Наверняка велосипед на эту тему давно изобретен, кто пользовал изобретения — отзовитесь, а.

З.Ы. Сайтец самописный на коленке.

LEOnidUKG
На сайте с 25.11.2006
Offline
1768
#1

ну начинайте все урлы так:

href="/<?=$userlang; ?>/page.html"

и всё.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
K
На сайте с 03.06.2015
Offline
45
#2

Субдомен. Википедия например.

MYSQL PHP JS HTML CSS SEO TXT США СССР
Asar
На сайте с 23.08.2004
Offline
330
#3
LEOnidUKG:

href="/<?=$userlang; ?>/page.html"

Т.е. как вариант номер 2 у меня. Нормальное решение без каких-либо проблем, верно я понимаю?

---------- Добавлено 26.07.2015 в 19:28 ----------

kostyanet:
Субдомен. Википедия например.
Зачем. Это ж просто перевод основной версии сайта. По всем рекомендам того же гугла в данной ситуации site.com/ru — самый адекватный вариант.
Asar
На сайте с 23.08.2004
Offline
330
#4
Назар Федорко:
Более логичным и лаконичным является вариант /page для английского и /страница для русского.

Фигасе. Ниче не понял... Мона полный УРЛ для обоих вариантов?

LEOnidUKG
На сайте с 25.11.2006
Offline
1768
#5
kostyanet:
Субдомен. Википедия например.

Не вариант. Или раскручивать 1 сайт или кучу.

---------- Добавлено 26.07.2015 в 22:37 ----------

Назар Федорко:
Более логичным и лаконичным является вариант /page для английского и /страница для русского.

Что в этом логичного?

---------- Добавлено 26.07.2015 в 22:38 ----------

Asar:
Т.е. как вариант номер 2 у меня. Нормальное решение без каких-либо проблем, верно я понимаю?

Всё нормально будет.

Ещё не забывайте на страницах прописывать язык страницы. Гугл любит этот параметр.

K
На сайте с 03.06.2015
Offline
45
#6

Asar, вы не писали что просто перевод. Ну сделайте сайт.ру/ен по рекомендациям гугля.

Я видел дофига европейских сайтов где почти всегда принято давать переключаться минимум на английский и почти всегда сделано как угодно, то есть никакой системы нет. У кого-то суб-домены, у кого-то контроллер - как вы хотите, у кого-то просто ключ в путях (например на php.net) или вообще параметром, а у некоторых, самых модных, вообще ничего - через куки и николебет их гугль, или может они ему подсовывают что надо когда он заходит.

Оптимизайка
На сайте с 11.03.2012
Offline
396
#7

В <head> добавьте тэг <base>, на основании которого будут рассчитываться полные URL по относительным. Таким образом, относительные пути в документе не поменяются.

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
LEOnidUKG
На сайте с 25.11.2006
Offline
1768
#8
Оптимизайка:
В <head> добавьте тэг <base>, на основании которого будут рассчитываться полные URL по относительным. Таким образом, относительные пути в документе не поменяются.

Точно, совсем забыл про этот тэг.

[Удален]
#9
kostyanet:
у кого-то просто ключ в путях (например на php.net)

они исправляются, многие урлы уже автоматом определяют язык

http://php.net/strtolower

Asar
На сайте с 23.08.2004
Offline
330
#10

Оптимизайка, LEOnidUKG, спасибо за рекомендации. Base будет отличным вариантом.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий