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

У меня есть сайт на двух языках, который работает в таком формате:

example.com/changelanguage.xx?lang=de

и перенаправляет на немецкий язык

и снова вызывая тот же URL-адрес, например:

example.com/changelanguage.xx?lang=​en

перенаправляет на английский язык.

URL-адрес остается прежним example.com после перенаправления, меняется только язык.

Как добавить сюда атрибут hreflang (для индексации Google)?


person user1482800    schedule 24.08.2016    source источник
comment
Если пользователь находится на такой странице, как /about или где-то еще, может ли пользователь переключить язык оттуда, чтобы перейти к немецкому переводу? Если да, также посетив размещенный вами URL-адрес, или URL-адрес будет другим?   -  person unor    schedule 25.08.2016
comment
Привет, Унор, спасибо за ответ. На каждой странице есть раскрывающийся список для выбора языка, и URL-адрес для изменения остается прежним, он перенаправляется на исходную страницу с запросом перенаправления. Пожалуйста, сообщите, что мое главное требование - сделать индексацию Google, спасибо   -  person user1482800    schedule 26.08.2016


Ответы (2)


Использовать один и тот же URL для разного (т. е. переведенного) контента — плохая практика.

Потребители, как и боты поисковых систем, будут использовать rel-alternate + hreflang разметку для поиска переводов. Чтобы это работало, вы должны указать другой URL для переведенной страницы.

С точки зрения поисковой системы, это не работает для их пользователей, если они используют один и тот же URL-адрес: когда они указывают http://example.com/foobar в качестве результата поиска, они хотят убедиться, что их пользователи получают язык, предназначенный для поисковой системы (например, кто-то ищет для немецких терминов следует получить немецкую страницу). Но с вашей системой это не работает; пользователь поисковой системы может получить английскую версию.

Вместо этого вы должны представлять язык в URL-адресе, например. код языка как первый сегмент пути:

http://example.com/en/contact
http://example.com/de/kontact

(Или используйте разные домены/субдомены, или добавьте параметр запроса и т. д. Если вы можете убедиться, что переведенные страницы никогда не будут иметь один и тот же URL-адрес, вы можете даже опустить коды языков.)

person unor    schedule 26.08.2016
comment
Привет, я понимаю, что это не лучшая практика, но я использую ERP для размещения этого веб-сайта, он уже работает, и я не могу изменить структуру. Могу ли я что-то сделать, чтобы проиндексировать его на обоих языках? пожалуйста, порекомендуйте - person user1482800; 27.08.2016
comment
Привет, дайте мне знать, если есть способ сделать это без изменения структуры URL... - person user1482800; 30.08.2016
comment
@ user1482800: Как я уже писал, чтобы разметка alternate/hreflang работала, вы должны указать другой URL-адрес для переведенной страницы. -- Альтернативой может быть включение всех языков на одну страницу и предоставление пользователю возможности скрывать/отображать языки с помощью CSS/JavaScript -- необычно, но технически возможно (но неясно, как настоящие поисковые системы справятся с этим; обсуждение этого не по теме при переполнении стека). - person unor; 30.08.2016

Это с опозданием на год, но https://www.bablic.com/ делает именно это!

Кроме того, они могут автоматически определять язык, установленный в браузере пользователя, и автоматически показывать пользователю ваш веб-сайт на этом языке!

person Jonathan    schedule 25.02.2018