Плагин WT Geotargeting (бесплатная и Pro версия) поддерживает следующие сервисы определения местоположения по IP-адресу.
Активные сервисы
| № | Сервис | Описание | Версия |
|---|---|---|---|
| 1 | IP Geolocation API | Определяет город по IP по всему миру. Используется по умолчанию. | ver.1.11 Pro |
| 2 | Sypex Geo | Определяет город по IP в России, Украине и Беларуси. Используется по умолчанию в Free. Использовать не рекомендуется — работа нестабильна. | ver.1.7.6 |
| 3 | DaData | Российский сервис. Детальная информация о местоположении, в т.ч. почтовый индекс. Требует регистрации и API-ключ. | ver.1.7 |
| 4 | GeoIP2 от MaxMind | Лидер в области идентификации местоположения пользователей всего мира. Высокая точность (город в большинстве стран, включая СНГ). Доступ платный — тарифы на сайте MaxMind. | ver.1.7 |
| 5 | Отключено | Отключение геолокации. | ver.1.7 |
Лимиты и настройка
- Sypex Geo: без регистрации — 10 000 запросов/месяц; с регистрацией — 30 000. Дополнительные запросы — платно.
- DaData: регистрация на dadata.ru, получение API-ключа в личном кабинете. В настройках плагина выбрать сервис DaData и ввести ключ.
Устаревшие и удалённые сервисы
| Сервис | Причина | Версия удаления |
|---|---|---|
| IpGeoBase | Проект прекратил существование. В России и Украине — точность до города, в остальных странах — до страны. | Удалён в 1.8.2 |
| IpGeoBase + GeoIP2 (совместно) | Режим с приоритетом IpGeoBase. IpGeoBase прекратил существование. | Удалён в 1.8.2 |
Как работает определение местоположения
- Первое посещение — обращение к стороннему сервису происходит единожды.
- Сохранение в cookie — при успешном определении данные структурируются в JSON и сохраняются в переменную
wt_geolocation_data(в ранних версиях —wt_geo_data) в cookie на стороне пользователя. - Последующие посещения — местоположение берётся из cookie, без повторного запроса к сервису.
Фильтрация роботов
Перед обращением к сервисам плагин проверяет User-Agent на вхождение ключевых слов, чтобы не тратить запросы на поисковых роботов. Список слов включает: rambler, googlebot, yandex, bing.com, mail.ru и др.
Кэширование (ver.1.9)
Обращения к сервисам геолокации сохраняются в таблицу wt_gt_geolocation_cache основной БД WordPress. Это сокращает количество запросов к сторонним API.
Устаревший кэш очищается ежедневно через cron-задание wt_geotargeting_pro_geolocation_delete_old_cache.
Где настраивается
Расположение: WT GeoTargeting → Настройки (первая страница настроек).
- Выбор сервиса геолокации
- API-ключи (DaData, SypexGeo, MaxMind)
- Путь к файлу базы данных (MaxMind GeoLite2)
Подробнее — Настройки плагина.
Вопросы и ответы
Почему геолокация определяет не все города и области?
Точность зависит от сервиса. Зону покрытия уточняйте на сайте сервиса.
Возможные причины неточности:
- Операторы сотовой связи присваивают мобильным устройствам IP соседних регионов
- Федеральные провайдеры распределяют IP динамически без учёта местоположения
- В cookie сохранился регион с первого посещения
- Кэш браузера, сервера или CDN отдаёт устаревший регион
- Устаревшие данные в базе IP сервиса
- Сервис временно недоступен или прекратил поддержку
- Некорректная настройка плагина
Как проверить работу геолокации?
- Откройте сайт сервиса и проверьте, как там определяется ваше местоположение
- В настройках плагина → раздел «Справка» → блок «Тестирование работы геолокации» — посмотрите результат
- Предварительно удалите cookie
wt_geolocation_data(или используйте?wt_geo_clean=1)
Работает ли плагин с регионами РФ и республикой Крым?
Территория определения зависит от сервиса. Детали — на сайтах сервисов.
См. также
- PHP-функции — доступ к данным через
Wt::$geolocation - Тестирование и отладка — режим тестирования геолокации
- Кэширование — кэширование страниц и геотаргетинг