Что такое Георедирект и как он работает
Георедирект — плагин для Shop-Script на Webasyst: определяет страну посетителя по IP и автоматически перенаправляет его на нужный домен, привязанный к этой стране. При редиректе сохраняется текущая страница, путь и GET-параметры.
Работает с несколькими источниками GeoIP — можно использовать внешний API, локальную базу Sypex Geo или сервис DaData. Для локального режима Sypex Geo данные хранятся на вашем сервере и могут обновляться по cron.
- Что умеет плагин
- Определять страну посетителя по IP.
- Перенаправлять посетителя на домен, связанный с его страной.
- Сохранять URL страницы при редиректе: каталог, товар, параметры фильтра, UTM-метки и другие GET-параметры.
- Использовать домен по умолчанию для стран, которых нет в списке привязок.
- Не перенаправлять поисковых роботов.
- Кэшировать страну посетителя в cookie, чтобы не выполнять проверку при каждом открытии страницы.
- Защищаться от циклических редиректов через параметр
_gr=1.
- Вести отладочный лог для диагностики.
- Что вы получаете
- Автоматическое распределение посетителей по региональным или страновым доменам.
- Гибкую таблицу привязок «страна → домен» в админке.
- Отдельный домен по умолчанию для всех остальных стран.
- Выбор источника определения страны по IP.
- Возможность работать через локальную базу Sypex Geo без постоянных внешних запросов.
- Где настраивать — Настройки → Плагины → Георедирект: включение плагина, выбор GeoIP API, домен по умолчанию, кэширование, исключение ботов и отладочный режим.
Основные сценарии использования
- Редирект посетителя на домен своей страны
- Например, посетитель из России открывает
example.com/catalog/.
- Плагин определяет страну
RU.
- Находит привязку
RU → example.ru.
- Перенаправляет на
https://example.ru/catalog/?_gr=1.
- Страна не указана в таблице
- Если для страны посетителя нет отдельной привязки, используется домен по умолчанию.
- Например, для Германии нет записи, а домен по умолчанию —
example.com.
- Посетитель будет перенаправлен на домен по умолчанию с сохранением текущего URL.
- Несколько доменов одного магазина
- Можно настроить отдельные домены для России, Казахстана, Беларуси, Украины, Европы или других направлений.
- Домены берутся из раздела «Сайт» Webasyst, вручную вводить домены в привязках не нужно.
- Локальное определение страны через Sypex Geo
- Выберите источник Sypex Geo в настройках.
- Создайте или обновите локальную базу кнопкой в админке.
- После этого страна определяется по локальному файлу базы на сервере.
Источники определения страны по IP
- ipwho.is
- Источник по умолчанию.
- Не требует API-ключа.
- Подходит для быстрого старта.
- DaData
- Точность по РФ: высокая.
- Для работы нужен API-ключ DaData.
- Ключ можно получить в личном кабинете DaData: зарегистрируйтесь, откройте раздел API-ключей и скопируйте токен.
- Sypex Geo
- Точность по РФ: средняя/высокая.
- Работает через локальную базу данных.
- Базу можно создать и обновить из админки плагина.
- Можно настроить автоматическое обновление через cron.
- Ip-api.ru
- Точность по РФ: средняя.
- Может использоваться как альтернативный внешний источник.
Привязки «Страна → Домен»
- Код страны — ISO 3166-1 alpha-2, например
RU, KZ, BY, US.
- Название страны — заполняется автоматически при выборе страны из списка.
- Домен — выбирается из доменов, добавленных в Webasyst.
- По умолчанию — домен для всех стран, для которых нет отдельной записи.
- Активно — можно временно отключить привязку без удаления.
Как работает редирект
- Посетитель открывает страницу магазина.
- Плагин проверяет, включён ли георедирект.
- Если включено исключение ботов, поисковые роботы не перенаправляются.
- Плагин получает IP посетителя.
- Определяет страну выбранным способом:
ipwho.is, DaData, Sypex Geo или Ip-api.ru.
- Ищет активную привязку страны к домену.
- Если привязка найдена, сравнивает текущий домен с целевым.
- Если домен отличается, выполняет временный редирект
302.
- Если страна не найдена в таблице, используется домен по умолчанию.
Защита от зацикливания
- При редиректе к URL добавляется параметр
_gr=1.
- Если страница уже открыта с параметром
_gr=1, повторный редирект не выполняется.
- Это защищает от ситуации, когда разные домены перенаправляют посетителя друг на друга.
Кэширование
- Плагин может сохранять код страны в cookie
georedirect_country.
- Это уменьшает число запросов к внешнему API.
- Время хранения cookie задаётся в настройках в часах.
- Для разных доменов cookie могут работать отдельно, поэтому после перехода на другой домен возможна повторная проверка.
Sypex Geo и cron
- Для Sypex Geo плагин создаёт локальную базу в каталоге
wa-apps/shop/plugins/georedirect/data/.
- Базу можно обновлять вручную кнопкой в настройках.
- Для автоматического обновления используйте стандартный CLI Webasyst:
php /var/www/u42222/data/www/axisauto/cli.php shop georedirectSypexGeo
- Команду можно добавить в cron, например запускать один раз в день ночью.
Что можно настроить
- Включение или выключение плагина.
- Источник GeoIP:
ipwho.is, DaData, Sypex Geo, Ip-api.ru.
- API-ключ DaData.
- Локальную базу Sypex Geo.
- Домен по умолчанию.
- Кэширование страны в cookie.
- Время кэша в часах.
- Исключение поисковых роботов из редиректа.
- Отладочный лог.
- Таблицу привязок стран к доменам.
Где это в админке
- Настройки плагина — включение, выбор GeoIP API, параметры кэша, домен по умолчанию, Sypex Geo, DaData и отладка.
- Привязки «Страна → Домен» — отдельная страница управления странами и доменами, ссылка находится вверху настроек плагина.
Частые вопросы
- Нужен ли API-ключ? Не всегда. Для
ipwho.is ключ не нужен. Для DaData нужен API-ключ. Для Sypex Geo используется локальная база.
- Можно ли не отправлять IP во внешний сервис? Да. Используйте
Sypex Geo, тогда определение страны выполняется по локальной базе на сервере.
- Что будет, если API недоступен? Плагин не делает редирект и оставляет посетителя на текущем домене.
- Можно ли временно отключить отдельную страну? Да, у каждой привязки есть флаг «Активно».
- Можно ли сохранить текущую страницу при редиректе? Да, путь и GET-параметры сохраняются.
- Почему используется редирект 302? Это временный редирект: браузер не запоминает его навсегда, и настройки можно безопасно менять.
Нужна помощь с настройкой под ваш магазин? Пишите на scc.lac@mail.ru или в Telegram @web_stu.