Настройка Яндекс.Справочник для 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка Яндекс.Справочник для 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1181
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    813
  • 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
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка Яндекс.Справочник для 1С-Битрикс

Яндекс.Справочник — это источник данных для карточки организации в Яндекс.Картах, поиске и других сервисах. Проблема большинства битриксовых сайтов: данные об организации хранятся разрозненно — телефон в одном месте шаблона, адрес в другом, время работы нигде, а НАП (NAP: Name, Address, Phone) на сайте не совпадает с данными в Справочнике. Поисковые системы используют согласованность НАП как сигнал локального ранжирования.

Structured Data LocalBusiness в Битриксе

До работы со Справочником нужно разобраться с разметкой на самом сайте. Schema.org LocalBusiness — это то, что сканируется поисковиком и сравнивается с данными агрегаторов. В Битриксе разметка добавляется в шаблон или компонент.

Данные об организации лучше хранить в настройках сайта или в инфоблоке «Контакты» — не хардкодить в шаблоне:

// Получить данные из инфоблока "Контакты"
$contacts = \CIBlockElement::GetList(
    [],
    ['IBLOCK_CODE' => 'contacts', 'ACTIVE' => 'Y'],
    false,
    ['nTopCount' => 1],
    ['ID', 'NAME', 'PROPERTY_PHONE', 'PROPERTY_ADDRESS', 'PROPERTY_HOURS']
)->GetNextElement()->GetFields();

JSON-LD в footer.php шаблона:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "<?= htmlspecialcharsEx($siteName) ?>",
  "telephone": "<?= htmlspecialcharsEx($contacts['PROPERTY_PHONE_VALUE']) ?>",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "<?= htmlspecialcharsEx($contacts['PROPERTY_ADDRESS_VALUE']) ?>",
    "addressLocality": "Москва",
    "addressCountry": "RU"
  },
  "openingHours": "<?= htmlspecialcharsEx($contacts['PROPERTY_HOURS_VALUE']) ?>",
  "url": "https://<?= SITE_SERVER_NAME ?>"
}
</script>

Автоматическая синхронизация с API Справочника

Яндекс.Справочник имеет API для массового управления организациями. Для сайта с одной точкой это избыточно, но для сети магазинов — обязательно. API работает через REST:

POST https://api.business.yandex.net/v1/companies/{company_id}
Authorization: OAuth {token}
Content-Type: application/json

{
  "name": "Название",
  "phones": [{"number": "+7 495 123-45-67"}],
  "address": {
    "country_code": "RU",
    "locality": "Москва",
    "street": "Тверская",
    "housenumber": "1"
  },
  "work_intervals": [
    {"day": "MON", "time_minutes_begin": 540, "time_minutes_end": 1200}
  ]
}

В Битриксе синхронизация запускается агентом при изменении данных в инфоблоке — через событие OnAfterIBlockElementUpdate.

Виджет карты на сайте

Яндекс.Карты встраиваются через API или через стандартный iframe-виджет. Для Битрикса рекомендуется использовать JavaScript API Яндекс.Карт с ленивой инициализацией — карта загружается только когда пользователь прокручивает до неё:

const mapSection = document.getElementById('yandex-map');
const observer = new IntersectionObserver((entries) => {
    if (entries[0].isIntersecting) {
        loadYandexMap();
        observer.disconnect();
    }
}, { threshold: 0.1 });
observer.observe(mapSection);

function loadYandexMap() {
    const script = document.createElement('script');
    script.src = 'https://api-maps.yandex.ru/2.1/?lang=ru_RU&apikey=YOUR_KEY';
    script.onload = initMap;
    document.head.appendChild(script);
}

Это предотвращает загрузку 300KB JavaScript API Яндекс.Карт при каждом посещении страницы «Контакты».

Мониторинг актуальности данных

После синхронизации данные в Справочнике проходят модерацию — от нескольких часов до нескольких дней. Автоматически проверить соответствие между сайтом и Справочником можно через https://yandex.ru/maps/org/{company_id}/info/ — сравнить данные программно или вручную раз в месяц. Расхождение в телефоне, адресе или времени работы между сайтом и Справочником негативно влияет на локальное SEO.