Две одинаковые карточки товара в поиске выглядят по-разному: у одной просто заголовок и описание, а у второй под сниппетом раскрываются вопросы «Есть ли доставка в тот же день?», «Какая гарантия?», «Подойдёт ли к моей модели?». Второй сниппет занимает больше места, отвечает на сомнение ещё до клика и забирает внимание. За это отвечает структурированная разметка Schema.org — типы FAQPage и HowTo, которые превращают обычную страницу в кандидата на расширенный сниппет и поднимают кликабельность.
Ниже — практическое внедрение FAQ и HowTo разметки в интернет-магазине на 1С-Битрикс: чем эти типы отличаются, как собрать корректный JSON-LD, где хранить вопросы и шаги в инфоблоках, как не нарушить правило «размечай только видимое» и как измерить эффект по CTR. Это выжимка из наших проектов по SEO-продвижению интернет-магазинов на 1С-Битрикс — без теории ради теории и без обещаний «магического сниппета».
Коротко
- FAQPage размечает блок «вопрос — ответ», HowTo — пошаговую инструкцию. Это разные типы под разные страницы.
- Разметка делает страницу кандидатом на расширенный сниппет, но не гарантирует его — решает поисковик.
- Главное правило: размечать можно только то, что видно пользователю на той же странице.
- В 1С-Битрикс вопросы и шаги удобно хранить в свойствах инфоблока и собирать JSON-LD из тех же данных, что рисуют видимый аккордеон.
- Всегда проверяйте разметку в валидаторе Schema.org, Rich Results Test и Яндекс.Вебмастере и следите за CTR по шаблонам страниц.
Зачем магазину FAQ и HowTo разметка
Позиция в выдаче — это только половина дела. Даже на первом месте страница проигрывает, если её сниппет не отвечает на вопрос пользователя и уступает соседям по визуальному весу. Структурированная разметка решает ровно эту задачу: она даёт поисковой системе машиночитаемое описание содержимого, чтобы та могла показать больше полезного прямо в выдаче — раскрывающиеся вопросы, шаги инструкции, рейтинг, цену, наличие.
Для интернет-магазина на 1С-Битрикс FAQ и HowTo разметка закрывает сразу несколько бизнес-задач. Во-первых, рост CTR: расширенный сниппет заметнее и информативнее, поэтому при той же позиции получает больше кликов. Во-вторых, снятие возражений до клика: покупатель видит ответ на свой вопрос про доставку или совместимость и приходит на сайт уже «прогретым». В-третьих, улучшение поведенческих факторов: видимый блок FAQ на странице уменьшает отказы, потому что человек находит ответ, не уходя обратно в поиск.
Важно с самого начала снять завышенные ожидания. Разметка — это не кнопка «сделать сниппет красивым». Google с середины 2023 года резко сократил показ FAQ-сниппетов для большинства сайтов, оставив их в основном для авторитетных государственных и медицинских ресурсов. Яндекс формирует быстрые ответы по своим правилам. Поэтому относиться к разметке нужно как к инфраструктуре: она обязательна, повышает шанс расширенного сниппета и улучшает понимание страницы поисковиком, но конкретный вид выдачи вы не контролируете.
Что такое FAQPage и HowTo в Schema.org
Schema.org — это общий словарь типов и свойств, которым сайты описывают своё содержимое для поисковых систем. Разметка чаще всего внедряется в формате JSON-LD — отдельного блока <script type="application/ld+json"> в коде страницы, который не влияет на вёрстку и легко собирается на стороне сервера. Именно JSON-LD рекомендуют и Google, и Яндекс.
FAQPage описывает страницу, содержащую список вопросов и ответов. Внутри лежит массив элементов типа Question, у каждого есть текст вопроса (name) и вложенный acceptedAnswer типа Answer с текстом ответа (text). Ключевая семантика: на каждый вопрос сразу даётся один принятый ответ, вопросы независимы друг от друга, пользователь не участвует в дискуссии — это официальный ответ сайта.
HowTo описывает инструкцию по достижению результата. У неё есть общее название (name), необязательные поля времени (totalTime), инструментов (tool) и материалов (supply), а главное — массив шагов step типа HowToStep. Каждый шаг несёт название, текст и при желании картинку и якорную ссылку на соответствующий раздел страницы. HowTo подходит там, где есть последовательность действий: собрать, установить, подключить, настроить, подобрать размер.
Оба типа объединяет одна философия: разметка отражает то, что реально есть на странице, и структурирует это для машины. Ни FAQPage, ни HowTo не придумывают контент — они формализуют уже опубликованный и видимый текст. Из этого следует и главное ограничение, к которому мы вернёмся отдельно: нельзя размечать то, чего пользователь не видит.
FAQPage или HowTo: что где применять
Самая частая ошибка на старте — перепутать типы и попытаться разметить инструкцию как FAQ или наоборот. Выбор простой, если задать себе один вопрос: пользователю нужен набор ответов на разные вопросы или последовательность действий к одному результату? Первое — FAQPage, второе — HowTo.
| Страница | Тип разметки | Почему |
|---|---|---|
| Карточка товара с блоком «Частые вопросы» | FAQPage | Независимые вопросы про доставку, гарантию, совместимость |
| Категория каталога с типовыми вопросами | FAQPage | Общие для раздела вопросы «как выбрать», «чем отличаются» |
| Статья «Как собрать / установить / подключить» | HowTo | Есть чёткая последовательность шагов к результату |
| Страница «Как оформить заказ» | HowTo | Пошаговый сценарий действий пользователя |
| Страница доставки и оплаты с вопросами | FAQPage | Разрозненные ответы, а не единая инструкция |
| Гид «Как подобрать размер» | HowTo | Пошаговый алгоритм измерений и подбора |
Ничто не мешает использовать оба типа на разных страницах одного магазина и даже комбинировать их со связкой Product и BreadcrumbList на одной странице. Главное — не размечать один и тот же контент двумя типами сразу и не пытаться натянуть FAQ на пошаговую инструкцию: поисковик распознаёт несоответствие структуры и содержимого и просто проигнорирует разметку.
Как это выглядит в выдаче и что даёт CTR
Расширенный сниппет отличается от обычного тем, что занимает больше вертикального пространства и содержит интерактивные или дополнительные элементы. Для FAQPage это раскрывающиеся вопросы под основным сниппетом, для HowTo — пронумерованные шаги, иногда с миниатюрами. Визуальный вес выше, а значит, при прочих равных выше и доля кликов.
Механику стоит понимать честно. CTR растёт не из-за самой разметки, а из-за того, что сниппет становится крупнее и полезнее. Если поисковик показывает расширенный вид — вы забираете больше внимания и кликов с той же позиции. Если не показывает (а сейчас это частый случай в Google для коммерческих сайтов), прямого прироста от сниппета нет, но остаётся косвенная польза: видимый блок FAQ на странице снижает отказы и удерживает пользователя, а связка с Product и рейтингом усиливает общий пакет структурированных данных.
Поэтому оценивать эффект нужно не по факту «появился сниппет», а по совокупности: доля показов с расширенным видом, изменение CTR по шаблонам страниц, поведение на странице. Ниже разберём, как это измерять по данным Яндекс.Вебмастера и панели вебмастера Google.
JSON-LD для FAQPage: минимальный пример
Начнём с самого простого — корректного блока FAQPage. В нём важны три вещи: правильный @type, массив вопросов и вложенный принятый ответ у каждого. Текст ответа может содержать простой HTML, но безопаснее держать его коротким и чистым.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Есть ли доставка в день заказа?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Да, при заказе до 14:00 доставим сегодня по городу."
}
},
{
"@type": "Question",
"name": "Какая гарантия на товар?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Официальная гарантия 24 месяца от производителя."
}
}
]
}
</script>
Обратите внимание: mainEntity — это массив, даже если вопрос один. Текст в name должен дословно совпадать с видимым вопросом на странице, а text ответа — с видимым ответом. Не добавляйте в разметку вопросы, которых нет в HTML, и не сокращайте ответы до неузнаваемости — расхождение видимого и размеченного контента поисковики считают нарушением.
json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES), а не клеить строку руками — так вы не сломаете структуру кавычкой в тексте ответа.
JSON-LD для HowTo: минимальный пример
HowTo устроен чуть сложнее: у него есть общий результат и упорядоченные шаги. Минимально достаточно названия и массива шагов, но полезно добавить время, а у шагов — якорные ссылки на соответствующие блоки страницы.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "Как подобрать размер велосипеда",
"totalTime": "PT5M",
"step": [
{
"@type": "HowToStep",
"name": "Измерьте рост",
"text": "Встаньте к стене и измерьте рост без обуви.",
"url": "https://shop.ru/guide/velo-razmer/#shag-1"
},
{
"@type": "HowToStep",
"name": "Сверьтесь с таблицей",
"text": "Найдите свой рост в таблице ростовок производителя.",
"url": "https://shop.ru/guide/velo-razmer/#shag-2"
}
]
}
</script>
Поле totalTime использует формат длительности IS 8601: PT5M — пять минут, PT1H30M — полтора часа. Якорь url у шага должен вести на реальный элемент с соответствующим id на странице, иначе ссылка бесполезна. Как и в FAQ, тексты шагов обязаны совпадать с видимой инструкцией: HowTo размечает то, что реально написано в статье по шагам.
Связка с Product и хлебными крошками
FAQ и HowTo редко живут в одиночестве. На карточке товара помимо FAQPage обычно уже есть разметка Product с ценой, наличием и рейтингом, а также BreadcrumbList для хлебных крошек. Все эти типы прекрасно сосуществуют — их можно вывести отдельными блоками JSON-LD или собрать в один массив @graph. Поисковик разберёт каждый тип и решит, что показать.
Практически на карточке товара имеет смысл держать три-четыре независимых блока структурированных данных: Product с предложением и агрегированным рейтингом, BreadcrumbList с путём по каталогу, FAQPage с частыми вопросами и опционально Organization на уровне сайта. Это создаёт плотный пакет структурированных данных, который помогает поисковику точнее понимать страницу, даже если конкретный расширенный сниппет не показывается.
Базовую разметку Product, Offer, рейтинга и хлебных крошек мы подробно разбираем в отдельном материале про микроразметку Schema.org для интернет-магазина на 1С-Битрикс — FAQ и HowTo логично внедрять поверх уже настроенной базовой разметки. А как встроить блок вопросов в саму карточку так, чтобы он работал и на конверсию, и на SEO, показано в статье про SEO карточек товара в интернет-магазине на Битрикс.
Реализация в 1С-Битрикс
В 1С-Битрикс FAQ и HowTo разметку удобнее всего внедрять на уровне шаблона компонента, который выводит карточку товара, раздел каталога или статью. Логика одна: данные берём из инфоблока, шаблон одновременно рисует видимый блок и собирает JSON-LD, а вывод разметки делаем в component_epilog или прямо в шаблоне рядом с видимым блоком.
- Заведите хранилище вопросов. Добавьте на инфоблок товаров свойства для FAQ (множественное свойство типа «строка» или связку «вопрос — ответ» через два синхронных множественных свойства), либо создайте отдельный инфоблок «Вопросы-ответы» с привязкой к элементам и разделам.
- Выведите видимый блок. В шаблоне карточки (
bitrix:catalog.element) или вresult_modifier.phpподготовьте массив вопросов и отрисуйте аккордеон на<details>/<summary>— без JS-зависимостей и с корректной семантикой. - Соберите JSON-LD из тех же данных. В
component_epilog.phpили в шаблоне сформируйте PHP-массив по схеме FAQPage/HowTo и отдайте его черезjson_encodeс флагамиJSON_UNESCAPED_UNICODEиJSON_UNESCAPED_SLASHES. - Выводите разметку один раз. Следите, чтобы FAQPage на странице был один и не дублировался из-за нескольких вызовов компонента. Для категории и карточки используйте разные условия вывода.
- Проверьте кэширование. Разметка собирается из тех же данных, что и вывод, поэтому кэш компонента её не ломает. Но если JSON-LD формируется в
component_epilog, убедитесь, что нужные данные сохранены в$this->__component->arResultи доступны из эпилога. - Прогоните валидацию. Откройте по одной странице каждого шаблона в Rich Results Test и валидаторе Schema.org, устраните ошибки и предупреждения, затем масштабируйте на весь инфоблок.
Если карточки и категории обслуживаются типовыми компонентами, разметку стоит выносить в кастомный шаблон компонента, а не править ядро. Так обновления платформы не затрут ваши доработки, а логику сборки JSON-LD можно переиспользовать между карточкой и разделом через общий include-файл.
Где хранить вопросы и шаги в инфоблоках
Правильная модель хранения решает половину проблем на годы вперёд. Есть три рабочих подхода, и выбор зависит от того, насколько вопросы уникальны для товара и как часто их правят.
| Способ хранения | Когда подходит | Плюсы и минусы |
|---|---|---|
| Свойства элемента (товара) | Вопросы уникальны для каждой позиции | Гибко, но дублирование однотипных ответов |
| Свойства раздела каталога | Общие вопросы для всей категории | Одна правка на раздел, но нет индивидуализации |
| Отдельный инфоблок «Вопросы-ответы» | Переиспользование ответов между товарами | Чистая модель, но сложнее связывать и выводить |
| Highload-блок справочника | Большой общий пул типовых вопросов | Нормализовано и быстро, но требует привязок |
На практике хорошо работает гибрид: типовые вопросы категории («чем отличаются модели», «как выбрать») живут на разделе, а специфичные для товара («подойдёт ли к модели X», «есть ли в этом цвете») — на элементе. Шаблон сначала берёт вопросы раздела, затем добавляет вопросы товара, отбрасывает дубли и отдаёт единый список и в видимый блок, и в JSON-LD. Для HowTo-инструкций шаги удобнее держать как упорядоченное множественное свойство или как отдельные элементы инфоблока с полем сортировки.
Видимый контент: главное правило разметки
Это тот раздел, из-за игнорирования которого чаще всего прилетают проблемы. Правило простое и жёсткое: размечать можно только тот контент, который виден пользователю на этой же странице. Оно прямо записано в требованиях Google к структурированным данным и в духе рекомендаций Яндекса.
Что это значит на практике для FAQ и HowTo:
- Вопросы и ответы должны быть в HTML страницы и доступны пользователю — например, в аккордеоне, который раскрывается по клику. Скрытый через
display:noneнавсегда контент размечать нельзя. - Тексты должны совпадать. Формулировка вопроса в разметке — та же, что видит человек. Ответ в JSON-LD — тот же, что в видимом блоке, без «улучшенных для поиска» версий.
- Шаги HowTo должны присутствовать на странице как реальная инструкция, а не только в разметке.
- Никакого маркетингового спама. FAQ не место для рекламных лозунгов, ссылок-приманок и ключевых слов — это ведёт к игнорированию разметки или санкциям.
Именно поэтому в 1С-Битрикс мы всегда строим видимый блок и JSON-LD из одного источника данных. Когда контент-менеджер правит вопрос в админке, одновременно меняется и то, что видит пользователь, и то, что уходит в разметку — рассинхрон физически невозможен. Это самый надёжный способ никогда не нарушить правило видимости.
Валидация и контроль ошибок
Разметку нельзя «внедрить и забыть». Одна ошибка в шаблоне размножается на тысячи однотипных страниц, поэтому проверка обязательна и на старте, и на регулярной основе. Пользуйтесь тремя инструментами, у каждого своя роль.
- Валидатор Schema.org (validator.schema.org). Проверяет синтаксис и структуру: правильные типы, обязательные поля, отсутствие «сломанного» JSON. Это базовый уровень корректности.
- Google Rich Results Test. Показывает, имеет ли страница право на конкретный расширенный результат в Google, и подсвечивает ошибки и предупреждения именно с точки зрения показа сниппета.
- Яндекс.Вебмастер. В разделе структурированных данных отслеживает, как Яндекс видит разметку, и накапливает отчёты об ошибках по мере обхода сайта.
Проверяйте не случайные страницы, а по одному представителю каждого шаблона: одну карточку товара, одну категорию, одну статью-инструкцию. Если представитель шаблона валиден, валиден и весь класс страниц. После любых правок вёрстки или логики сборки JSON-LD повторяйте прогон — особенно после обновлений платформы и массового обмена с 1С, когда меняется состав свойств.
Как измерять рост CTR
Чтобы понять, работает ли разметка, нужно измерять, а не верить на слово. Базовый источник данных — панель вебмастера поисковой системы, где виден CTR по запросам и страницам. Методика простая: зафиксируйте базовые показатели до внедрения, выкатите разметку, дайте поисковику время на переобход и сравните.
- Снимите базу. Перед внедрением выгрузите CTR и позиции по группе страниц одного шаблона (например, карточки одной категории) за стабильный период.
- Внедрите разметку на шаблоне. Раскатайте FAQ или HowTo сразу на весь класс страниц, а не на одну — так статистика будет значимой.
- Дайте время на переобход. Изменения проявляются не мгновенно: поисковику нужно обойти страницы и пересчитать сниппеты, обычно это недели.
- Сравните CTR при той же позиции. Отфильтруйте эффект позиции: сравнивайте кликабельность на сопоставимых местах выдачи, иначе рост позиций спутает картину.
- Смотрите поведенческие метрики. Даже без расширенного сниппета видимый FAQ снижает отказы — контролируйте глубину и время на странице.
Отделяйте влияние разметки от других факторов. Если параллельно вы меняли title, контент или скорость страницы, приписать весь прирост CTR именно FAQ будет ошибкой. Меняйте по одному фактору за раз и держите контрольную группу похожих страниц без разметки — так эффект виден чисто. Комплексно тему доверия и поведенческих сигналов мы разбираем в материале про коммерческие факторы и E-E-A-T интернет-магазина на 1С-Битрикс.
Частые ошибки
- Размечают FAQ, которого нет в видимой части страницы, — прямое нарушение правил и риск игнорирования разметки или санкций.
- Тексты в JSON-LD не совпадают с видимыми — «улучшенные для поиска» формулировки расходятся с тем, что читает пользователь.
- Путают FAQPage и HowTo — пошаговую инструкцию размечают как набор вопросов, и поисковик отбрасывает несоответствие структуры.
- Дублируют FAQPage несколько раз на одной странице из-за повторных вызовов компонента — валидатор ругается на конфликт.
- Набивают FAQ ключевыми словами и рекламой — вместо ответов пользователю получают спам, который снижает качество страницы.
- Забывают экранировать кавычки при ручной склейке JSON — одна кавычка в ответе ломает весь блок разметки.
- Ставят HowTo без реальных шагов на странице — разметка есть, а инструкции в тексте нет.
- Ждут гарантированного сниппета и разочаровываются — не учитывают, что Google сократил показ FAQ-сниппетов и решение всегда за поисковиком.
Чек-лист внедрения
Сведём всё в практический список, по которому удобно принимать готовность разметки перед запуском:
- Тип выбран верно. FAQPage для независимых вопросов, HowTo для пошаговой инструкции; один контент не размечен двумя типами.
- Контент виден. Все размеченные вопросы, ответы и шаги присутствуют в видимой части страницы и доступны пользователю.
- Тексты совпадают. Формулировки в JSON-LD дословно равны видимым; никаких «поисковых» версий.
- Источник единый. Видимый блок и разметка собираются из одних данных инфоблока, рассинхрон невозможен.
- JSON корректен. Разметка формируется через
json_encodeс нужными флагами, кавычки экранированы, блок один на странице. - Связка настроена. На карточке FAQPage сосуществует с Product и BreadcrumbList без конфликтов.
- Валидация пройдена. Представитель каждого шаблона проверен в Schema.org, Rich Results Test и Яндекс.Вебмастере, ошибок нет.
- Замеры настроены. Зафиксирована база CTR и поведенческих метрик, есть контрольная группа без разметки.
Вывод
FAQ и HowTo разметка — это недорогая и полезная инфраструктура SEO для магазина на 1С-Битрикс. Она делает страницу кандидатом на расширенный сниппет, помогает поисковику точнее понять содержимое и через видимый блок улучшает поведенческие факторы. Ключ к безопасному внедрению — единый источник данных для видимого контента и JSON-LD, правильный выбор типа под страницу и регулярная валидация. Не ждите гарантированного сниппета: стройте разметку как часть общего пакета структурированных данных, измеряйте CTR по шаблонам — и эффект придёт устойчиво, а не разово.