Геотаргетинг: Геолокационные плагины для WordPress. Использование Google Analytics для определения местоположения посетителей

31.03.2019

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

В общем, я принялся искать плагины, связанные как-то с geo targeting или geo location, или с чем-то подобным. Все решения можно разделить на такие условные группы:

  • платные модули с 30 бесплатными днями, с подписками по доллару в месяц или ценами около $49.99;
  • плагины с официального сайта WordPress, что не обновлялись более двух лет, которые скачаны раз 100-200 или с сомнительными оценками.
  • в третью группу я бы определил компромиссные решения, из которых можно хоть что-то выбрать.

Итого я остановился на трех вариантах.

Плагин староват, поддерживает версии WordPress до 3.3.2, но я все же решил его попробовать. Забегая наперед, скажу, что запуск на WP 3.1 и WP 3.4.2 не принесли результата. Я пытался вывести информацию как в виджете, так и в PHP коде шаблона — тщетно. Возможно, нужно покопаться в модуле чуть более детально. Задумка то у него очень даже неплохая.

Модуль Content By Location поддерживает работу сразу с тремя геолокационными сервисами: smart-ip.net, hostip.info, maxmind.com.

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

your content

Your content

Здесь вместо «country code» ставите сокращение страны по формату SO_3166-1_alpha-2 (nl, uk, us, ru, fr и т.п.). Собственно, плюсом является поддержка сразу нескольких сервисов, если вдруг кто-то из них откажется работать. Я тестировал первые два, третий это бесплатная и локальная база стран, которую нужно будет скачать. Она используется во многих решениях. Так что, если есть время, поэкспериментируйте.

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

Все они доступны, но вот база IP и стран — другой вопрос. Есть LITE версия (бесплатная) и коммерческая. Кроме того, сложности добавляет то, что вам придется как-то эту базу подключить, то ли указав пути, то ли подправив БД. Без базовых навыков разработки не разобраться.

Из позитивного можно назвать очень легкое использование модуля после подключения. Например следующий код:

Your IP is {ip:ipAddress} You are came from {ip:countryName}, {ip:regionName}, {ip:cityName}

… отобразит информацию о вашем адресе, стране, регионе и городе. Там подобных переменных очень много. Можно легко создавать функциональные сайты по типу определителей IP адресов .

Скажу сразу, это решение не бесплатное, однако весьма эффективное. Со стоимостью не все понятно — на сайте указано $25.00 или 5WMZ (то ли опечатка, то ли за 5 вмз можно купить).

Плюсов здесь хватает:

  • быстрая установка и множество настроек;
  • база IP обновляется автоматически бесплатно без регулярных платежей;
  • кроме решение задачи геотаргетинга с отображением контента для разных стран, позволяет выполнять ряд других функций (перенаправление, флаги);
  • поддержка более-менее актуальных версий WP до 3.8.
  • код плагина не закодирован, можете изучать и править.

По описанию смахивает на то, что автор использует бесплатную (LITE) базу IP сервиса MaxMind GeoLite, о которой я говорил выше. Ее вполне хватает, к тому же она автоматически обновляется. Вообще за указанный набор функций считаю цену в 25 долларов более чем приемлемой. Зарубежные аналоги подороже будут. Конечно, если вы опытные веб-разработчик, то сами можете попытаться все реализовать.

Если знаете другие интересные (и работающие) решения геолокационных задач в WordPress — пишите в комментария.

Недавно попросили сделать геотаргетинг по городам для сайта на . Пересмотрев существующие геотаргетинг-плагины (в том числе платные), не нашёл не одного работающего с городами (только страны). Поэтому решил сделать свой, используя какую-нибудь существующую базу для определения местоположения по IP-адресу. Сначала начал с разработки функции в шаблоне, но потом решил создать плагин и выложить на github, так как думаю, что он может пригодиться кому-нибудь ещё.

Выбор базы

Первым делом нужно было выбрать базу. И это, наверное, одна из самых сложных проблем. В процессе разработки пробовал много вариантов, даже делал CURL-запросы на сайты, определяющие местоположение по ip, и парсил их. Но все они были не точны, к примеру, один Московский IP определяло как Москву, другой - просто Россия. Также нужно было, чтобы плагин работал не только с Россией, но и с Беларусью и Украиной. Перепробовав кучу множество баз, я остановился на Sypex Geo. У них есть условно-платная и бесплатная версии баз. Условно-платная использует REST API и возвращает данные в виде xml, json и jsonp. Бесплатную можно скачать в виде файла, также можно скачать класс для работы с ней. Условно-платная версия более точная, но бесплатно предоставляет только 10 000 запросов. Бесплатная версия тоже достаточно точна и обновляется на сайте.

Функционал

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

При разработке плагина я решил сделать выбор между локальной базой и REST API. В будущем планирую сделать кнопку автоматического обновления базы.

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

Настройка плагина в админке

Реализация

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

