Как мне структурировать свои URL для SEO и локализации?

111

Когда я настраиваю сайт на нескольких языках, как мне настроить свои URL для поисковых систем и удобства использования?

Допустим, мой сайт есть www.example.com, и я перевожу на французский и испанский. Что лучше для юзабилити и SEO?

Опция каталога:

http://www.example.com/sample.html
http://www.example.com/fr/sample.html
http://www.example.com/es/sample.html

Опция субдомена:

http://www.example.com/sample.html
http://fr.example.com/sample.html
http://es.example.com/sample.html

Параметр имени файла:

http://www.example.com/sample.html
http://www.example.com/sample.fr.html
http://www.example.com/sample.es.html

Accept-Language header:

Или я должен просто разобрать Accept-Languageзаголовок и сгенерировать контент на стороне сервера, чтобы удовлетворить этому заголовку?

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


ОБНОВЛЕНИЕ 2011-12-06

У Google есть новые рекомендации для metaтегов для явного указания на контент другого языка: Новая разметка для многоязычного контента .

ОБНОВЛЕНИЕ 2012-05-25

Связанные, но не точно: многоязычные и многонациональные аннотации сайтов в файлах Sitemap

ОБНОВЛЕНИЕ 2013-06-12 Ориентация контента сайта на конкретную страну включает обсуждение нескольких схем URL, имеющих непосредственное отношение к вопросу.

artlung
источник
Этот вопрос содержит несколько полезной информации: webmasters.stackexchange.com/questions/961/…
JasonBirch
Вам также следует подумать об использовании таких кодов, как «en-us», «de-de», когда вы хотите локализовать, а не просто переводить.
webjunkie
Саймон Хейтер. Ваши изменения в вопросе были отменены. Вы сделали дополнения, которые затем НЕ рассматриваются ни одним из существующих вопросов. Если вы хотите создать новый вопрос с более сложным набором опций, не стесняйтесь, но изменение моего вопроса искажает вопрос и ответы так, как я полагаю, пользователи будут смущены. Благодарю.
artlung

Ответы:

92

Есть много приемлемых способов структурировать ваш сайт для SEO и интернационализации. У каждого есть свои преимущества и недостатки.

Домены верхнего уровня

Купите одно и то же доменное имя в нескольких доменах страны верхнего уровня, например example.com, example.esи example.de.

преимущества

  • Полностью поддерживается Google. Вы можете добавить сайты в Инструменты Google для веб-мастеров, где есть варианты, чтобы сообщить Google о том, как они нацелены.
  • Часто предпочитаемый пользователями, которым нравится контент, опубликованный на TLD для своей страны
  • Само доменное имя может быть локализовано. Многие международные пользователи могут плохо реагировать на английские слова или английское звучащее доменное имя. Это может быть особенно важно для языков, которые не используют латинский алфавит.
  • Поддерживает локализацию по стране. Вы можете иметь отдельные сайты, как example.co.ukи example.com.auориентированные на аудиторию в разных странах. Сайты могут иметь дублированный контент с небольшими правописанием и при этом иметь хороший рейтинг. Фактически, несколько хорошо локализованных сайтов на одном языке могут иметь более высокий рейтинг, чем один сайт на этом языке.
  • Хостинг можно локализовать, указав DNS на веб-сервере в стране назначения.

Недостатки

  • Дорого и трудоемко купить много доменов. Особенно если вам приходится иметь дело с сквоттерами.
  • Файлы cookie не могут быть общими для нескольких языков, а это означает, что пользователи должны входить на каждый сайт отдельно.
  • Нет подходящего варианта для локализации только по языку, поскольку во многих языках есть несколько стран, и ни один из стран не может быть ДВУ языковым кодом. Даже в тех случаях, когда TLD действительно совпадает с языковым кодом, например es, поисковые системы могут предполагать, что сайт подходит только для пользователей из Испании, а не для всех говорящих по-испански.

Суб-домены

Купите один домен и используйте субдомены, такие как en.example.com, иes.example.com

преимущества

  • Полностью поддерживается Google.
  • Поддерживает локализацию по стране или языку.
  • Хостинг можно локализовать, указав DNS на веб-сервере, расположенном рядом с пользователями.
  • Легко и дешево реализовать по сравнению с покупкой нескольких доменов.
  • Куки-файлы могут быть общими для всех языков, обеспечивая единый вход для более удобного взаимодействия с пользователем.

Недостатки

  • Нет возможности локализовать само доменное имя
  • Может выглядеть менее локально для пользователей по сравнению с доменом верхнего уровня.

Подкаталоги

Купите один домен и используйте подкаталоги, такие как example.com/en/, иexample.com/es/

