Лучшая практика для URL многоязычных сайтов
Что считается лучшей стратегией для URL переведенных сайтов? Что-то, что я вижу, случается часто:
http://example.com/english-slug.html
http://example.com/de/english-slug.html
http://example.com/fr/english-slug.html
Это имеет (незначительное) преимущество в том, что пользователь может вручную переключиться на другой язык, изменив URL. Недостатком, по-видимому, является то, что URL-адрес состоит из ссылки на неправильном языке для каждой страницы, а не на языке по умолчанию. Я думаю, это приведет к штрафу за SEO.
Альтернативой может быть также перевод слагов и опционально опускание идентификатора языка:
http://example.com/english-slug.html
http://example.com/deutscher-slug.html
http://example.com/slug-francois.html
Некоторые языки на самом деле не поддаются "вялости", такие как русский, китайский и арабский. В итоге вы получите транслитерации, в которых мало смысла.
2 ответа
Я думаю, что вы должны использовать языковые теги и переведенные слагы:
http://example.com/en/hello-world
http://example.com/de/hallo-welt
Почему языковые теги? Чтобы избежать столкновений.
Иногда вам может понадобиться один и тот же слаг для разных языков (например, "команда" на английском и немецком языках).
Почему переведены пути? Для лучшего удобства использования.
Не все пользователи понимают язык "по умолчанию", и, в зависимости от его скрипта, они могут даже не набрать / запомнить / продиктовать слаг. (Во-первых, не имеет смысла использовать читабельных слагов, которые может понять только часть ваших пользователей.)
Да, было бы "(незначительным) преимуществом, что пользователь может вручную переключиться на другой язык, изменив URL". Но вряд ли пользователи или поисковые системы ожидают, что это сработает (см. Мой соответствующий ответ на веб-мастерах). Таким образом, вы получили бы немного (взлом URL для продвинутых пользователей) и много потеряли (плохое удобство использования для пользователей, использующих язык не по умолчанию).
Тем не менее, по-прежнему можно будет включить эту функцию взлома URL в большинстве случаев: когда пользователи изменяют языковой тег de
(в /de/hallo-welt
) чтобы en
(/en/hallo-welt
), вы можете проверить, существует ли он (если да, показать его), а если нет, проверить, существует ли слаг "hallo-welt" на каком-либо языке, найти его английский перевод и перенаправить на него (из /en/hallo-welt
в /en/hello-world
).
Другой способ - установить язык как параметр строки запроса, например:
http://example.com/hello-world?hl=en
http://example.com/hallo-welt?hl=de
например, этот метод используется на веб-сайте Google Flights.
Лучшее решение, если вы можете себе это позволить, - это отправить документ с правильным названием, то есть с использованием правильного слова на каждом языке.
Конечно, каждый документ должен быть отправлен с соответствующей настройкой языка в заголовках.
Для их хранения вы можете использовать папки и позволить веб-серверу выбрать нужный документ в соответствии с предпочтениями языка; или вы можете использовать технологию на стороне сервера, такую как PHP, perl и т. д., чтобы отправить документ и настроить URL.
В любом случае вам нужно иметь язык по умолчанию для отправки, когда у вас нет запрошенного языка.
Если вы не можете или не хотите отправлять документ с правильным именем, лучшим вариантом будет использование поддоменов. Этот вариант не так распространен, как добавление языка после домена, и это означает, что люди могут к нему не привыкнуть, хотя, например, у него есть некоторые преимущества;
- Каждый язык ведет себя как совершенно новый URL/ сайт (почти).
- Людям хочется посетить специальный сайт, а не подраздел, где второй язык переведен и может выйти из строя в любой момент (некоторые материалы могут не переводиться).
- Некоторые люди не знакомы с их двухбуквенным представлением языка, но все знают, как его язык называется и пишется.
- Он генерирует чистые URL-адреса.
- Считается, что наличие поддоменов увеличивает появление в выдаче (я не знаю об этом, и это, возможно, изменилось).
- Проще иметь разные макеты, если хотите.
- Проще настроить разные серверы в зависимости от языка.
Конечно, у поддоменов есть некоторые недостатки, такие как:
- Немного больше работы для правильной настройки с точки зрения сервера.
- Меньше сотрудничества со стороны в сторону высокого рейтинга.
- Некоторые люди могут не ожидать этого, но ожидают подпапку.
Далее будет опция подпапки, как показано в вопросе. Это рекомендуемый способ, если ваша основная точка зрения - SEO, так как вся релевантность домена остается в том же домене, и каждый язык помогает создать общий "рейтинг" рейтинга.
Моя точка зрения при выборе решения - это никогда не SEO, ни при каких обстоятельствах. Какой бы рейтинг я ни получил, это связано с самим контентом и наилучшим использованием технологии, которое я могу дать. Но я понимаю, что моя точка зрения не самая распространенная.
Также следует учитывать, что вы должны предоставить какое-то объяснение или помочь пользователю, чтобы он мог предпринять действия для перехода на предпочитаемый язык. Это может быть использование значков, всплывающей подсказки или любого другого метода, который подходит для вашего дизайна и многословия.
Одна вещь, которую следует избегать, и вы не просили об этом, но это связано; использует автоопределение языка. Часто пользователь находится в другой стране или использует версию браузера, в которой язык отличается от того, что он может понять, и автоматическое определение просто создает большой беспорядок. Предложите версию по умолчанию и понятный способ ее изменения.