Вкратце опишу его работу.

При активации плагина инициируем две опции: тип бд и язык на котором будем вводить названия.

Register_activation_hook(__FILE__, "wp_sypexgeo_activation" ); function wp_sypexgeo_activation () { update_option("sgeo_language" , "en" ); update_option("sgeo_dbase" , "loc" ); }

Add_filter("the_content" , "geotargeting_filter" ); add_filter("the_content_rss" , "geotargeting_filter" ); add_filter("the_excerpt" , "geotargeting_filter" ); add_filter("the_excerpt_rss" , "geotargeting_filter" );

вызывают функцию

geotargeting_filter

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

Использование

Для указания списка стран:

Привет Belarus,Russia!

Для указания списка регионов:

Привет Moscow Region!

Для указания списка городов:

Привет Минск,Брест!

Если вы хотите выбрать страны (регионы, города) за исключением указанных, используйте «out»:

Привет всем, кроме Minsk,Brest!

Пример использования в шаблоне:

Добро пожаловать в WordPress. Это ваша первая запись. Отредактируйте или удалите её, затем пишите! Наши контакты: +375295552255+375475552255

Заключение

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

Существует множество причин, по которым может понадобиться геотаргетинг :

  • Если вы работаете на местном рынке и не хотите тратить пропускную способность сервера на трафик из других стран. Знать о ваших товарах должны только местные клиенты, а не люди из далеких стран;
  • Большие объемы нерелевантного трафика спамеров и сокращение коэффициента конверсии;
  • Если бизнес нацелен на клиентов из определенного географического региона, потому что в нем существует высокий спрос на ваши услуги или продукты и меньше конкуренция;
  • Если сайт особенно уязвим, и вы хотите сделать его более безопасным.

Для некоторых геотаргетинг для сайта не будет иметь большого значения. Однако для других это существенно. Если географический аспект не настроен должным образом, пришло время изучить геотаргетинг.

Ресурсы геотаргетинга для сайта на WordPress

Google Analytics может показать вам географическое происхождение трафика вашего WordPress-сайта . Всякий раз, когда пользователь посещает сайт, его IP-адрес указывает Google Analytics , где находится этот человек.

По континентам:

По странам:


По городам:


Но Google Analytics не сможет помочь направить трафик на определенные географические регионы или наоборот ограничить для них доступ. Поэтому, если вы ищете простой способ определить, откуда приходит трафик, начните с аналитики геотаргетинга WordPress .

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

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

К сожалению, на данный момент CMS WordPress не содержит встроенных функций, которые могли бы помочь разработчикам географически оптимизировать сайты. Но существует несколько плагинов, которые помогут справиться с этой задачей.

Универсальная реализация стратегии геотаргетинга на WordPress- сайтах

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

Плагины геотаргетинга для предоставления пользователям различного контента

GeoTargeting Lite


Это бесплатная версия плагина GeoTargeting Pro , описанного ниже. Главным ее отличием является то, что GeoTargeting Lite позволяет реализовать только геотаргетинг . Если вам нужны расширенные возможности таргетинга и блокировки, то придется приобрести версию GeoTargeting Pro .

Дополнение Geo Targeting для Icegram


Если уже используете плагин Icegram для WordPress (премиум-версию ), то для него существует дополнение Geo Targeting. Возможности плагина можно расширить с помощью этого дополнения для геотаргетинга.

Плагины геотаргетинга для рекламы

AdRotate

Если вы планируете монетизировать свой сайт и хотите показывать объявления в разных странах, штатах или городах, используйте плагин AdRotate . Несмотря на то, что в каталоге WordPress представлена его бесплатная версия, только премиум-интерфейс предоставляет возможности системы геотаргетинга.

Advanced Ads

Это еще один плагин для монетизации сайта, который поддерживает функцию геотаргетинга. Сам плагин является бесплатным, но функции геотаргетинга и геоблокирования — нет. Если нужна гибкая настройка правил геотаргетинга для рекламы на сайте, это именно тот плагин, который вам нужен.

Плагины для геоблокирования

IP Geo Block


Целью геоблокирования является непосредственный запрет доступа посетителям. И не только обычным посетителям, но и пытающимся взломать ваш сайт. Этот плагин блокирует посетителям доступ с определенных IP-адресов и стран через:

  • Форму входа в систему;
  • Форму комментариев;
  • Взломанные плагины или темы;
  • И все остальные back-end пути, ведущие на ваш сайт.

IQ Block Country

Если нужен способ ограничить доступ на сайт, можно использовать этот плагин геоблокирования. Он позволяет:

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

«Все в одном» — плагин для геотаргетинга и блокировки

Если нужно полностью контролировать геотаргетинг для сайта, перенаправление и блокировку посетителей.

GeoTargeting Pro


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

Заключение

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

Перевод статьи «A Guide to Geotargeting and Geographic-Specific Content for WordPress » дружной командой проекта .

Хорошо Плохо