Преимущества и недостатки

  • То же, что и субдомены, за исключением того, что есть одна запись DNS, которая запрещает размещение вашего сайта в разных странах для разных локалей.

Техники, которые НЕ рекомендуются

  • Имена файлов : использование разных имен файлов, таких как index_en.htmlи index_de.html. Этот метод не полностью поддерживается Google. Например, невозможно настроить таргетинг в инструментах для веб-мастеров.
  • Параметры URL : Использование параметров URL, таких как lang=en. Не рекомендуется по той же причине, что разные имена файлов не рекомендуется.
  • Accept Language Header : автоматическое переключение языка на основе Accept-Languageзаголовка.
    • У многих пользователей этот заголовок установлен неправильно. Это особенно верно для пользователей, путешествующих за границу, которые могут использовать компьютер друга или интернет-кафе. Это также часто относится к международным пользователям, которые устанавливают английский веб-браузер и знают достаточно английского, чтобы обойти их, но предпочитают контент на другом языке.
    • Google только что объявил, что Googlebot будет отправлять Accept-Languageзаголовок и сканировать из разных географических мест . Однако Google по-прежнему рекомендует использовать отдельные URL-адреса для контента на разных языках.
    • Вы можете использовать Accept-Languageзаголовок, чтобы предположить, что пользователи могут предпочесть другую версию сайта, отображая сообщение, когда посещаемый сайт не соответствует Accept-Languageзаголовку.
  • Географические IP-адреса : автоматическое переключение языка в зависимости от географического расположения IP-адреса.

Разметка на странице

При поддержке нескольких языков вы должны четко разметить метаданные языка.

Используйте атрибут lang в htmlтеге:

<html lang="en">

Используйте альтернативные ссылки на ту же страницу на других языках, как это предложено Google :

<link rel="alternate" hreflang="es" href="http://www.example.com/" />
<link rel="alternate" hreflang="es-ES" href="http://es-es.example.com/" />
<link rel="alternate" hreflang="es-MX" href="http://es-mx.example.com/" /> 
<link rel="alternate" hreflang="en" href="http://en.example.com/" />

Кроме того, эта информация может быть помещена в файлы карты сайта .

Расскажите Google о вашем сайте

Вы должны добавить каждый язык (или локаль) своего сайта в Инструменты Google для веб-мастеров . Это может быть сделано для доменов верхнего уровня, для поддоменов или для подкаталогов.

Если ваш сайт ориентирован на страну, вы должны использовать инструменты для веб-мастеров, чтобы настроить таргетинг на сайт. Перейдите к «Конфигурация» -> «Настройки» -> «Географическая цель» и выберите нужную страну из выпадающего списка.

Стивен Остермиллер
источник
«То же, что и субдомены, за исключением того, что есть одна запись DNS, которая запрещает размещение вашего сайта в нескольких странах для разных локалей». - обратите внимание, что не потому, что у вас есть один домен, вы не можете разместить свой один веб-сайт во многих разных странах. Со всеми технологиями, которые у нас есть, это «легко» сделать. И если вы используете систему, такую ​​как Cassandra, данные будут следовать без проблем.
Алексис Вилке
«Особенно, если вам приходится иметь дело с сквоттерами» - что такое сквоттер?
Дейв
Скваттер доменных имен покупает варианты ваших доменных имен. В этом случае вы могли бы владеть example.com, но скваттер выхватил example.co.uk и example.it
Стивен Остермиллер
Вы можете добавить аннотации к многоязычным и многонациональным
сайтам
Еще одно замечание, по словам Google , вариант каталога или поддоменов, в равной степени подходит.
Жоао Пиментел Феррейра
22

Отвечая на вопрос, похожий на ваш в своем блоге, Мэтт Каттс предлагает :

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

  1. ccTLDS, такой как example.fr или example.de
  2. После этого субдомены, такие как fr.example.com или de.example.com.
  3. Если это невозможно, я бы использовал подкаталоги, такие как example.com/fr/ или example.com/de/
mvark
источник
1
Можете ли вы сказать мне, почему вариант 2 лучше, чем 3? спасибо
Жоао Пиментел Феррейра
По мнению экспертов Google , ваши варианты 2 и 3 одинаковы для ранжирования.
Жоао Пиментел Феррейра
20

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

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

Простой анализ Accept-Languageзаголовка может свести меня с ума.

Это особенно верно, если ваша немецкая страница является дешевым переводом вашей английской страницы.

Для удобства пользователей английская версия также должна иметь локализацию, например domain.com/en/или en.domain.com.

