Заставьте Google показывать локализованный сайт Wordpress в результатах поиска

Я запускаю мультисайт Wordpress, на котором есть сайты Ирландии/ЕС, Великобритании и США в одном домене:

  • pestleandmortar.com - Ирландия/ЕС
  • pestleandmortar.com/uk — только для Великобритании
  • pestleandmortar.com/us - США/Канада

Клиенты перенаправляются с помощью подключаемого модуля IQ Country Block в зависимости от того, где находится их IP-адрес. Проблема в том, что если клиент выполняет обычный поиск в Google, иногда сайт ЕС будет отображаться в его результатах в США, и они смогут пройти по нему. Плагину, похоже, это не нравится, и он впускает их. Если тот же клиент затем обновляет страницу, плагин срабатывает и перенаправляет их.

Как сделать, чтобы Google отображал правильный сайт для региона, так что люди в США, когда они ищут, получают URL-адрес сайта США в своих результатах.

Спасибо.


person mbprouser    schedule 26.01.2021    source источник


Ответы (1)


Существует три способа сообщить Google, для какой страны или языка предназначена та или иная страница. Все эти методы основаны на использовании атрибута hreflang в сочетании с парой кодов ISO языка/страны.

Вы можете найти подробную документацию по hreflang на сайте разработчиков Google. .

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

  • Вы можете настроить таргетинг только на одну пару язык/страна, поэтому вам придется выбрать одну страну для версии для США/Канады.
  • Можно использовать только страны и языки, которые поддерживаются ISO 3166-1 и ISO 639-1 соответственно, что означает, что вы не можете настроить таргетинг на ЕС (поскольку это не страна).

Метод тега HTML

Первый метод заключается в использовании тегов HTML <link>, размещенных в элементе <head>. Каждый тег должен содержать атрибуты rel="alternate", hreflang и href.

Пример:
<link rel="alternate" hreflang="en-ie" href="http://www.pestleandmortar.com"
<link rel="alternate" hreflang="en-gb" href="http://www.pestleandmortar.com/uk"
<link rel="alternate" hreflang="en-us" href="http://www.pestleandmortar.com/us"

Эти же три тега используются в <head> всех трех приведенных вами примерах страниц.

Метод карты сайта

Для этого метода требуются те же атрибуты, но вместо этого они включены в XML-файл карты сайта, связанный с вашим сайтом.

Пример:

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>http://www.pestleandmortar.com/</loc>
    <xhtml:link rel="alternate" hreflang="en-ie" href="http://www.pestleandmortar.com/" />
    <xhtml:link rel="alternate" hreflang="en-gb" href="http://www.pestleandmortar.com/uk" />
    <xhtml:link rel="alternate" hreflang="en-us" href="http://www.pestleandmortar.com/us" />
  </url>
  <url>
    <loc>http://www.pestleandmortar.com/uk</loc>
    <xhtml:link rel="alternate" hreflang="en-ie" href="http://www.pestleandmortar.com/" />
    <xhtml:link rel="alternate" hreflang="en-gb" href="http://www.pestleandmortar.com/uk" />
    <xhtml:link rel="alternate" hreflang="en-us" href="http://www.pestleandmortar.com/us" />
  </url>
  <url>
    <loc>http://www.pestleandmortar.com/us</loc>
    <xhtml:link rel="alternate" hreflang="en-ie" href="http://www.pestleandmortar.com/" />
    <xhtml:link rel="alternate" hreflang="en-gb" href="http://www.pestleandmortar.com/uk" />
    <xhtml:link rel="alternate" hreflang="en-us" href="http://www.pestleandmortar.com/us" />
  </url>
</urlset>

Метод HTTP-заголовка

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

Пример:

Link: <http://www.pestleandmortar.com/>; rel="alternate"; hreflang="en-ie",
      <http://www.pestleandmortar.com/us>; rel="alternate"; hreflang="en-us",
      <http://www.pestleandmortar.com/uk>; rel="alternate"; hreflang="en-gb"

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

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

  • Используйте только 200 статусных URL, не содержащих директиву noindex или тег canonical, так как это также нарушит взаимосвязь между страницами.

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

  • Другие поисковые системы не используют разметку hreflang, например Bing. Если вы хотите, чтобы другие поисковые системы предоставляли своим пользователям правильную версию, вам необходимо настроить свои страницы с соответствующими элементами <html lang="">. Значение атрибута lang совпадает с кодами ISO языка, о которых я упоминал выше. Обратите внимание, что с помощью этого метода невозможно настроить таргетинг на страну.

Несколько слов о геоблокировке

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

  • Причина 1. Поисковые роботы Google в основном базируются в США. Если они не могут просканировать контент, они не могут его индексировать и ранжировать. Это плохо.

  • Причина 2. То, что вы делаете, похоже, представляет собой геоблокировку, то есть незаконен в ЕС и может привести к штрафам. Это тоже плохо. Тот факт, что вы не проводите различий между странами ЕС, может означать, что вы чисты, но я не юрист, так что не воспринимайте это как юридический совет.

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

Просто скажите мне, как настроить его в WordPress!

Поскольку ваш сайт построен на WordPress, вы можете попробовать несколько плагинов, которые упростят настройку hreflang.

Я могу только поручиться за WPML, так как я никогда не пробовал Polylang, но я подумал, что добавлю бесплатную альтернативу WPML с открытым исходным кодом.

person seth-carter    schedule 27.01.2021
comment
Спасибо, Сет, за очень подробный ответ. Я думал о тех же строках, используя тег href-lang. В дополнение к вашему комментарию о блокировке географических данных: любой человек в ЕС может делать покупки на нашем сайте по одной и той же цене. Причина, по которой у нас есть британский сайт, заключается в том, что, особенно в случае с Brexit, существует разница в валюте, а также другие ограничения. - person mbprouser; 29.01.2021