Реалізація Breadcrumbs (хлібні крихти) на сайті

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Реалізація Breadcrumbs (хлібні крихти) на сайті
Проста
~1 робочий день
Часті питання

Наші компетенції:

Етапи розробки
Останні роботи
  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Реалізація хлібних крошок

Хлібні крошки показують шлях користувача в ієрархії сайту та поліпшують SEO через Schema.org розмітку. Google відображає крошки в результатах пошуку замість URL.

Laravel: генератор хлібних крошок

// config/breadcrumbs.php через пакет diglactic/laravel-breadcrumbs
use Diglactic\Breadcrumbs\Breadcrumbs;
use Diglactic\Breadcrumbs\Generator as BreadcrumbTrail;

Breadcrumbs::for('home', fn(BreadcrumbTrail $trail) =>
    $trail->push('Головна', route('home'))
);

Breadcrumbs::for('blog', fn(BreadcrumbTrail $trail) => $trail
    ->parent('home')
    ->push('Блог', route('blog'))
);

Breadcrumbs::for('article', fn(BreadcrumbTrail $trail, Article $article) => $trail
    ->parent('blog')
    ->push($article->category->name, route('blog.category', $article->category))
    ->push($article->title)
);

// У шаблоні
{{ Breadcrumbs::render('article', $article) }}

Schema.org розмітка

// resources/views/components/breadcrumbs.blade.php
@if($breadcrumbs = Breadcrumbs::generate('article', $article))
<nav aria-label="Хлібні крошки">
  <ol itemscope itemtype="https://schema.org/BreadcrumbList">
    @foreach($breadcrumbs as $item)
    <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
      @if($item->url)
        <a itemprop="item" href="{{ $item->url }}">
          <span itemprop="name">{{ $item->title }}</span>
        </a>
      @else
        <span itemprop="name">{{ $item->title }}</span>
      @endif
      <meta itemprop="position" content="{{ $loop->iteration }}">
    </li>
    @endforeach
  </ol>
</nav>
@endif

React: компонент

interface Breadcrumb {
  label: string;
  href?: string;
}

function Breadcrumbs({ items }: { items: Breadcrumb[] }) {
  const structuredData = {
    '@context': 'https://schema.org',
    '@type': 'BreadcrumbList',
    itemListElement: items.map((item, index) => ({
      '@type': 'ListItem',
      position: index + 1,
      name: item.label,
      ...(item.href ? { item: window.location.origin + item.href } : {}),
    })),
  };

  return (
    <nav aria-label="Хлібні крошки">
      <script
        type="application/ld+json"
        dangerouslySetInnerHTML={{ __html: JSON.stringify(structuredData) }}
      />
      <ol className="breadcrumbs">
        {items.map((item, index) => (
          <li key={index} className="breadcrumb-item">
            {index < items.length - 1 ? (
              <>
                {item.href ? <a href={item.href}>{item.label}</a> : <span>{item.label}</span>}
                <span aria-hidden className="separator">›</span>
              </>
            ) : (
              <span aria-current="page">{item.label}</span>
            )}
          </li>
        ))}
      </ol>
    </nav>
  );
}
.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  list-style: none;
  padding: 0;
  font-size: 0.875rem;
  color: #6b7280;
}
.breadcrumb-item { display: flex; align-items: center; gap: 0.25rem; }
.breadcrumb-item a { color: inherit; text-decoration: none; }
.breadcrumb-item a:hover { color: #111827; text-decoration: underline; }
[aria-current="page"] { color: #111827; font-weight: 500; }

Час реалізації

Хлібні крошки з Schema.org розміткою для Laravel або React: 0,5–1 день.