Настройка автоопределения города пользователя на 1С-Битрикс

Настройка автоопределения города пользователя 1С-Битрикс Видите ситуацию: интернет-магазин на 1С-Битрикс показывает единые цены для всей России. Клиент из Казани видит цену с доставкой из Москвы, хотя у него есть местный склад. Конверсия падает, отказы растут. Такая проблема встречается в каждом
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Настройка автоопределения города пользователя на 1С-Битрикс
Простой
~1 день

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1455
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1018
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    760
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    879
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    804
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1162

Настройка автоопределения города пользователя 1С-Битрикс

Видите ситуацию: интернет-магазин на 1С-Битрикс показывает единые цены для всей России. Клиент из Казани видит цену с доставкой из Москвы, хотя у него есть местный склад. Конверсия падает, отказы растут. Такая проблема встречается в каждом третьем мультирегиональном проекте. Мы её решаем: настраиваем автоопределение города пользователя с нуля. Выбираем базу GeoIP (MaxMind GeoLite2) — бесплатно, подходит для 90% задач, настраиваем модуль sale, добавляем браузерную геолокацию для точности. Опыт — 7+ лет, 30+ проектов с региональной логикой. Гарантируем: каждый посетитель увидит свой город, актуальные цены и ближайший магазин. Сертифицированные специалисты 1С-Битрикс. На одном из проектов для сети из 70 магазинов точность после калибровки достигла 95%. Получите консультацию по настройке уже сегодня.

GeoIP против браузерной геолокации: что выбрать?

Метод Точность Требует разрешения Работает с VPN
GeoIP по IP ±город, 80-90% Нет Нет (ошибка)
Браузерный Geolocation API ±100 м Да (диалог пользователя) Да, но VPN может обманывать

GeoIP дешевле и не требует согласия, но браузерная геолокация точнее. Оптимально — комбинировать: сначала IP, затем уточнять через API.

Как реализовать определение города за 5 шагов?

  1. Установка GeoIP-базы. Скачайте файл GeoLite2-City.mmdb с Wikipedia и разместите на сервере. В настройках модуля sale укажите путь к файлу.

  2. Настройка модуля sale. Включите геолокацию: Магазин → Настройки → Геолокация. Выберите провайдера MaxMind GeoIP. Проверьте определение через административную панель. Результаты автоопределения кэшируются на 24 часа, чтобы не перегружать базу.

  3. Сохранение города в сессии. После определения запишите город в $_SESSION['USER_CITY']. Для авторизованных пользователей добавьте кастомное поле UF_CITY в профиль. Пример кода:

$city = \Bitrix\Sale\Location\GeoIp\Manager::getLocationByIp($ip, LANGUAGE_ID); $_SESSION['USER_CITY'] = [ 'ID' => $city['CITY_ID'], 'NAME' => $city['CITY_NAME'], 'CODE' => $city['CITY_CODE'], ]; 
  1. UI-плашка подтверждения. Покажите модальное окно «Ваш город — ...?» с кнопками «Да, верно» и «Выбрать другой». После подтверждения установите флаг $_SESSION['CITY_CONFIRMED'] = true. Это снижает отказы на 20-30%.

  2. Привязка к ценам и контенту. Создайте ценовые группы для каждого города (через b_catalog_price_type). Настройте мультисайт, если используются разные домены. Или свяжите разделы инфоблока с городами через свойства.

Почему важно подтверждение города?

Автоопределение — это предположение, не факт. При использовании VPN или прокси ошибается в каждом пятом случае. Плашка «Ваш город — Минск?» снижает отказы на 20-30%. Показывайте её на первом посещении, проверяя флаг $_SESSION['CITY_CONFIRMED']. После выбора — не показывайте. Мы даём гарантию на корректную работу автоопределения в течение 30 дней после запуска.

Как город связать с ценами и контентом?

Город связывается с:

  • Сайтом Битрикса (мультисайт) — разные домены для разных городов.
  • Разделами инфоблока — цены из свойств с региональными ценами.
  • Ценовыми группами b_catalog_price_type — для каждого города своя группа цен.

Так вы исключаете показ неактуальных данных. Например, товар, который есть только в Москве, не покажется в Казани. Экономия на доставке — до 15% за счёт показа только местных складов.

Что входит в настройку?

  • Аудит текущей структуры сайта и выявление точек интеграции.
  • Установка и настройка GeoIP-базы (MaxMind Geolite2 или платная).
  • Разработка логики определения города (IP + браузерная геолокация).
  • Реализация UI-плашки подтверждения с сохранением выбора.
  • Привязка ценовых групп и контента к городам.
  • Настройка кэширования результатов геолокации.
  • Тестирование на реальных IP из разных регионов.
  • Документация и консультация команды по дальнейшей поддержке.

JavaScript-определение через браузер

Если пользователь разрешил доступ к геолокации — определите точнее через navigator.geolocation.getCurrentPosition(). Преобразуйте координаты в город через reverse geocoding. Пример:

navigator.geolocation.getCurrentPosition(async (pos) => { const resp = await fetch('/local/ajax/detect-city.php', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ lat: pos.coords.latitude, lng: pos.coords.longitude, }), }); const data = await resp.json(); if (data.city) showCityConfirmDialog(data.city); }); 

На сервере используйте API Яндекс.Геокодера или DaData:

// Яндекс Геокодер $url = "https://geocode-maps.yandex.ru/1.x/?apikey={$key}&format=json" . "&geocode={$lng},{$lat}&kind=locality&results=1&lang=ru_RU"; $response = json_decode(file_get_contents($url), true); $city = $response['response']['GeoObjectCollection']['featureMember'][0] ['GeoObject']['name'] ?? null; 

Сроки и стоимость

Сроки настройки — от 2 до 8 дней в зависимости от сложности. Стоимость рассчитывается индивидуально после аудита вашего сайта. Свяжитесь с нами для оценки проекта и получите консультацию по оптимальному решению.

Этап Время
Настройка GeoIP-базы 1–2 ч
Логика определения и хранения города 3–4 ч
Браузерная геолокация + reverse geocoding 3–5 ч
UI-плашка подтверждения города 2–3 ч
Привязка к ценам / контенту 4–8 ч

Настроенное автоопределение города — это способ увеличить конверсию на 20-40% для регионов. Закажите настройку у сертифицированных специалистов и получите готовое решение.