Зачем настраивать BreadcrumbList Schema
Хлебные крошки (breadcrumbs) — это навигационная цепочка, которая показывает путь от главной страницы до текущей: Главная → Раздел → Подраздел → Страница. Пользователь видит их на сайте и понимает, где находится. Поисковая система видит их в структурированной разметке и понимает иерархию сайта.
BreadcrumbList Schema — это разметка Schema.org, которая сообщает поисковым системам структуру навигации в формате JSON-LD. Без неё поисковик пытается собрать информацию о структуре из URL и внутренних ссылок. С разметкой — получает явные данные о вложенности и связях между страницами.
Практическая польза: Google и Яндекс используют BreadcrumbList для формирования навигационных цепочек в сниппетах. Вместо обычного URL вида example.com/uslugi/seo-audit в выдаче отображается читаемая цепочка: Главная › Услуги › SEO-аудит. Это повышает CTR, потому что пользователь ещё до клика видит структуру сайта и понимает контекст страницы.
По моему опыту, корректно настроенные хлебные крошки с разметкой улучшают навигацию для пользователей и помогают поисковым роботам быстрее индексировать глубокие страницы. На сайтах с разветвлённой структурой (каталоги, блоги с категориями, многоуровневые услуги) — это обязательный элемент.
Пошаговая инструкция
Шаг 1. Определите структуру хлебных крошек
Прежде чем писать код, проработайте логику навигационных цепочек для разных типов страниц. Хлебные крошки должны отражать реальную иерархию сайта, а не произвольный путь. Примеры:
- Страница услуги: Главная → Услуги → SEO-аудит
- Статья в блоге: Главная → Блог → Категория → Название статьи
- Карточка товара: Главная → Каталог → Категория → Подкатегория → Товар
- Страница города: Главная → Услуги → SEO-продвижение → Москва
Последний элемент цепочки — текущая страница. Он не должен быть ссылкой, потому что пользователь уже на ней находится.
Шаг 2. Создайте JSON-LD разметку
JSON-LD — рекомендуемый формат для структурированных данных. Разметка размещается в теге <script type="application/ld+json"> в <head> страницы или перед закрывающим </body>.
Пример для страницы услуги (2 уровня вложенности):
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Главная",
"item": "https://example.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Услуги",
"item": "https://example.com/uslugi/"
},
{
"@type": "ListItem",
"position": 3,
"name": "SEO-аудит"
}
]
}
</script>
Обратите внимание: у последнего элемента нет поля item с URL. Это корректно — Google явно допускает отсутствие URL у последнего элемента, который представляет текущую страницу.
Шаг 3. Пример для глубокой вложенности
На сайтах с каталогами или геостраницами цепочка может быть длиннее. Пример для карточки товара (4 уровня):
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Главная",
"item": "https://example.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Каталог",
"item": "https://example.com/catalog/"
},
{
"@type": "ListItem",
"position": 3,
"name": "Строительные материалы",
"item": "https://example.com/catalog/stroymaterialy/"
},
{
"@type": "ListItem",
"position": 4,
"name": "Кирпич облицовочный"
}
]
}
</script>
Каждый элемент в цепочке должен быть реальной страницей. Если у вас нет страницы «Каталог» как отдельного раздела — не включайте её в хлебные крошки. Разметка должна отражать настоящую структуру сайта.
Шаг 4. Настройте через Yoast SEO (автоматический способ)
Если на сайте установлен Yoast SEO, хлебные крошки с JSON-LD разметкой можно включить без написания кода:
- Перейдите в SEO → Общие → Вкладка «Хлебные крошки» (Breadcrumbs).
- Включите переключатель «Включить хлебные крошки».
- Настройте разделитель (по умолчанию
», можно заменить на›). - Укажите текст для главной страницы (например, «Главная»).
- Настройте таксономию для записей: выберите, какую категорию использовать в цепочке.
- Добавьте вызов функции
yoast_breadcrumb()в шаблон темы, где нужно вывести хлебные крошки визуально.
Yoast автоматически сгенерирует JSON-LD разметку BreadcrumbList на всех страницах, где есть хлебные крошки. Проверьте результат в исходном коде страницы: найдите блок <script type="application/ld+json"> с типом BreadcrumbList.
Шаг 5. Настройте вручную через functions.php
Если вы не используете SEO-плагин или хотите полный контроль, добавьте генерацию JSON-LD через хук wp_head. Пример функции для WordPress:
function custom_breadcrumb_schema() {
if ( is_front_page() ) return; // на главной хлебные крошки не нужны
$items = array();
$position = 1;
// Главная
$items[] = array(
'@type' => 'ListItem',
'position' => $position++,
'name' => 'Главная',
'item' => home_url('/')
);
// Категория (для записей)
if ( is_single() ) {
$categories = get_the_category();
if ( !empty($categories) ) {
$cat = $categories[0];
$items[] = array(
'@type' => 'ListItem',
'position' => $position++,
'name' => $cat->name,
'item' => get_category_link($cat->term_id)
);
}
}
// Текущая страница (без item)
$items[] = array(
'@type' => 'ListItem',
'position' => $position,
'name' => get_the_title()
);
$schema = array(
'@context' => 'https://schema.org',
'@type' => 'BreadcrumbList',
'itemListElement' => $items
);
echo '<script type="application/ld+json">' .
json_encode($schema, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT) .
'</script>';
}
add_action('wp_head', 'custom_breadcrumb_schema');
Этот код — базовый пример. На реальном сайте потребуется расширить логику: учесть вложенные категории, произвольные типы записей, родительские страницы для иерархических страниц.
Шаг 6. Валидируйте разметку
После размещения обязательно проверьте корректность:
- Google Rich Results Test (
search.google.com/test/rich-results) — покажет, распознаёт ли Google разметку BreadcrumbList. Это один из типов, для которых Google явно поддерживает расширенные результаты. - Schema Markup Validator (
validator.schema.org) — строгая проверка по спецификации Schema.org. - Яндекс Вебмастер — раздел «Инструменты» → «Валидатор микроразметки». Проверяет интерпретацию разметки Яндексом.
Проверьте несколько страниц разных типов: главную, страницу категории, запись блога, карточку товара. Каждая должна иметь свою корректную цепочку.
Типичные ошибки
- Ошибки нумерации position. Позиции должны начинаться с 1 и идти последовательно: 1, 2, 3. Пропуск номера или начало с нуля — ошибка валидации. Google может проигнорировать некорректно пронумерованную разметку.
- URL в поле item у последнего элемента. Формально не является ошибкой, но если указать URL текущей страницы в последнем элементе — убедитесь, что URL абсолютный и совпадает с каноническим адресом. Несовпадение URL в breadcrumb и canonical — путающий сигнал для поисковой системы.
- Фиктивные уровни в цепочке. Включение в хлебные крошки страниц, которых не существует. Например, уровень «Каталог», на который нельзя перейти по ссылке. Каждый элемент с полем item должен вести на реальную, индексируемую страницу.
- Несоответствие визуальных и структурных хлебных крошек. На странице пользователь видит одну навигационную цепочку, а в JSON-LD разметке — другую. Поисковая система это замечает. Визуальные хлебные крошки и Schema-разметка должны совпадать.
- Дублирование разметки BreadcrumbList. SEO-плагин генерирует BreadcrumbList автоматически, а вы добавили свою вручную. Два блока BreadcrumbList на одной странице — конфликт. Проверьте исходный код и оставьте один источник разметки.
- Использование относительных URL. В поле item нужен абсолютный URL:
https://example.com/uslugi/, а не/uslugi/. Относительные пути не являются валидным значением для свойства item. - Хлебные крошки на главной странице. На главной странице BreadcrumbList из одного элемента не имеет смысла. Не добавляйте разметку с единственным пунктом «Главная» — это не несёт полезной информации.
Что проверить в итоге
- На всех страницах, кроме главной, присутствует JSON-LD разметка BreadcrumbList
- Цепочка хлебных крошек отражает реальную иерархию сайта
- Нумерация position начинается с 1 и идёт последовательно без пропусков
- Каждый элемент (кроме последнего) содержит поле item с абсолютным URL
- Все URL в полях item ведут на реальные, индексируемые страницы
- Визуальные хлебные крошки на странице совпадают с данными в JSON-LD
- На одной странице только один блок BreadcrumbList (нет дублирования от плагина и вручную)
- Разметка прошла валидацию в Google Rich Results Test без ошибок
- Разметка проверена в Яндекс Вебмастере через валидатор микроразметки
- Проверены разные типы страниц: категории, записи, товары, услуги