Налаштування Яндекс.Довідник для 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування Яндекс.Довідник для 1С-Бітрікс
Проста
~1 робочий день
Часті питання

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

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • 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
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування Яндекс.Справочника для 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": "UA"
  },
  "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": "+38 (095) 123-45-67"}],
  "address": {
    "country_code": "UA",
    "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=uk_UA&apikey=YOUR_KEY';
    script.onload = initMap;
    document.head.appendChild(script);
}

Це запобігає завантаженню 300KB JavaScript API Яндекс.Карт при кожному відвідуванні сторінки «Контакти».

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

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