Схема URL для мульти-версии веб-приложения - PullRequest
0 голосов
/ 18 января 2009

Я ищу наилучшую схему URL для веб-приложения с несколькими версиями, а именно с несколькими языками и упрощенной версией для мобильных телефонов - оба эти аспекта могут быть объединены, поэтому есть обычная и мобильная версия на английском немецкая обычная и мобильная версия и т. д.

Цели (в порядке важности):

  • Дружественность
  • Поисковая дружелюбие
  • Простота освоения

Аспекты для рассмотрения:

  • Как должны выглядеть URL-адреса?
  • Как пользователь должен перемещаться между версиями?
  • Сколько логики должно быть для автоматического выбора версии?

Ниже я опишу свою концепцию, возможно, у некоторых из вас есть идеи получше.

Ответы [ 3 ]

2 голосов
/ 19 января 2009

Я предлагаю субдомены лично.

Я бы не стал включать мобильное устройство - используйте useragent, чтобы определить это, и, возможно, файл cookie, если пользователь хочет просмотреть полный сайт на своем мобильном телефоне (подумайте, как это делают Flickr и Google). Но для языков да - основной язык на http://mydomain.com/, вторичные языки на т. Е. http://de.mydomain.com/ или http://fr.mydomain.com/

2 голосов
/ 18 января 2009

Моя текущая концепция:

  • Когда приходит новый пользователь, приложение решает, основываясь на файлах cookie (см. Ниже), заголовок Accept-Language: и строку агента пользователя (используется для идентификации мобильных браузеров), какую версию показывать, но не отражает это в URL (без перенаправлений)
  • По умолчанию используется упрощенная английская версия
  • Существуют видные значки (флаги, стилизованный мобильный телефон) для выбора других версий
  • Когда пользователь явно выбирает другую версию, это отражается как в измененном URL, так и в файле cookie браузера
  • Схема URL: / для «автоматической» версии, / en /, / de / и т. Д. Для языковой версии, / мобильная / для упрощенной версии, / нормальная / для неупрощенной и комбинации его / т.е. / мобильный / EN / и / нормальный / де /
  • mod_rewrite используется для удаления этих префиксов URL и преобразования их в параметры GET, чтобы приложение могло их проанализировать
  • robots.txt запрещает / мобильный / и / нормальный /

Преимущества:

  • Версии на разных языках индексируются поисковыми системами отдельно
  • Cookies помогают, но не нужны
  • Существует большая вероятность того, что люди увидят идеальную для них версию без необходимости делать выбор
  • Пользователь всегда может явно выбрать, какую версию он хочет (это делает необходимым / normal / URL)
  • Каждая версия имеет URL, который будет отображать именно эту версию при передаче другим
  • / mobile / и / normal / игнорируются поисковыми системами; они будут только дублированным контентом.

Недостатки:

  • Требуется интенсивное использование mod_rewrite, которое я считаю довольно загадочным
  • Пользователи могут отправлять кому-то свой текущий URL, и этот человек, посещая его, может в конечном итоге увидеть другую версию, что может вызвать путаницу
  • Между / и / en / по-прежнему существует дублированный контент - я не могу запретить / в robots.txt - я должен доверять поисковым системам, чтобы не наказывать меня за точное дублирование контента в том же домене, или запретить / en / и принять, что люди, заходящие в / через поисковую систему, могут увидеть версию, отличную от той, которую они нашли в поисковой системе?
1 голос
/ 18 января 2009

Мне неясно, почему вы захотите включить в схему URL-адреса любой тип того, что вы называете информацией о версиях, например, язык принятия или пользовательский агент. Схема URL должна указывать только на содержание. Сервер должен исследовать различные заголовки запроса, чтобы определить, как получить и / или отформатировать ответ.

...