Как быстро собрать Schema-разметку без разработчика: обзор конструктора
Вы когда-нибудь хотели добавить на сайт структурированные данные, чтобы сниппеты в поиске выглядели богаче, но останавливались перед необходимостью писать код? Знакомая ситуация: владелец сайта, контент-менеджер или SEO-специалист понимает, что разметка JSON-LD нужна, но разработчик занят более срочными задачами, а самостоятельно разбираться в синтаксисе и скобках — страшно и долго.
На самом деле, для большинства типов страниц (статьи, товары, FAQ, контакты) не нужно быть программистом. Достаточно один раз понять структуру и использовать удобную веб-форму, которая сделает всю работу за вас. В этой статье мы подробно разберём бесплатный инструмент «Конструктор Schema-разметки» на example.ru (/instrumenty/schema-builder), который помогает сгенерировать корректный код JSON-LD за 3 минуты без единой строчки ручного кода.
Почему ручное написание JSON-LD — частый источник ошибок
На первый взгляд, JSON-LD выглядит просто: это обычный текст с фигурными скобками и двоеточиями. Но именно в простоте кроется ловушка. Когда вы пишете вручную, высока вероятность ошибок, которые поисковые системы не простят:
- Лишние или недостающие запятые. Одна случайная запятая после последнего свойства в объекте — и вся разметка становится невалидной. Поисковик просто не прочитает её.
- Пропущенные скобки. Вложенные объекты (например, Offer внутри Product) требуют аккуратного закрытия фигурных скобок. Если забыть одну — структура ломается.
- Неправильные типы данных. Например, дата публикации должна быть в формате ISO 8601 (2024-05-01), а не «1 мая 2024». Ошибка типа поля — это ошибка валидации.
- Забытые обязательные поля. Для типа Product поле price (цена) обязательное. Если его нет, Google проигнорирует разметку или покажет ошибку в Search Console.
- Путаница в типах. Легко перепутать Organization и LocalBusiness, когда речь идёт о компании с физическим адресом.
Проверка кода глазами — неэффективна. Даже опытный верстальщик может потратить 20 минут на поиск пропущенной запятой. Для контент-менеджера, который не пишет код ежедневно, эта задача превращается в квест. Конструктор решает эту проблему: вы заполняете поля формы, а корректный синтаксис генерируется автоматически. Вы не можете ошибиться в скобках, потому что их просто не нужно ставить вручную.
Ручное написание также часто приводит к «раздутому» коду. Человек копирует пример из документации, но не удаляет лишние поля, которые не заполнил. В итоге в разметке остаются пустые строки или свойства с нулевыми значениями. Конструктор включает в результат только те поля, которые вы реально заполнили, что делает код чистым и валидным.
Подробный обзор формы «Конструктор Schema-разметки»
Инструмент (/instrumenty/schema-builder) представляет собой простую веб-страницу с выпадающим списком и набором полей. Главное преимущество — отсутствие необходимости регистрироваться или устанавливать плагины. Вы открыли страницу, выбрали тип разметки, заполнили поля, скопировали готовый код.
В конструкторе доступно 5 типов разметки, которые покрывают 90% потребностей среднего сайта: Organization, LocalBusiness, FAQPage, Product, Article. Рассмотрим каждый подробно.
Общие поля для всех типов
Независимо от того, какой тип вы выбрали, форма всегда будет содержать четыре основных поля:
- name — название организации, товара или статьи. Для Article это заголовок, для Product — название товара.
- url — канонический адрес страницы, на которой будет размещена разметка.
- description — краткое описание. Рекомендуется писать 1-2 предложения, не спамьте ключевыми словами.
- image — URL изображения. Желательно использовать абсолютный адрес (https://example.ru/image.jpg). Для товара это фото товара, для статьи — главный иллюстративный материал.
Эти поля формируют базовую структуру JSON-LD. Если вам нужен только минимальный набор, достаточно заполнить их. Остальные поля опциональны, но их наличие повышает шансы на попадание в расширенные сниппеты.
Особенности для Organization и LocalBusiness
Эти два типа часто путают, но разница принципиальна. Organization — это любая организация без привязки к физическому месту (онлайн-сервис, блог). LocalBusiness — это компания, которая имеет физический адрес, куда приходят клиенты (кафе, магазин, салон).
Для обоих типов конструктор добавляет два специфических поля:
- telephone — номер телефона в формате +7 (123) 456-78-90. Это свойство используется для отображения кнопки звонка на мобильных устройствах.
- address — физический адрес. В форме нужно указать город и улицу. Конструктор сам соберёт корректную структуру PostalAddress, включая свойство streetAddress и addressLocality.
Пример итогового кода для LocalBusiness будет выглядеть так:
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Кофейня на example.ru",
"url": "https://example.ru",
"description": "Уютная кофейня в центре города",
"image": "https://example.ru/photo.jpg",
"telephone": "+7 (495) 123-45-67",
"address": {
"@type": "PostalAddress",
"addressLocality": "Москва",
"streetAddress": "ул. Примерная, д. 1"
}
}
Обратите внимание: адрес автоматически оборачивается во вложенный объект PostalAddress с собственным типом. Вручную писать это — лишний риск ошибки.
Product: генерация вложенного Offer
Для интернет-магазинов и даже для страниц единичных товаров (например, если вы продаёте курс или услугу по цене) тип Product — самый важный. Конструктор для этого типа добавляет три поля:
- price — цена товара в числовом формате (например, 1999).
- currency — валюта. По умолчанию стоит RUB. Вы можете изменить на USD или EUR.
Главная «магия» в том, что на основе этих двух полей сервис автоматически генерирует вложенный объект Offer:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Курс по SEO",
"url": "https://example.ru/course",
"description": "Полный видеокурс для начинающих",
"image": "https://example.ru/course.jpg",
"offers": {
"@type": "Offer",
"price": "1999",
"priceCurrency": "RUB",
"availability": "https://schema.org/InStock"
}
}
Обратите внимание на свойство availability. Оно всегда будет иметь значение InStock (в наличии). Конструктор осознанно зашивает этот параметр по умолчанию, потому что в форме нет поля для выбора статуса наличия. Если товара нет в наличии, вы должны либо удалить это свойство вручную после генерации, либо не использовать данный конструктор для таких товаров (об этом ниже).
Article: структура с автором
Для новостных статей, постов в блоге и информационных материалов тип Article помогает выделить заголовок и автора. Дополнительные поля здесь:
Готовы проверить свой сайт?
19-пунктный GEO-чек-лист — тот же набор рычагов, которым мы пользуемся в работе.
Смотреть чек-лист- headline — заголовок статьи. Обычно он совпадает с полем name, но по стандарту Schema.org рекомендуется заполнять оба. Конструктор позволяет не дублировать текст вручную: вы заполняете отдельное поле headline, которое будет приоритетным для поисковика.
- datePublished — дата публикации. Конструктор принимает дату в формате ГГГГ-ММ-ДД и автоматически добавляет время в формате ISO.
- authorName — имя автора. На основе этого поля генерируется вложенная структура Person.
Пример для Article:
{
"@context": "https://schema.org",
"@type": "Article",
"name": "Как выбрать хостинг",
"headline": "Как выбрать хостинг в 2024 году",
"url": "https://example.ru/blog/hosting",
"description": "Практические советы по выбору хостинга",
"image": "https://example.ru/img/hosting.jpg",
"datePublished": "2024-11-20",
"author": {
"@type": "Person",
"name": "Иван Петров"
}
}
Обратите внимание: datePublished вставляется в формате «2024-11-20» без времени. Это корректный формат ISO 8601, но если вы хотите указать точное время публикации, его придётся добавить вручную (например, «2024-11-20T10:30:00+03:00»). Для большинства статей достаточно даты.
FAQPage: вопросы и ответы
Самый простой и часто используемый тип для информационных сайтов. FAQ-разметка позволяет вашим вопросам появиться в виде выпадающего списка прямо в поисковой выдаче. Конструктор поддерживает до 3 пар вопрос-ответ. Этого достаточно для большинства страниц: не стоит перегружать одну страницу десятком вопросов.
Форма содержит два повторяющихся блока: «Вопрос 1» и «Ответ 1», «Вопрос 2» и «Ответ 2» и так далее. Вы заполняете текстовые поля, а конструктор генерирует структуру с типом Question и вложенным типом Answer.
Пример для одного вопроса:
{
"@context": "https://schema.org",
"@type": "FAQPage",
"name": "Частые вопросы о доставке",
"url": "https://example.ru/delivery",
"description": "Ответы на популярные вопросы",
"image": "https://example.ru/delivery.jpg",
"mainEntity": [
{
"@type": "Question",
"name": "Сколько стоит доставка?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Доставка бесплатная при заказе от 3000 рублей."
}
}
]
}
Важный нюанс: конструктор генерирует массив mainEntity только с теми вопросами, которые вы заполнили. Если вы заполнили только один вопрос, в коде будет один элемент. Если заполнили три — будет три объекта внутри квадратных скобок.
Что делать с результатом после генерации
После того как вы заполнили все поля и нажали кнопку «Сгенерировать», конструктор выдаст готовый JSON-LD код в текстовом поле. Ваша задача — скопировать его и правильно вставить на страницу.
Алгоритм действий следующий:
- Скопируйте сгенерированный код. Убедитесь, что скопировали всё содержимое — от открывающей до закрывающей фигурной скобки.
- Откройте HTML-файл вашей страницы в режиме редактирования кода. Если вы используете CMS (WordPress, Joomla, OpenCart), вам нужно переключиться в режим «Текст» или «HTML» в редакторе записи.
- Найдите закрывающий тег
</head>в коде страницы. Разметку Schema.org рекомендуется размещать именно в блоке<head>, а не внутри видимого текста. - Перед закрывающим тегом
</head>вставьте следующий фрагмент:<script type="application/ld+json"> [Здесь ваш код JSON-LD] </script> - Сохраните страницу и проверьте результат.
После вставки обязательно проверьте результат. Для этого можно использовать инструмент «Проверка JSON-LD / Schema.org для AI» (/instrumenty/json-ld-schema). Вставьте код в это поле или укажите URL страницы, и сервис покажет, нет ли синтаксических ошибок. Это особенно важно, если вы вносили какие-либо правки в код после генерации (например, меняли дату или добавляли дополнительные свойства).
Также не забывайте про стандартный инструмент проверки в Google Search Console. В разделе «Проверка URL» вы можете запросить проверку страницы с новой разметкой и увидеть, распознал ли её поисковик. Обычно проверка занимает от нескольких минут до нескольких часов.
Когда лучше обратиться к разработчику, а не использовать конструктор
Конструктор — это отличное решение для разовых задач или для страниц, данные на которых меняются редко (например, статьи, FAQ, контакты). Однако есть ситуации, когда ручная генерация через форму — это тупиковый путь.
Первый случай — динамические данные. Если у вас интернет-магазин с 1000 товаров, заполнять форму для каждого товара — невозможно. Цена, наличие, артикул меняются ежедневно. Разметка должна генерироваться автоматически на основе базы данных. Это задача для разработчика: он подключит шаблонизатор, который будет выводить актуальный JSON-LD для каждого товара с учётом остатков на складе. Конструктор не подходит для массовой генерации, потому что он создаёт один блок кода, который нужно вручную копировать на каждую страницу.
Второй случай — нестандартные типы. Если вам нужна разметка VideoObject, Event, Recipe или смешанные типы (например, Product + Review), конструктор не сможет это сгенерировать. Он поддерживает только 5 базовых типов. Для сложных структур лучше обратиться к разработчику или использовать специализированные плагины для CMS, которые поддерживают десятки типов.
Третий случай — часто меняющиеся данные. Если вы публикуете акции, где цена меняется каждый день, или у вас динамические цены в зависимости от региона, ручная вставка кода приведёт к тому, что поисковик будет видеть неактуальные данные. Это может привести к штрафу за «несоответствие разметки реальному содержанию страницы». Разработчик настроит автоматическое обновление разметки при каждом изменении цены в базе.
Если вы понимаете, что ваша ситуация — разовая (страница акции на месяц) или статичная (контакты компании), то смело используйте конструктор. Если же вы видите, что данных много и они «живые», лучше запланировать задачу для программиста.
Разница между конструктором и проверкой существующей разметки
В SEO-инструментарии важно не путать два разных процесса: создание разметки и её валидацию. Конструктор Schema-разметки (/instrumenty/schema-builder) помогает создать код с нуля. Он не анализирует ваш сайт и не проверяет, что вы уже разместили ранее.
Отдельный инструмент «Проверка JSON-LD / Schema.org для AI» (/instrumenty/json-ld-schema) решает противоположную задачу. Вы вставляете в него уже готовый код (или URL страницы), а он показывает, есть ли синтаксические ошибки, правильно ли указаны типы, не пропущены ли обязательные поля. Также этот инструмент может быть полезен, если вы использовали конструктор, но потом вручную отредактировали код (например, добавили дополнительное поле review) и хотите убедиться, что не сломали структуру.
Использовать проверку для генерации — бессмысленно: вы не получите готовый код. Использовать конструктор для проверки — тоже неверно: он не увидит ошибок в чужом коде. Это два разных этапа работы со структурированными данными. Правильная последовательность: сгенерировали (конструктор) — вставили на сайт — проверили (валидатор) — отправили на индексацию.
FAQ по работе с конструктором Schema-разметки
1. Можно ли использовать конструктор для страницы с несколькими товарами?
Нет. Конструктор генерирует код для одного типа на страницу. Если у вас страница с 5 товарами, вам нужно создать 5 отдельных блоков JSON-LD и вставить их в код страницы. Однако поисковые системы рекомендуют не перегружать страницу множеством разных разметок. Для одной страницы достаточно одной основной сущности.
2. Что делать, если нужно указать валюту не RUB?
В поле currency вы можете ввести любой трёхбуквенный код ISO 4217: USD, EUR, KZT, BYN и так далее. Конструктор не ограничивает список валют, просто по умолчанию стоит RUB.
3. Как изменить статус availability в разметке Product?
По умолчанию конструктор всегда генерирует availability: InStock. Если товара нет в наличии, после генерации вам нужно вручную изменить это значение на OutOfStock или PreOrder. Это можно сделать в текстовом редакторе, заменив одну строчку в коде. Будьте внимательны: если вы не измените статус, поисковик будет показывать товар как доступный, хотя его нет.
4. Нужно ли устанавливать какие-то плагины для работы конструктора?
Нет. Инструмент работает прямо в браузере, это обычная веб-форма. Вам не нужно ничего скачивать, устанавливать или регистрироваться. Результат выдаётся мгновенно после нажатия кнопки.
5. Конструктор проверяет достоверность введённых данных?
Нет. Инструмент лишь собирает код на основе того, что вы написали. Он не проверяет, что введённая цена правдива, что адрес существует, а телефон соответствует действительности. Ответственность за точность данных лежит полностью на вас. Поисковые системы могут наложить санкции, если разметка вводит пользователей в заблуждение (например, указана цена 1 рубль, а реальная цена — 1000 рублей).
Попробуйте конструктор Schema-разметки (/instrumenty/schema-builder) уже сегодня. Уделите 10 минут, чтобы разметить главную страницу (Organization) и одну статью (Article). Это займёт меньше времени, чем чтение документации по Schema.org, а результат будет профессиональным и корректным.
Нужна помощь с внедрением?
Берём на себя аудит, robots.txt, llms.txt и Schema.org — под ключ.
Смотреть услугу
neuropush