Когда я печатаю, domain.comвы получаете одно предположение, чтобы дать мне английскую или немецкую страницу на основе моего Accept-Languageзаголовка. Если мне, однако, не нравится ваш выбор, я могу просто поменять язык в доменном имени.

Дополнительная подсказка: если у вас есть язык, который стоит перед доменным именем, то вы должны набрать его ger.domain.comи de.domain.comвывести меня на немецкий сайт.

Кристиан
источник
7
+1 заIt might be hard for Americans to understand but there are actually people who speak more than one language.
TheBlackBenzKid
15

На мой взгляд, вы должны использовать подход с использованием папок или поддоменов, поскольку они более понятны для пользователя. Какой из них является вопросом личного вкуса, лично я нахожу подход папки более ясным. Параметр имени файла гораздо менее интуитивно понятен.

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

Wookai
источник
7
Кроме того, всегда предоставляйте пользователю выбор, независимо от того, что говорят его заголовки - я часто переключаюсь на английский, когда мне предлагают немецкую версию, либо потому, что перевод такой ужасный, либо потому, что его легче читать на английском (MSDN, для пример - весь код
написан
+1 балфа - это похоже на аргумент Якоба Нильсена о том, что сайты, удобные для мобильных устройств, всегда должны содержать ссылку на версию страницы для полного рабочего стола. Когда существует несколько версий страницы, сделайте обоснованное предположение о том, какую из них хочет пользователь, но позвольте пользователю сделать окончательный выбор.
Blazemonger
5

Используйте опцию субдомена, если вы используете локализованные версии (например, France! = French). Используйте субдомены, но я думаю, что лучше использовать каталоги, если в этой стране используются разные языки. Например:

us.domain.com (USA)
us.domain.com/en/sample.html (USA - english)
us.domain.com/es/ejemplo.html (USA - spanish)
es.domain.com (Spain)
es.domain.com/es/ejemplo.html (Spain - spanish)
es.domain.com/ca/exemple.html (Spain - catalan)

Bing использует гео-метатеги, но для Google вы должны использовать Google Webmaster Tools.

Если вы хотите настроить таргетинг на мировые рынки, используйте www.domain.comпредпочтительный язык пользователя (браузер должен указывать языки в Accept-Languageзаголовке), когда он у вас есть, или ваш основной язык рынка, когда его нет.

jrosell
источник
5

Это тот же вопрос, который я задал при переполнении стека . И я получил для этого ресурс, который я опубликую в качестве ответа здесь.

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

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

Саиф Бечан
источник
3

Я бы не использовал поддоменов. С точки зрения SEO это менее полезно: http://www.hobo-web.co.uk/seo-blog/index.php/blog-subdomain-or-subfolder-which-is-best/ .

Подобный разговор здесь: Поддомен против подкаталога .

Если вы смотрите на больших сайтах, чаще всего используют поддоменов.

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

Имя файла - это концепция, которую я еще не видел.

Remy
источник
1

Последнее внедрение в этом направлении, такое как одностраничное приложение (SPA) для продуктов на основе SAAS -

  1. Использование разных веб-сайтов для разных стран приведет к потере ссылочного сока, который в противном случае пошел бы к нашему основному брендинговому домену. Например: - https://www.example.in/и https://www.example.fr/т. Д. (Amazon, крупный гигант электронной коммерции, совершил эту ошибку в своем прошлом.)

  2. Использование одного домена с SPA и перенаправление на него всех посетителей будет приемлемым, но в этом случае мы сможем настроить таргетинг только на один язык. Будет плохой пользовательский опыт из-за разных стран, нуждающихся в разных языках.

  3. Есть много лучших примеров в этом деле (например, Microsoft и Uber). Мне лично нравится то, что они делают, и я считаю, что они используют лучшие практики SEO.

    Когда Ланг - английский с разными странами.

    • https://www.example.com/en-in (Для Индии)
    • https://www.example.com/en-au/ (Для Австралии)
    • и т.п.

    или же

    • https://www.uber.com/en/in/ (Для Индии),
    • https://www.uber.com/en/au/ (Для Австралии)
    • https://www.uber.com/fr/ (Для Франции)
    • и т.п.

    Когда Lang и Country одинаковы -

    • https://www.example.com/fr-fr/или https://www.example.com/fr/fr/(для Франции)
    • https://www.example.com/ru-ru/или https://www.example[dot]com/ru/ru/(для России)
    • и т.п.

Для большей ясности см. Справку консоли поиска Google: Управление многоязычными и многоязычными сайтами.

Premnath321
источник
Я бы не советовал использовать одностраничные технологии, если SEO важен для вас.
Стивен Остермиллер
@StephenOstermiller Согласен! но я помещаю для случая, когда приложение требовало его для их UI & UX цели.
Premnath321