Как настроить хлебные крошки в WordPress без плагина

Если на сайте нет хлебных крошек, пользователь хуже понимает, где находится внутри структуры, а поисковику сложнее считывать иерархию страниц. В WordPress это можно настроить без отдельного плагина: через файл темы, дочернюю тему или небольшой сниппет в functions.php. Для большинства сайтов этого достаточно, если нужен именно аккуратный навигационный путь по разделам, а не тяжёлый набор SEO-функций.

Ниже разберём рабочий вариант: как вывести хлебные крошки в WordPress, не ломая тему и не завязываясь на лишние расширения.

Что именно будем настраивать

Хлебные крошки — это цепочка ссылок вроде Главная → Раздел → Подраздел → Статья. На практике они решают две задачи:

  • помогают посетителю быстро вернуться на уровень выше;
  • делают структуру сайта понятнее для поисковых систем и могут улучшить отображение сниппета, если разметка сделана корректно.

Без плагина есть два нормальных пути:

  • встроить функцию в тему и вывести её в нужном месте шаблона;
  • если тема уже содержит готовый хук или функцию, подключить только вызов, не переписывая шаблон целиком.

Самый универсальный вариант — написать собственную функцию и вставить её в дочернюю тему. Так вы не потеряете изменения после обновления основной темы.

Перед началом: где лучше вносить изменения

Не редактируйте напрямую файлы родительской темы, если сайт уже в работе. После обновления изменения исчезнут. Безопаснее использовать дочернюю тему или, если у вас есть опыт, вынести код в небольшой mu-plugin.

Если вы меняете functions.php, сначала сделайте резервную копию. Ошибка в PHP-коде может привести к белому экрану или падению сайта. Это особенно важно, если доступ к серверу только через панель хостинга, а не через Git или SSH.

Добавляем функцию хлебных крошек в WordPress

Ниже — рабочий базовый вариант без привязки к конкретному плагину. Он подходит для записей, страниц, рубрик и вложенных страниц. Код можно вставить в functions.php дочерней темы.

Сначала добавьте саму функцию:

function wpvip_breadcrumbs() {
    if ( is_front_page() ) {
        return;
    }

    echo '<nav class="breadcrumbs" aria-label="Хлебные крошки">';
    echo '<ol>';
    echo '<li><a href="' . esc_url( home_url( '/' ) ) . '">Главная</a></li>';

    if ( is_single() ) {
        $category = get_the_category();
        if ( ! empty( $category ) ) {
            $cat = $category[0];
            echo '<li>' . get_category_parents( $cat, true, '</li><li>' ) . '</li>';
        }
        echo '<li aria-current="page">' . esc_html( get_the_title() ) . '</li>';
    } elseif ( is_page() ) {
        global $post;
        if ( $post->post_parent ) {
            $ancestors = array_reverse( get_post_ancestors( $post->ID ) );
            foreach ( $ancestors as $ancestor ) {
                echo '<li><a href="' . esc_url( get_permalink( $ancestor ) ) . '">' . esc_html( get_the_title( $ancestor ) ) . '</a></li>';
            }
        }
        echo '<li aria-current="page">' . esc_html( get_the_title() ) . '</li>';
    } elseif ( is_category() ) {
        echo '<li aria-current="page">' . esc_html( single_cat_title( '', false ) ) . '</li>';
    }

    echo '</ol>';
    echo '</nav>';
}

Этот код не покрывает все возможные типы архивов и таксономий, но для типового сайта с записями и страницами его уже достаточно. Если у вас сложная структура контента, функцию можно расширить под кастомные типы записей и таксономии.

Как вывести хлебные крошки в шаблоне

После добавления функции нужно вызвать её в нужном месте темы. Обычно это делают в header.php, single.php, page.php или в общем шаблоне перед основным контентом.

Например, если вы хотите показывать крошки над заголовком записи, вставьте вызов туда, где тема выводит контент:

<?php if ( function_exists( 'wpvip_breadcrumbs' ) ) {
    wpvip_breadcrumbs();
} ?>

Проверка простая: откройте запись, страницу и рубрику на сайте. Если всё подключено верно, вы увидите цепочку ссылок над контентом или в том месте, куда вставили вызов.

Как сделать разметку удобной для поисковых систем

Для SEO важен не только визуальный вывод, но и семантика. Хлебные крошки лучше оборачивать в <nav> с понятным aria-label, а сами элементы — в список. Это помогает и доступности, и машинному чтению структуры.

