Подтвердить что ты не робот

Какое место лучше всего отображать в вашем URL?

У меня есть многоязычный веб-сайт, в котором используются довольно URL-адреса, так называемые URL-адреса, ориентированные на поисковые системы.

Теперь есть несколько мест для определения языка в URL-адресе:

    • www.example.com/en/articles/random
    • www.example.com/nl/articles/random
    • en.example.com/articles/random
    • nl.example.com/articles/random
    • www.example.com/articles/random?lang=en
    • www.example.com/articles/random?lang=nl

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

4b9b3361

Ответ 1

Я нашел хороший ресурс от Google по выбору, который вы можете сделать. Существует раздел с плюсами и минусами каждого метода, который вы можете использовать.

Я уже некоторое время борется с многоязычными веб-сайтами.

В статье определенно есть некоторые моменты, которые не упоминаются в упомянутых ответах. Вот почему я почувствовал необходимость опубликовать это как ответ. Надеюсь, это поможет кому-то.

Ответ 2

Я расскажу вам, что НЕ является лучшей практикой - используя параметры (третий). Чтобы пользователи вводили сложный URL-адрес, задаются проблемы.

Ваши страницы могут внутренне использовать параметры GET для поиска lang, но используйте модуль перезаписи URL, доступный на вашем веб-сервере, чтобы сделать его простым, например, 1-й - www.mydomain.com/en/articles/random

Даже второй вариант в порядке, кроме большинства пользователей, введите имя домена и нажмите Ctrl + Enter.

https://addons.mozilla.org/en-US/firefox/

http://msdn.microsoft.com/en-us/default.aspx

http://www.apple.com/in/

Mozilla, Microsoft и Apple находятся в трех разных уголках мира разработки программного обеспечения, с точки зрения.. ну.. всего. Иногда я склонен думать, что эти три больших парня делают вещи, чтобы не согласиться друг с другом. Но если они следуют обычной практике, это должно иметь смысл...

Ответ 3

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

  • Подход 1: ИМХО хорошо, когда вы хотите запустить все статьи во всех языков одновременно. Но потом, когда вы вносите изменения в одно место, вам нужно идти во все места и сделать то же самое изменение.
  • Подход 2: Аккуратный для использования как википедия, где разные языки означает фактические разные веб-сайты ( статьи не являются переводами из друг друга, а контента)
  • Подход 3: Хороший выбор, если вы обычно запускаются на некотором языке, и переводы приходят позже (случай Google, например). Вы можете иметь язык по умолчанию в случае, если язык не указан или даже сохраняется в сеансе, поэтому вы сохранили его при изменении страницы.

Ответ 4

Я хотел бы добавить тот, который мы выбрали для www.openimages.eu:

4)
www.mydomain.com/articles/random.en
www.mydomain.com/articles/random.nl

Но лучше всего, конечно, послушать предпочтительный язык, который браузер связывает в своем запросе:

Accept-Language nl,en;q=0.7,en-us;q=0.3

и по умолчанию служат ваши страницы на этом языке, если они доступны. Вы можете предоставить пользователям возможность делать ".en" или ".nl'-вещь".

Ответ 5

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

Во многих общих веб-фреймворках (рельсах или symfony) вы можете настроить правила маршрутизации для # 1, которые автоматически заполнят параметр языком, который затем будет использоваться контроллером для создания соответствующего контента. Конечно, три будут работать, но это немного отвлекает меня.

2 особенно подходит, если вы вызываете перенаправление на уровне веб-сервера и имеет преимущество в разрешении URL-адресов с/без потенциальной "потери" настроек вашего пользователя. Другими словами, ссылка на /home приведет вас к правильной языковой версии "домашней" страницы.

Один из последних вариантов - сохранить язык в качестве предпочтения пользователя в файле cookie и вообще не заполнять его в URL-адресе.

Ответ 6

Я далек от знания "правильного" ответа (я предполагаю, что его нет), но по мере того, как вы запрашиваете комментарии, я здесь:

URL (или URI) - это то, что описывает или идентифицирует ресурс. Если я правильно помню, URL-адрес не должен зависеть от того, как должен отображаться ресурс (HTML, XML, JSON и т.д.).

Вы также можете рассмотреть язык как способ указать , как ресурс должен отображаться.

Итак, на мой взгляд, более подходящим будет последний вариант, а именно указание языка как параметра .

Ответ 7

Первый имеет больше смысла. Потому что, если кто-то хочет перейти непосредственно к вам, и он/она может просто ввести blabla.com/en и достичь того, что он/она хочет...

Ответ 8

Я не знаю, есть ли в этом случае "лучшая практика", так как это, вероятно, сводится к личным соображениям.

Для меня я бы склонялся к третьему варианту, так как на самом деле та же страница, что и загрузка, вы просто изменяете контент с помощью параметра GET. Использование отдельного URL (а не параметра) означало бы мне, что это полностью отдельная страница/ресурс, которого в этом случае не было бы. Вероятно, вы также заставите поисковые системы индексировать страницу несколько раз на разных языках и т.д. (Хотя, возможно, это то, что вы хотите).

Ответ 9

Поисковые системы рассматривают поддомены как независимые веб-сайты. Я не уверен, как это влияет на SEO, хотя.

Ответ 10

Если вы ищете "дружественные поисковые системы" и "красивые" URL-адреса, вам следует избегать немасштабированных параметров GET. Они не выглядят так хорошо, как поддомен или подкаталог, и не являются точно ориентированными на SEO.

Учитывая это, я бы выбрал субдомен. Вы получаете простой, обычный "переключатель", чтобы изменить отображаемый язык, и он не похоронен в середине вашего URL-адреса. Очень легко заметить и изменить.

Ответ 11

Я бы определенно пошел за

www.mydomain.com/articles/random?lang=en
www.mydomain.com/articles/random?lang=nl 

потому что более естественно сказать: "эта ссылка (полная ссылка) написана на английском или голландском языке".

В противном случае (domain/lang/restof url) создается впечатление, что у вас есть какая-то структура, которая содержит разные вещи для en и nl. То же самое относится к lang.domain/...