Schema.orgBreadcrumbListтехника

Schema BreadcrumbList: почему хлебные крошки обязательны для агрегатора

BreadcrumbList даёт хлебные крошки прямо в выдаче вместо длинного URL. Простая разметка с эффектом на годы. Объясняю как.

Зачем нужны хлебные крошки в Schema

Хлебные крошки в выдаче — это маленькое, но важное отличие сайтов с правильной разметкой от обычных.

Без BreadcrumbList:

  • В выдаче показывается длинный URLexample.com › catalog › electronics › laptops › apple-macbook-pro
  • Сложно прочитать, выглядит «технически»

С BreadcrumbList:

  • В выдаче — читаемые крошки — Главная › Каталог › Электроника › Ноутбуки › MacBook Pro
  • Визуально приятнее, +5-10% CTR

Плюс: Google и Яндекс используют BreadcrumbList для понимания иерархии сайта.

Базовая разметка

<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/electronics"
    },
    {
      "@type": "ListItem",
      "position": 4,
      "name": "MacBook Pro 16"
    }
  ]
}
</script>

Правила

Последний элемент — без item

Текущая страница идёт последним, без поля item. Это говорит «мы тут, дальше идти некуда».

position — обязательно

Нумерация с 1, по порядку. Не «0», не «10».

name — что видит пользователь

Лучше короткое и понятное: «Электроника», не «Категория техника электронные товары».

item — полный URL

Не относительный (/catalog), а абсолютный (https://example.com/catalog).

Где разместить

На каждой странице глубже первого уровня:

  • Главная (/) — крошки не нужны
  • Каталог (/catalog) — крошки: Главная → Каталог
  • Категория (/catalog/electronics) — Главная → Каталог → Электроника
  • Карточка (/catalog/electronics/macbook-pro) — Главная → Каталог → Электроника → MacBook Pro

То есть на главной BreadcrumbList Schema не нужна.

Визуальный блок в HTML

Schema не заменяет визуальные хлебные крошки на странице. Нужны оба:

<nav aria-label="Хлебные крошки">
  <ol>
    <li><a href="/">Главная</a></li>
    <li><a href="/catalog">Каталог</a></li>
    <li><a href="/catalog/electronics">Электроника</a></li>
    <li aria-current="page">MacBook Pro 16</li>
  </ol>
</nav>

Визуальный блок для пользователя, Schema — для поисковика.

Примеры для разных типов сайтов

Каталог колледжей

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "Главная", "item": "https://icolleges.ru" },
    { "@type": "ListItem", "position": 2, "name": "Каталог", "item": "https://icolleges.ru/catalog" },
    { "@type": "ListItem", "position": 3, "name": "Москва", "item": "https://icolleges.ru/catalog/moscow" },
    { "@type": "ListItem", "position": 4, "name": "Московский политех" }
  ]
}

Карточка авто

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "Главная", "item": "https://carto-auto.ru" },
    { "@type": "ListItem", "position": 2, "name": "Каталог", "item": "https://carto-auto.ru/catalog" },
    { "@type": "ListItem", "position": 3, "name": "BMW", "item": "https://carto-auto.ru/catalog/bmw" },
    { "@type": "ListItem", "position": 4, "name": "X5 G05" }
  ]
}

Блог-статья

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "Главная", "item": "https://seocheckup.ru" },
    { "@type": "ListItem", "position": 2, "name": "Блог", "item": "https://seocheckup.ru/blog" },
    { "@type": "ListItem", "position": 3, "name": "Schema.org с нуля" }
  ]
}

Анти-паттерны

❌ BreadcrumbList на главной странице

Главная — это корень. Хлебные крошки идут вверх к ней. На самой главной их не нужно.

❌ Последний элемент с item

{ "@type": "ListItem", "position": 4, "name": "MacBook Pro", "item": "https://..." }

Если это текущая страница — item не указываем.

❌ Хлебные крошки несоответствуют структуре URL

Если URL /catalog/electronics/laptops/macbook-pro, крошки должны отражать ту же структуру:

Главная → Каталог → Электроника → Ноутбуки → MacBook Pro

Не «через прыжки»:

Главная → MacBook Pro (пропустили промежуточные)

❌ Слишком глубокие крошки

Если у вас 7+ уровней — пересмотрите URL-структуру. Норма — 3-5 уровней.

Автогенерация крошек

В современных фреймворках BreadcrumbList автогенерируется из URL:

// Next.js пример
function generateBreadcrumbs(pathname: string) {
  const segments = pathname.split('/').filter(Boolean);
  return segments.map((segment, i) => ({
    "@type": "ListItem",
    position: i + 2, // +2 потому что 1 = Главная
    name: getSegmentName(segment),
    item: i < segments.length - 1
      ? `https://example.com/${segments.slice(0, i + 1).join('/')}`
      : undefined,
  }));
}

Чек-лист

  • [ ] BreadcrumbList на всех страницах глубже первого уровня
  • [ ] Position нумерация с 1
  • [ ] Последний элемент без item
  • [ ] URL абсолютные (с https://)
  • [ ] Соответствие URL-структуре сайта
  • [ ] Видимый блок крошек в HTML дополнительно к Schema
  • [ ] Валидация через Google Rich Results Test

Итог

BreadcrumbList — минимум усилий, максимум эффекта. Внедряется один раз в шаблон, работает на все страницы автоматически.

Прогнать SEO-аудит с проверкой Schema →

Получить SEO-аудит своего сайта

Бесплатно. Без регистрации. Топ-проблемы и план роста позиций за 60 секунд.

Проверить сайт →