Геотаргетинг для phpAdsNew

На одном своем проект, специально для рекламодателей, использую скрипт баннерки phpAdsNew. Вообще вещь хорошая, а главное бесплатная. Недавно пришлось попотеть над геотаргетингом. В начале захотелось замахнуться на города и регионы, ну хотя бы России. Хорошо сказано – хотя бы, но об этом чуть позже.

И так выбор пал на IP2RusCity. Скрипт как и база, содержащая соответствие подсетей IP городов и регионов России, на 24 декабря 2004 года доступны – бесплатано. Архивчик в виде SQL запросов, запакованный в zip архив, весит 2,961 Кб, в разархивированном виде потянет на 14 Мб, вот тут то я и обломался. Конечно, можно импортировать и архив, который на сервере разархивируется и все данные попадут спокойно в базу, но как оно будет пыхтеть? Не стану спорить, люди работают и не с таким, но решил пожалеть свой сервер и ограничится континентами и городами. Ну а если всё таки есть желание. Заливайте БД и качайте архив скрипта, он пойдёт под phpAdsNew 2.0.7, 2.0.8. Установка очень простая:

  • скопировать geo-ip2ruscity.inc.php в libraries/geotargeting/
  • заменить res-iso3166-2.inc.php в libraries/resources/

Далее выбираем IP2RusCity & IP-To-Country в настройках нашей банерки (Настройки->Главные настройки->Host information and Geotargeting) и устанавливаем ограничения для баннеров. Всё.

Но так как я не стал заморачиваться с IP2RusCity, то полностью переключился на MaxMind. Этот скрипт геотаргетинга идёт в комплекте с phpAdsNew и вроде заработал, на том и спасибо. Как я и говорил ограничился странами, так что прошу любить и жаловать GeoLite Country, кто хочет может за 50$ купить и платную версию. Бесплатная доступна в бинарном и CSV виде (последний для конвертации в БД). Так как я пытаюсь экономить на обращениях к БД (на то есть свои причины), скачал бинарку. Ну а далее всё как по маслу. Закачал на хостинг, в настройках геотаргетинга выбрал MaxMind GeoIP Unified Plig-In (supports any database type) и прописал расположение БД (полный путь, т.е. /home/s …). Выставил ограничения в баннере – наслаждаюсь.

Работа не такая уж и сложная, но тоже требует времени. Сразу прошу: «не судить строго если что не так» — тоже работал методом научного тыка и бывало что не срабатывало. Да и заметку пишу уже скорее по воспоминаниям, чем по горячим следам, возможны ошибки. Удачи вам :)