Перейти к содержимому

← Все статьи блога

Как добавить LocalBusiness schema на сайт услуг: JSON-LD с NAP и проверкой

Автор: Алексей Доронин

Директор студии вставил LocalBusiness из ChatGPT: в schema телефон +7 (495) 123-45-67, в Яндекс Бизнес +74951234567, на сайте 8-800. Rich Results Test зелёный, в Картах - юридическое ООО вместо бренда. SEO-плагин добавил второй JSON-LD Organization - Search Console показала дубли. Валидатор доволен, клиенты звонят не туда, в Вебмастере «микроразметка не обнаружена». За день сверите NAP с картами, соберёте один JSON-LD и проверите в Google и Яндексе.

JSON-LD - машиночитаемая визитка в коде: поисковик читает её отдельно от текста на странице. NAP - имя, адрес, телефон. Если цифры в schema, футере и Яндекс Бизнес расходятся, путаются и робот, и клиент. Сначала эталон из карт, потом копия в разметку.

Google на 2026 год требует для LocalBusiness только name и address; image обязателен лишь для карусели ресторанов. Гайды часто путают «рекомендуется» и «обязательно». У Яндекса сниппет может появиться до двух недель - зелёный валидатор не значит мгновенный rich result в выдаче.

Сверьте NAP с Яндекс Бизнес и Google Business до любого кода

localbusiness-schema-json-ld-dlya-uslug-inline-01-1 Как добавить LocalBusiness schema на сайт услуг: JSON-LD с NAP и проверкой

Боль: schema скопирована из генератора, а карточка в Картах живёт своей жизнью. Решение - таблица эталона до правки HTML.

  1. Откройте Яндекс Бизнес и Google Business Profile (если ведёте). Выпишите name, telephone, url, postalAddress - как в кабинете, не как «хочется на сайте».
  2. Сравните с футером и страницей контактов. Формат телефона должен совпадать побайтно: +74951234567 и 8-800 - это два разных номера для робота.
  3. Исправьте расхождения на сайте и в картах до вставки script. Иначе Rich Results Test пройдёт, а звонки уйдут не туда.
  4. Зафиксируйте канонический url главной: https с www или без - один вариант везде.

Типичная ошибка: в schema бренд, в Яндекс Бизнес юрлицо. Выберите одно публичное имя. Важно: убедитесь, что telephone в JSON-LD совпадает с футером побайтно. В реальном проекте три телефона - schema, футер, 8-800. После сверки остался один номер.

Выберите узкий подтип LocalBusiness вместо generic ProfessionalService

localbusiness-schema-json-ld-dlya-uslug-inline-02-1 Как добавить LocalBusiness schema на сайт услуг: JSON-LD с NAP и проверкой

Боль: поставили общий LocalBusiness или устаревший ProfessionalService - категория размыта. Google просит максимально конкретный @type; schema.org помечает generic ProfessionalService как deprecated, узкие подтипы (Electrician, LegalService, ComputerRepair) остаются каноном.

Сценарий Что ставить на главную Когда не подходит
Офис или салон с адресом Узкий LocalBusiness + PostalAddress Нет реального адреса приёма
Выездные услуги без витрины LocalBusiness или Organization + areaServed (города, GeoCircle) Не выдумывайте streetAddress «для галочки»
Чисто онлайн без гео Organization + areaServed или Service с provider Фейковый офис в центре города

Для студии автоматизации часто хватает узкого подтипа из дерева Яндекса плюс честный areaServed - города выезда без вымышленного офиса. Рекомендуем не ставить generic ProfessionalService: узкий подтип важнее длины JSON. Репозитории вроде local-business-schema-kit на GitHub подчёркивают: подтип важнее красивого шаблона из генератора.

Соберите один блок JSON-LD с @graph и уникальными @id

localbusiness-schema-json-ld-dlya-uslug-inline-03-1 Как добавить LocalBusiness schema на сайт услуг: JSON-LD с NAP и проверкой

Боль: два плагина SEO выдали два LocalBusiness - Google сливает или отбрасывает разметку. Решение: один script, один @graph, уникальные @id для Organization и LocalBusiness.

Пример @graph (сокращённо):
«@context»: «https://schema.org»,
«@graph»: [
Organization @id «https://example.com/#organization», name, url, sameAs на карты и Telegram,
LocalBusiness @id «#localbusiness», telephone, address PostalAddress, areaServed (City), parentOrganization
]

Вставьте блок на главную, которую описывает. Минимум Google: name и address в PostalAddress. Добавьте telephone, url, image по рекомендациям. Не стоит указывать aggregateRating, если отзывов нет на странице - это нарушение политик structured data. Советуем проверить JSON на schema.org до деплоя: часто ломается лишняя запятая перед закрывающей скобкой. Если FAQ уже на главной, добавьте FAQPage отдельным объектом в @graph без повторения name и telephone в вопросах.

Пропишите sameAs и areaServed без спама URL и фейкового адреса

