Интернационализация и поисковая оптимизация - PullRequest
18 голосов
/ 01 декабря 2009

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

Мой вопрос касается того, как мне отображать различные версии одной и той же страницы в зависимости от языка с точки зрения URL-адресов страниц. Допустим, мы просто смотрим на страницу индекса http://www.example.com/, которая по умолчанию является английской. Теперь, если говорящий на французском языке загружает страницу индекса, я должен просто сохранить URL-адрес как http://www.example.com/, или я должен перенаправить его на http://www.example.com/fr/?

Я пытаюсь выяснить, какие выгоды или последствия это имеет с точки зрения SEO. Я не хочу, чтобы французская версия сайта отображалась на google.com, если она не позволяет отображать там английские версии тех же страниц, но я бы хотела, чтобы она отображалась на google.fr.

Ответы [ 5 ]

38 голосов
/ 02 декабря 2009

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

Для поисковых систем вы должны убедиться, что они могут найти и получить доступ ко всему вашему контенту на всех языках без запросов POST (без выпадающих форм), JavaScript, Flash или куки. Потому что поисковые системы обычно не используют эти технологии.

Оказывается, это часто хорошо и для реальных клиентов. Если вы полагаетесь на настройки браузера или обнаружение ip, то некоторые из ваших реальных клиентов, которые занимают у друзей компьютер или путешествуют за границей, могут застрять на неправильном языке (Microsoft Bing действительно некоторое время сталкивался с этой проблемой).

Вот несколько советов, о которых следует помнить

  • Каждый язык должен содержаться под некоторым корнем в вашей информационной архитектуре. Лучшим вариантом будет приобретение ДВУ (mysite.fr) для каждого конкретного региона для вашего веб-сайта. Хотя иногда это невозможно, поэтому второй вариант - использовать поддомен (fr.mysite.com), а третий вариант - использовать подпапку (mysite.com/fr). Это облегчает нам просмотр совокупности страниц и наилучшим образом определяет язык / регион. Не устанавливайте его в качестве параметра (mysite.com/products/iphone/lang=en&region=us), который нам сложнее всего обнаружить.

  • У нас есть классификаторы языков (сети искусственного интеллекта), которые пытаются определить, какой язык / регион описывает страница. Поэтому убедитесь, что у вас достаточно подсказок на вашей странице относительно того, что это за язык. Например. если страница французская, убедитесь, что мета-тег описания также на французском, как и теги <h1>, заголовок и убедитесь, что у вас есть сплошная пара предложений на французском языке. Многие сайты будут смешивать языки, и на странице будет совсем немного французского

  • Номера телефонов, почтовые адреса и название географического местоположения также являются отличными подсказками для поисковых систем при определении региона / языка страницы. Используйте их хорошо (и убедитесь, что это фактический текст на странице, а не изображения)

  • Используйте Google Webmaster Tools, чтобы указать язык и регион ваших страниц. Создайте учетную запись, подтвердите свой сайт, а затем вы можете указать, для какого региона и языка предназначены различные части вашего сайта.

Mis-информация - атрибут lang или любые языковые теги, о которых вы, возможно, слышали, в настоящее время не используются поисковой системой. Когда мы (Microsoft Bing) провели анализ этих данных в прошлом году, самый распространенный «стандартный» тег lang, который люди использовали, отображался только на 0,000125% страниц в Интернете - недостаточно, чтобы быть полезным!

Ванесса Фокс (она создала центр веб-мастеров Google и создала протокол карты сайта) недавно написала особенно хорошую статью о том, как Google думает о локализации и что это означает для архитектуры сайта. Я рекомендую проверить это здесь: http://www.ninebyblue.com/blog/making-geotargeted-content-findable-for-the-right-searchers/

3 голосов
/ 04 декабря 2009

Вот как я решил проблему на моем личном веб-сайте в качестве упражнения в i18n:

  • Когда пользователь приходит, например, brazzy.de/index.php,сайт пытается определить язык по файлам cookie (если есть) или настройкам браузера (заголовок Accept-language), по умолчанию используется английский язык и не перенаправляет
  • На каждой странице есть ссылки на версии на разных языках.эта страница (IMO - самый важный фактор для удобства пользователя, а также гарантирует, что поисковые системы могут легко найти различные версии).
  • Эти ссылки ведут, например, на brazzy.de/en/index.php,который в моем случае переписывается на brazzy.de/index.php?lang=en - это гарантирует, что поисковые системы увидят разные URL-адреса для разных языковых версий .
  • Посещение таких наборов подкаталоговязыковой файл cookie для этого языка
  • Страницы без определенного языка (т. е. где язык зависит от данных клиента) используют, например, <link rel="canonical" href="/en/">, чтобы сообщить поисковой системепо определенному языку URL можно найти эту страницу.
  • Используйте XML sitemaps , чтобы дополнительно гарантировать, что поисковые системы смогут найти все страницы и версии на разных языках.
1 голос
/ 01 декабря 2009

Поскольку страницы будут иметь разное содержимое, я бы предоставил разные URL для разных языков.

Основные поисковые системы достаточно умны, чтобы определить язык страницы с учетом ее содержимого. Наличие кода языка в URL (например, fr) также должно дать подсказкам поисковым системам.

0 голосов
/ 12 сентября 2015

Вот моя идея по поводу этого случая.

  1. Вы должны войти на свою страницу, используя php
  2. Вы создаете для каждого языка вашего сайта папку вроде root / lang / en (для английского)
  3. Вы создаете файл .htaccess (он должен находиться в папке / lang /), в который вы записываете некоторое перенаправление (переписывание URL) Вот что нужно поместить в этот файл .htaccess:

 <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteRule lang/(+)$ index.php?lang=$1 [QSA,NC]
  </IfModule>
  1. : Сначала проверьте, является ли этот модуль перезаписи присутствует и активен на apache, потому что если нет, то выскочит ошибка

  2. RewriteEngine On: Мы готовим механизм перезаписи для начала обработки правила

  3. lang / (+) $ означает любой запрос к подпапке этой папки или файла. следует перенаправить на страницу индекса и передать имя подпапка файла в качестве параметра lang вашего файла index.php в который локализуется в соответствии со значением языка
  4. [QSA] означает, что именованный захват (язык) будет добавлен к вновь созданному URI,

  5. [NC] означает, что наши URI не чувствительны к регистру

0 голосов
/ 04 декабря 2009

Два ответа: как я это делаю и как я собираю SEO-разработчики думают, что вы должны это делать.

Мой сайт имеет в основном английский и пару немецких страниц, и я планирую иметь больше немецких страниц и, возможно, несколько испанских страниц. У меня есть корневая страница, не зависящая от языка, и у меня есть навигационные ссылки с немецкими страницами (там, где они существуют) под их английскими эквивалентами, и я использую URL, отличающиеся в английском и немецком языках (например, /services.html и /leistungen.html ).

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

Правильным SEO-подходом является поддержание определенной иерархии, возможно, в форме www.site.tld / lang /, но лучше lang.site.tld /, каждая с отдельным файлом sitemap.xml.

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

...