Существует три способа сообщить 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