Налаштування Google Business Profile для 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування Google Business Profile для 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

Налаштування Google Business Profile для 1С-Бітрікс

Google Business Profile (колишній Google My Business) визначає, що користувач бачить у Knowledge Panel праворуч від результатів пошуку за назвою компанії. Невідповідність даних між сайтом і профілем Google — одна з небагатьох SEO-помилок, яку можна виправити за день і отримати результат протягом тижня.

Розмітка Schema.org як основа

Google читає дані про організацію з сайту через структуровану розмітку. Це первинне джерело для формування Knowledge Panel. Без коректного LocalBusiness (або більш специфічного типу: Store, Restaurant, MedicalOrganization) Google використовує неструктурований текст зі сторінки «Контакти» — з непередбачуваними результатами.

У Бітриксі дані організації зберігаються або в інфоблоці, або в користувацьких налаштуваннях сайту. Для централізованого зберігання — інфоблок «Реквізити» з символьним кодом company_info. Структурована розмітка генерується у footer.php шаблону:

<?php
$arCompany = \CIBlockElement::GetList(
    [],
    ['IBLOCK_CODE' => 'company_info', 'ACTIVE' => 'Y'],
    false,
    ['nTopCount' => 1],
    ['ID', 'PROPERTY_*']
)->GetNextElement()?->GetProperties();
?>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Store",
  "name": "<?= COption::GetOptionString('main', 'site_name') ?>",
  "telephone": "<?= htmlspecialcharsEx($arCompany['PHONE']['VALUE']) ?>",
  "email": "<?= htmlspecialcharsEx($arCompany['EMAIL']['VALUE']) ?>",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "<?= htmlspecialcharsEx($arCompany['ADDRESS']['VALUE']) ?>",
    "addressLocality": "<?= htmlspecialcharsEx($arCompany['CITY']['VALUE']) ?>",
    "postalCode": "<?= htmlspecialcharsEx($arCompany['ZIP']['VALUE']) ?>",
    "addressCountry": "UA"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": <?= (float)$arCompany['LAT']['VALUE'] ?>,
    "longitude": <?= (float)$arCompany['LON']['VALUE'] ?>
  },
  "sameAs": [
    "<?= htmlspecialcharsEx($arCompany['VK_URL']['VALUE']) ?>",
    "<?= htmlspecialcharsEx($arCompany['TG_URL']['VALUE']) ?>"
  ]
}
</script>

Google Business Profile API

Для автоматичної синхронізації даних сайту з GBP використовується Google Business Profile API. Потрібен сервісний аккаунт з OAuth 2.0.

Базовий запит на оновлення через cURL з Бітрікса:

// Оновити номер телефону в GBP при змінюванні в інфоблоці
AddEventHandler('iblock', 'OnAfterIBlockElementUpdate', function($id) {
    if (!isCompanyInfoElement($id)) return;

    $token = getGBPAccessToken(); // з збереженого refresh_token
    $locationName = 'accounts/{ACCOUNT_ID}/locations/{LOCATION_ID}';

    $data = ['phoneNumbers' => ['primaryPhone' => getNewPhone($id)]];

    $ch = curl_init("https://mybusinessbusinessinformation.googleapis.com/v1/{$locationName}?updateMask=phoneNumbers");
    curl_setopt_array($ch, [
        CURLOPT_CUSTOMREQUEST  => 'PATCH',
        CURLOPT_POSTFIELDS     => json_encode($data),
        CURLOPT_HTTPHEADER     => [
            'Authorization: Bearer ' . $token,
            'Content-Type: application/json',
        ],
        CURLOPT_RETURNTRANSFER => true,
    ]);
    curl_exec($ch);
    curl_close($ch);
});

Відгуки Google у Бітриксі

GBP API дозволяє читати відгуки й виводити їх на сайті. Це підвищує довіру й додає User-Generated Content без модерації. Кешування обов'язкове — Google обмежує кількість запитів до API:

$cache = \Bitrix\Main\Data\Cache::createInstance();
$cacheKey = 'gbp_reviews';

if ($cache->startDataCache(3600 * 6, $cacheKey, '/gbp')) {
    $reviews = fetchReviewsFromGBP($locationName, $token);
    $cache->endDataCache(['reviews' => $reviews]);
} else {
    $reviews = $cache->getVars()['reviews'];
}

Розмітка відгуків: AggregateRating

Якщо відгуки з GBP виводяться на сайті, їх можна включити в розмітку AggregateRating у блоці Schema.org. Google використовує ці дані для зірочок у сніпеті пошуку. Важливо: не можна використовувати власні відгуки для AggregateRating — тільки незалежні джерела. Відгуки Google підходять.