Если хотите усилить пользу для поисковых систем, можно добавить структурированные данные Schema.org в формате BreadcrumbList. Это не обязательно для самого факта работы хлебных крошек, но полезно, если вы рассчитываете на корректное понимание цепочки поисковыми системами.

Минимальный принцип такой: визуальные крошки и JSON-LD должны описывать одну и ту же иерархию. Если в интерфейсе у вас Главная → Блог → Статья, то и в разметке не должно быть другой структуры.

Когда разметку лучше не усложнять

Если тема уже выводит хлебные крошки и одновременно добавляет собственную schema-разметку, не дублируйте её без проверки. Два разных блока BreadcrumbList с несовпадающими данными могут запутать валидатор и усложнить отладку. Сначала проверьте исходный код страницы и убедитесь, что разметка не повторяется.

Что учесть для разных типов страниц

Универсальная логика для всех страниц редко работает идеально без доработок. На практике чаще всего приходится учитывать три сценария.

  • Записи. Обычно показывают рубрику и заголовок статьи. Если у записи несколько рубрик, лучше выбрать одну основную логику и не выводить всё подряд.
  • Страницы. Для вложенных страниц полезно строить цепочку по родителям. Для обычной страницы без родителей достаточно Главная → Страница.
  • Архивы. Для рубрик и архивных страниц можно выводить только текущий раздел, без лишних промежуточных звеньев.

Если сайт построен на кастомных типах записей, проверьте, как они связаны с таксономиями. Иногда удобнее показывать крошки по терминам, а иногда — только по иерархии самого типа записи. Здесь нет универсального ответа: всё зависит от структуры контента.

Как проверить, что всё работает правильно

После внедрения не ограничивайтесь визуальной проверкой на одной странице. Откройте несколько разных типов страниц и проверьте следующее:

  • крошки не дублируются дважды;
  • ссылки ведут на правильные разделы;
  • текущий элемент не является ссылкой;
  • на главной странице крошки не выводятся, если это не задумано отдельно;
  • верстка не ломается на мобильных устройствах.

Затем посмотрите исходный код страницы и убедитесь, что HTML не содержит незакрытых тегов. Если вы добавляли schema-разметку, проверьте страницу в валидаторе структурированных данных или в инструментах для проверки разметки, которые поддерживает поисковая система, под которую вы оптимизируете сайт.

Типичные ошибки при настройке без плагина

Самая частая проблема — код вставили в тему, но забыли вызвать функцию в шаблоне. Вторая по частоте — функция есть, но выводится не там, где её ожидает пользователь. Третья — крошки строятся только для записей, а страницы и архивы остаются без навигации.

Ещё одна практическая ошибка — использовать the_title() там, где нужен безопасный вывод строки, или не экранировать URL. В коде выше для этого используются esc_url() и esc_html(). Это не формальность: на живом сайте такие мелочи лучше не игнорировать.

Если после правок сайт перестал открываться, первым делом откатите последний PHP-блок. При отсутствии доступа к админке проще всего восстановить файл через файловый менеджер хостинга или FTP.

Когда без плагина действительно удобнее

Настройка через код подходит, если вам нужен один понятный сценарий без лишних настроек и сторонних зависимостей. Это хороший вариант для небольших и средних сайтов, где хлебные крошки нужны как часть темы, а не как отдельный SEO-комбайн.

Если же у вас сложная структура, много типов контента и нужна детальная настройка вывода для каждого шаблона, код всё равно остаётся рабочим решением, но потребует больше времени на поддержку. В таком случае лучше сразу держать логику в дочерней теме или отдельном мини-плагине, чтобы не потерять её при обновлениях.

Итог здесь простой: хлебные крошки в WordPress можно настроить без плагина, если аккуратно добавить функцию, вывести её в шаблоне и проверить HTML-структуру. Для большинства сайтов этого достаточно, чтобы улучшить навигацию и сделать страницу понятнее для поисковых систем.

Как настроить хлебные крошки в WordPress без плагина
15.10.2026
Как отключить Emoji в WordPress: эффективные методы
13.09.2026
Как найти и убрать лишние редиректы в WordPress
18.09.2026
Как создать отзывы с фотографиями в WordPress
30.09.2026
Как удалить лишние meta-теги WordPress из head
23.10.2026