Как поисковые системы видят локализованный сайт Django? - PullRequest
4 голосов
/ 20 октября 2010

У меня есть сайт Django, который использует промежуточное программное обеспечение для локализации в сочетании с gettext и тегами шаблона trans / blocktrans, чтобы показывать посетителям разные страницы в зависимости от предпочтительного языка в строке их пользовательского агента (что, кажется, является стандартным способом работы) в Джанго).

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

Когда поисковая система сканирует сайт, у него обычно есть предпочтительный язык в строке агента? Получат ли немецкие пауки немецкий сайт, а испанские - испанский, или они просто получат английский сайт по умолчанию, который отображается, когда у пользователя не установлен язык? Различается ли это в зависимости от поисковых систем и существует ли «стандартный» способ действий, к которым могут или не могут привязаться отдельные сканеры?

Ответы [ 3 ]

3 голосов
/ 20 октября 2010
* * * * * * * * * * * У ботов, как правило, в заголовке http отсутствует настройка языка принятия.это означает, что django будет обслуживать ваш язык по умолчанию.Региональные поисковые системы могут иметь ботов с приемлемым языком, которые они предпочитают, но вы не можете полагаться на это.Лучше иметь разные страницы для каждого языка.например http://your.website.com/english/, а затем в промежуточном программном обеспечении настройте перенаправление на нужную языковую страницу, если присутствует определенный язык подтверждения.
2 голосов
/ 20 октября 2010

Не полагайтесь на то, что может сделать поисковая система в этом отношении.Вы хотите, чтобы все версии были просканированы.Чтобы добиться этого:

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

В целом, я считаю, что способ, которым я это сделал на моей домашней странице , близок к идеальному вв отношении поисковых систем и обычных пользователей:

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

используйте метатег hreflang , но убедитесь, что вы используете разные URL для разных языков .еще лучше использовать другое расширение домена (example.de, example.es) в сочетании с сайтами Django framework.

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