Встала задача, посетителям сайта из разных городов выводить разную информацию. То есть организовать на сайте геотаргетинг. Данное описание будет делаться для CMS Joomla 1.5., но и пользователи других cms думаю найдут здесь полезную информацию, для реализации на сайте геотаргетинга.
Геотаргетинг (англ. geo targeting) — в веб-разработке и интернет маркетинге, метод выдачи посетителю содержимого, соответствующего его географическому положению.
Процесс определения, из какого города посетитель, строится на определении его ip-адреса и поиске этого адреса в базе данных ip-адресов.
Для получения этой БД воспользуемся сервисом . Этот сервис предоставляет бесплатную и актуальную БД по России.
Для проверки из какого города посетитель, сервис предоставляет возможность как удаленного обращения к их базе данных ip-адресов, так и размещению этой БД локально на своем хосте.
Мы воспользуемся вторым способом. При этом, базу прейдется всегда поддерживать в актуальном состоянии.
Скачиваем с сайта ( ) архив block_coord.zip, содержащий свежую версию базы данных ip-адресов block_coord.db.
Этап I. Создание дампа БД block_coord.db
Что бы импортировать базу данных ip-адресов на ваш сайт, необходимо сначала сделать дамп этой самой базы (block_coord.db).
Вы можете пропустить этот этап и скачать уже готовый дамп базы по ссылке: http://ooo-chip.ru , буду обновлять его раз в неделю.
Если же вы все-таки решили подготовить дамп сами, то
Понадобится , в том случае если у вас нет доступа на хосте к usr/local/… Если же доступ есть то можете сразу перейти к пункту 3.
Запускаем Денвер
Создайте базу данных
Перейдите в phpmyadmin и выполните запрос, в только что созданной БД, обратите внимание на префикс таблицы, в данном примере это – jos_ , вы должны поставить префикс который используется в вашей БД, данный префикс задается при установке joomla.
CREATE TABLE jos_geotarget ( inetnum varchar(64) not NULL, start decimal(10,0) not NULL, stop decimal(10,0) not NULL, city varchar(255) default NULL, region varchar(255) default NULL, district varchar(255) default NULL, LAT float(10,6) default NULL, LNG float(10,6) default NULL, KEY k_i (inetnum), KEY k_sta (start), KEY k_sto (stop) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Скачайте, с сайта ( ) архив block_coord.zip, содержащий свежую версию файла с координатами блоков block_coord.db.
Скопируйте block_coord.db в папку \usr\local\mysql5\data\название_созданной_бд\
В phpmyadmin выберите созданную БД, перейдите на вкладку “SQL” и выполните запрос, не забудьте поменять префикс таблицы “jos_”
load data infile 'block_coord.db' into table jos_geotarget;
после выполнения запроса, необходимые данные появятся в таблице jos_geotarget
Сделайте дамп базы в phpmyadmin выберите вашу БД, перейдите на вкладку «экспорт», поставьте галочку «Добавить IF NOT EXISTS» остальные галочки оставьте по умолчанию. «Сжатие» установите «архивировать в zip», нажмите кнопку пошел. Сохраните архив с дампом базы, куда вам удобно.
Разархивируйте архив, откройте файл с помощью notepad++, в меню «кодировки» выберите пункт «преобразовать в utf8» сохраните и заархивируйте в zip.
Либо, как говорилось выше, просто скачайте готовый дамп отсюда: http://ooo-chip.ru.
Этап II. Импорт дампа БД в базу сайта
Импорт БД на удаленный сервер. Перейдите в phpmyadmin на удаленном сервере, выберите вашу базу, перейдите на вкладку «импорт», нажмите кнопку «обзор» выберите архив, который сохранили в п.8, нажмите кнопку ОК. Возможно, у вас, как и у меня, импорт будет выполняться за несколько проходов. Т.е. через некоторое время появится сообщение, чтобы вы выбрали заново необходимый файл и продолжили импорт. Это штатная ситуация, а не ошибка. У меня импорт завершился за 2 прохода.
Этап III. Модуль геотаргетинга
Теперь на вашем сайте имеется БД ip-адресов. Но чтобы с ее помощью определить местоположения посетителя сайта, можете воспользоваться модулем: геотаргетинга, прикрепленным чуть ниже.
Данный модуль отображает название города, откуда посетитель сайта.
После установки модуля не забудьте его опубликовать.
Конечно сам по себе этот модуль не несет какого-либо полезного функционала. Целью было показать, каким образом можно прикрутить к сайту геотаргетинг, чтобы разработчики расширений под joomla! могли использовать данную информацию.
Читайте в следующей статье «Геотаргетинг в компоненте Sobi2»
При размещении материала «Делаем геотаргетинг на сайте» не забывайте указывать ссылку.