Боль: в sameAs десять случайных ссылок, в address - квартира, где никто не принимает. Решение: только живые профили и реальная зона работы.

  • sameAs: Яндекс Карты, Google Maps, Telegram, профиль, которым пользуетесь. Не добавляйте пустые соцсети «для SEO».
  • areaServed: для выезда - City или GeoCircle с geoRadius вокруг базы. Без офиса - список городов или регион, не выдуманный streetAddress.
  • openingHoursSpecification: только если режим совпадает с картами и текстом на сайте.

На практике копируют areaServed «вся Россия» из чужого шаблона, хотя выезжают в два города. Избегайте фиктивного streetAddress: лучше указать Москву и область, чем офис в центре, где никто не принимает. Для service-area без storefront критичен areaServed, а не выдуманный адрес.

Проверьте разметку в Google Rich Results Test и валидаторе Яндекса

Боль: «валидатор зелёный, сниппета нет». Решение: три проверки и реалистичные сроки.

  1. Google Rich Results Test - URL главной или вставка кода. Смотрите missing required, не только «valid».
  2. validator.yandex.ru/microtest - требования сервисов Яндекса, не только синтаксис.
  3. View Source (Просмотр кода страницы) - ровно один канонический блок LocalBusiness или @graph; отключите дубль во втором SEO-плагине.
  4. Search Console и Яндекс Вебмастер после деплоя - отчёт structured data / микроразметка.
  5. Повтор NAP через 7-14 дней - окно индексации Яндекса до ~2 недель по официальной справке.

Типичная ошибка: тестируют JSON в конструкторе, на live плагин подменил телефон. Проверяйте опубликованный URL. «Микроразметка не обнаружена» - сначала ищите дубль script.

Пройдите чек-лист: один тип на главную без дубля Organization

Боль: Organization от темы, LocalBusiness от Yoast, третий блок от микроразметки в подвале. Решение - один источник правды.

Чек-лист перед сдачей:
NAP совпадает с Яндекс Бизнес / GBP и футером → один @graph с @id → узкий @type → sameAs только живые URL → areaServed без фейк-адреса → FAQPage отдельным узлом → Rich Results Test и Яндекс без критических ошибок → второй плагин не дублирует LocalBusiness.

Итог для читателя: NAP совпадает везде; один канонический блок в исходнике; валидаторы без критических ошибок. Вы сможете сверить telephone в View Source и получите один JSON-LD без дубля плагинов. Результат - честный areaServed и FAQPage без повторения NAP. Сниппет может задержаться до двух недель - не перегенерируйте JSON каждый день. Через 7-14 дней повторите сверку: плагин обновления темы иногда возвращает старый футер.

Общий GEO-контекст - в чек-листе GEO для ИИ-поиска. Помощь со schema и автоматизацией на calmopsai.com - разберём NAP, разметку и проверку без лишних плагинов.

Материал проверен: Алексей Доронин, эксперт по автоматизации бизнеса и ИИ.
Достоверность данных: обязательные поля LocalBusiness (name, address), срок до ~2 недель для сниппета Яндекса, deprecated generic ProfessionalService - по Google Search Central, schema.org и справке Яндекс Вебмастера на 31.07.2026; оценка спроса «микроразметка сайта» ~583 показов/мес - scout-карточка B41, live Wordstat в прогоне недоступен.

Частые вопросы

LocalBusiness или Organization для онлайн-услуг без офиса?

Если нет реального адреса приёма клиентов, не подставляйте фиктивный PostalAddress. Используйте Organization с areaServed или связку Service + provider. LocalBusiness уместен при честном адресе или выездной модели с явной географией в areaServed.

Нужен ли postalAddress, если работаем только онлайн?

Для Google LocalBusiness address обязателен только если вы позиционируете локальную точку. Чистый онлайн без гео - Organization и areaServed. Фейковый адрес хуже, чем отсутствие LocalBusiness: расхождение с картами и жалобами клиентов.

Можно ли на одной странице LocalBusiness и FAQPage?

Да. Оформите FAQPage отдельным объектом в том же @graph или вторым script. Текст вопросов и ответов должен совпадать с видимым FAQ на странице. Не дублируйте name и telephone внутри FAQ - только вопросы по услугам.

Почему Rich Results Test зелёный, а в Вебмастере разметки нет?

Частые причины: дубль JSON-LD от двух плагинов, разметка не на той странице, робот ещё не переобошёл URL, или в live HTML другой код, чем в тесте. Проверьте View Source опубликованной главной и подождите до двух недель по срокам Яндекса.

Как отключить второй JSON-LD от SEO-плагина?

В настройках плагина отключите LocalBusiness / Organization schema для главной или оставьте один источник - ручной @graph или только плагин, не оба. После отключения снова View Source: должен остаться один канонический блок.

Обязателен ли image в LocalBusiness?

Google требует image для карусели ресторанов; для большинства услуг это рекомендация. Логотип или фото команды в поле image повышает доверие и совпадает с рекомендациями Search Console для локального маркера. Без картинки на странице не указывайте несуществующий URL.

Telegram