Интернационализация и поисковая оптимизация

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

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

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

5 ответов

Решение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вот моя идея об обработке этого случая.

  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, в котором локализуется в соответствии со значением lang
  4. [QSA] означает, что именованный захват (язык) будет добавлен к вновь созданному URI,

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

Другие вопросы по тегам