- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Нужно ли делать принудительный редирект в зависимости от языка Accept-Language передаваемого браузером?
допустим есть сайт site.com с двумя языками ru & en. На сайте есть переключатель языков который может вести на site.com/en & site.com/ru
как правильно поступить, с точки зрения SEO наверно больше всего интересно. Вариант с отдельными доменами для каждой языковой версии не рассматривается. Вариант с сабдоменами для разных языков рассматривается, но по моему не меняет сути вопроса. Итак, как правильно поступить в таких случаях (считаем что браузер передал Accept-Language en, но не суть):
Мой браузер отдаст три языка — "en|lv|ru". Как вы узнаете который из них предпочтительнее?
Переключателя языков вполне хватает, если только не показывать русскому "Välj språk", а шведу — "Выберите язык".
Maxoud, в вашем случае, на моем сайте, вы бы получили английский контент. Просто потому, что он в перечисленом списке первый (кстати в заголовке языки передаются через запятую). Но я совсем не уверен, что ваш браузер передает Accept-Language именно так, без quality value.
Я так понимаю, вы предложили свой вариант. Тем не менее он не отвечает на вопрос, что показывать посетителю (ну и ботам тоже) которые заходят просто на site.com, какой язык? Accept-Language именно для ответа на такой вопрос и был придуман(имхо. мб еще какие причины есть), поэтому вопрос остается открытым, какой вариант поведения сайта выбрать, после того как язык посетителя определен исходя из Accept-Language.
Я бы не редиректил. На морде оставил бы тот язык, на котором больше будут искать. Второй язык вынес бы на поддомен чтобы удобнее было вбивать его вручную в адресную строку (например, с визитки). Все остальное сделают ссылки.
И еще я бы записывал пользователю кукисы чтобы в следующий раз сразу направить его на «правильный» язык (если он пришел напрямую).
P.S. Я в самом деле забыл в каком виде $_SERVER["HTTP_ACCEPT_LANGUAGE"] отдает данные. Задал пяти браузерам один и тот же набор языков и протестил HTTP-заголовки. Все браузеры отдают разные "q", но предпочтительный язык у всех имеет наибольший "q". А Epiphany отдает голый список, без 'q': "en-us, en, ru, lv'.
считаем что браузер передал Accept-Language en, но не суть
вообще-то было бы круто если двиг определяет страну посетителя и отдаёт ему страницу на его языке... а так ... английский конечно же ...
шведы, немцы и практически все европейцы знают английский как украинцы русский.
двиг определяет страну посетителя и отдаёт ему страницу на его языке
Ага. Канадским французам отдавать английский? Валлонам — нидерландский? Финским шведам — финский?
Ага. Канадским французам отдавать английский? Валлонам — нидерландский? Финским шведам — финский?
Нет. В каждой стране имеется свой официальный язык под номером один.
Английский язык считается международным языком, которым должен владеть почти каждый. 😂
Из Википедии:
Бельгия — официальные языки:
Канада — официальные языки:
Кстати, я из Латвии, но предпочитаю общаться по-русски или английски, особенно в Интернете. И флаг моей страны не говорит ничего о моем языке.
Согласен с webrock, имхо: правильнее определять регион посетителя и под него подбирать язык.
А если планируется покрыть всю Европу (или весь мир :) ) и попадаются страны с множеством языков и т.п. проблемами, то лучше просто сделать пользователю удобный интерфейс выбора языка.
Я бы не редиректил. На морде оставил бы тот язык, на котором больше будут искать. Второй язык вынес бы на поддомен чтобы удобнее было вбивать его вручную в адресную строку (например, с визитки). Все остальное сделают ссылки.
т.е. вы предлагаете, если считать основную аудиторию сайта англоязычной, то сделать site.com англоязычным + к нему сабдомены типа ru.site.com. В общем то вариант. Тогда если посетитель с русского сайта захочет английскую версию, и клацнет по соответствующему переключателю - его переслать на site.com или на en.site.com?
куки - это само собой. речь о новых посетителях и ботах.
вообще-то было бы круто если двиг определяет страну посетителя и отдаёт ему страницу на его языке... а так ... английский конечно же ...
в общем-то страну определять не такая уж большая проблема. Но неправильный подход, во-первых, по уже упомянутым причинам многоязычных стран, а во-вторых, представьте себе простую ситуацию, вас занесло в Таиланд отдохнуть/поработать, там вы подключили к интернету свой ноутбук и увидели весь интернет на тайском. Если же использовать вещи для того, для чего они предназначены, то таких проблем можно избегать. Например в данном примере ваш ноутбук (точней браузер на нем) скажет, что Accept-Language: ru (ну или какой там у вас) и увидите вы привычный вам интернет в независимости от места нахождения.
P.S. Я в самом деле забыл в каком виде $_SERVER["HTTP_ACCEPT_LANGUAGE"] отдает данные. Задал пяти браузерам один и тот же набор языков и протестил HTTP-заголовки. Все браузеры отдают разные "q", но предпочтительный язык у всех имеет наибольший "q". А Epiphany отдает голый список, без 'q': "en-us, en, ru, lv'.
Интересно, а порядок перечисления языков в Epiphany соответствует тем приоритетам, которые определились с помощью q в остальных браузерах? Вообще по RFC, если q указан, то q=1
в общем-то страну определять не такая уж большая проблема. Но неправильный подход, во-первых, по уже упомянутым причинам многоязычных стран, а во-вторых, представьте себе простую ситуацию, вас занесло в Таиланд отдохнуть/поработать, там вы подключили к интернету свой ноутбук и увидели весь интернет на тайском. Если же использовать вещи для того, для чего они предназначены, то таких проблем можно избегать. Например в данном примере ваш ноутбук (точней браузер на нем) скажет, что Accept-Language: ru (ну или какой там у вас) и увидите вы привычный вам интернет в независимости от места нахождения.
Сайт многое не потеряет если webrock, находящийся в Тайланде откроет страницу на тайском и это не будет ошЫбкой. За то всем тайцам будет удобно и логически правильно.