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

Приветствую вас, друзья. В последнее время редко получается писать в блог, на то есть свои причины, сломался комп. Сейчас сижу на работе и печатаю эту статью, ох и влетит же мне, если узнают чем я здесь занимаюсь 🙂

Но сейчас не об этом. В этой статье познакомлю вас с таким понятием как «хлебные крошки» на блоге, и расскажу как их сделать. Уверен, что большинство из вас слушали, что такое хлебные крошки или навигационная цепочка, если нет, то сейчас узнаете.

хлебные крошки PHP

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

На сайте хлебные крошки выглядят примерно так:

Главная >> Раздел >> Подраздел >> Текущая страница


Конечно в зависимости от уровня вложенности страниц, эта навигационная цепочка может отличаться.

Хлебные крошки незначительно, но все же влияют на поисковое ранжирование. Вот что говорят о хлебных крошках Google и Яндекс:

Яндекс о хлебных крошках

google о хлебных крошках

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

Установить хлебные крошки на WordPress несложно, есть 2 пути решения, первый при помощи плагина, и второй при помощи кода, который я вам предоставлю.


Для начала будем устанавливать навигационную цепочку при помощи кода. Это способ мне нравиться больше.

Итак.

1) Сделайте бекап блога! На всякий случай, ведь придеться работать с кодом, который влияет на функционирование вашего шаблона.

2) Скопируйте вот этот код и вставьте в файл functions.php перед знаком ?> (Этот код создает навигационную цепочку)

function the_breadcrumb() { echo ''; if (!is_front_page()) { echo '<a href="'; echo get_option('home'); echo '">Ваш сайт'; echo "</a> » "; if (is_category() || is_single()) { the_category(' '); if (is_single()) { echo " » "; the_title(); } } elseif (is_page()) { echo the_title(); } } else { echo 'Home'; } }

3) Скопируйте код и вставьте в файлы single.php (для вывода хлебных крошек в записях) и page.php (для вывода хлебных крошек в страницах) перед кодом, выводящим контент, обычно он выглядит примерно так:

<?php while ( have_posts() ) : the_post(); ?>

Код для вставки:

<div class="kroshki"> <?php the_breadcrumb(); ?> </div>

Можете просто вставить после кода:


<?php get_header(); ?>

Кроме этого по желанию, можете вставить этот код в файлы — search.php (страница поиска информации по блогу и archive.php (страница архива блога)

4) Скопируйте код и вставьте его в самый низ файла style.css (этот код выравнивает расположение хлебных крошек — делает отступ от остальных блоков)

.kroshki { margin:5px 0px 0px 10px; }

Вот и все. Не пугайтесь, что так много кода, это намного проще чем кажеться 🙂

nazyrov.ru

Основные SEO-требования к хлебным крошкам

1. Статический вес

Факт наличия/отсутствия и состав цепочки навигации важно учитывать при расчёте перелинковки внутри сайта. Ссылки из хлебных крошек ведут к повышению статического веса основных разделов, располагающиеся высоко по иерархии, что хорошо для продвижения категорийных запросов (ВЧ и СЧ), но может несколько негативно сказываться на продвижении товарных фраз (НЧ и мНЧ).

Базовый вывод: важно, чтобы ссылки из цепочки навигации вели на продвигаемые разделы с вхождением в них слов из продвигаемых фраз. Если ставка при продвижении проекта делается на товарные (теговые и прочие НЧ-запросы), то имеет смысл рассмотреть вариант скрытия части гиперссылок с помощью AJAX.


Если главная страница сайта продвигается по конкурентным запросам, то (не в ущерб навигации) лучше использовать в качестве анкора ссылки не слово «Главная», а фрагмент соответствующей фразы или весь запрос целиком. Скажем: Мебель > Офисная > Стулья и кресла.

2. Поведенческие факторы

Безусловно, понятная навигация внутри сайта повышает глубину просмотра и вовлеченность пользователя. Как следует из ряда SEO-исследований [1, 2] данные поведенческие факторы (доля переходов из поиска со временем просмотра более 1 минуты, глубина просмотра) существенно сказываются на ранжировании сайта по продвигаемым запросам.

Увеличение данных метрик положительно сказывается не только на позициях сайта, но и на показателях конверсии.

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

3. Представление сайта на выдаче (сниппет)

Используя передачу структурированных данных можно несколько улучшить представление сайта в результатах выдачи Google. Поисковая система Яндекс пока не поддерживает данный вид разметки, но часто и самостоятельно, без дополнительных усилий со стороны SEO-специалиста, формирует наглядную цепочку навигации для результата в SERP.

Наглядная цепочка в Яндексе
Рис. 1. Отображение наглядной цепочки навигации в выдаче Яндекса.


Сравнение в Google
Рис. 2. Отображение оформленной с помощью структурированных данных и не оформленной цепочки навигации в выдаче Google.

Google поддерживает три формата передачи структурированных данных — JSON-LD, Microdata, RDFa [3]. Для оформления хлебных крошек рекомендуется использовать Microdata и RDFa [4]. Пример оформления кода в формате Microdata для данных типа BreadcrumbList представлен ниже (сама цепочка: SEO > Трафик > Заказ).

<ol itemscope itemtype=»http://schema.org/BreadcrumbList»>
  <li itemprop=»itemListElement» itemscope
      itemtype=»http://schema.org/ListItem»>
    <a itemscope itemtype=»http://schema.org/Thing»
       itemprop=»item» href=»https://example.com/SEO»>
        <span itemprop=»name»>SEO</span>
        <img itemprop=»image» src=»http://example.com/images/icon-SEOicon.png» alt=»SEO»/></a>
    <met.
ample.com/SEO/Traffic»>
      <span itemprop=»name»>Трафик</span>
      <img itemprop=»image» src=»http://example.com/images/icon-Traffic.png» alt=»Traffic»/></a>
    <meta itemprop=»position» content=»2″ />
  </li>
  >
  <li itemprop=»itemListElement» itemscope
      itemtype=»http://schema.org/ListItem»>
    <a itemscope itemtype=»http://schema.org/Thing»
       itemprop=»item» href=»https://example.com/SEO/Traffic/Order»>
      <span itemprop=»name»>Заказ</span>
      <img itemprop=»image» src=»http://example.com/images/icon-Order.png» alt=»Order»/></a>
    <meta itemprop=»position» content=»3″ />
  </li>
</ol>


После внедрение микроразметки на сайт, важно произвести проверку правильности использования структурированных данных с помощью валидатора от Google. Доступна как проверка URL, так и фрагмента кода.

Контролировать правильность обработки и отображение структурированных данных можно с помощью соответствующей вкладки в Search Console от Google, путь: Вид в поиске > Структурированные данные.

Структурированные данные
Рис. 3. Инструмент работы со структурированными данными от Google в Search Console.

4. Добрые советы

  • Включение текущий страницы с отсутствием ссылки на неё в конце дублирующей навигации — является хорошим тоном.
    Скажем: SEO > Тарифы > Трафик > Онлайн-заказ.

  • Не стоит злоупотреблять вхождением ключевых фраз в цепочке — это повышает плотность их вхождений и увеличивает вероятность применения текстовых пост-фильтров. 1–2 вхождений для слова будет достаточно.

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


Полезные ссылки

  1. Эффективная работа с коммерческими и поведенческими факторами в 2016 году, Cybermarketing, 2016, http://www.slideshare.net/SergeyYurkov1/2016-cybermarketing-16.

  2. Аналитика поведенческих факторов Яндекс/Гугл, SEO conference в Казани, 2015, http://www.slideshare.net/staspolomar/ss-53154946.

  3. Introduction to Structured Data, Google Developers, 2016, https://developers.google.com/search/docs/guides/intro-structured-data.

  4. Breadcrumbs, Google Developers, 2016, https://developers.google.com/search/docs/data-types/breadcrumbs.

pixelplus.ru

Хлебные крошки WordPress на блоге

Что это за крошки, для чего они на сайте и как их создать — вот главные вопросы этой статьи.

Итак, хлебные крошки WordPress!  От одного названия уже появляется улыбка. И действительно, нафиг на блоге хлеб крошить? Да и вообще, как эти крошки туда засунуть?

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


Маленький сынишка грызёт хлеб и печенье и тут же сорит. Не успеваем убирать! Но это было предисловие, а теперь подробности.

Хлебные крошки (Breadcrumb) — это элемент навигации на блоге, который показывает посетителю путь от главной страницы до той, на которой он в данный момент находится.

Посмотрите хлебные крошки на блоге у меня в этой статье перед заголовком. Надеюсь Вам теперь понятно определение хлебных крошек. Теперь расскажу зачем они вообще нужны.

Функция хлебных крошек на блоге

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

Кроме того у них ещё одна немаловажная функция — улучшение внутренней перелинковки страниц блога. Это придаёт ещё больший вес страницам блога.

Не стоит забывать, что правильная внутренняя перелинковка блога увеличивала во многих случаях PageRank.

saranchinsergey.ru

Навигация «Хлебные крошки» – преимущества

  1. Существенно улучшает юзабилити сайта. Посетителю наглядно видно, где он находится и как ему попасть на интересующий его другой раздел ресурса. По сути можно говорить об особом виде меню – «Хлебные крошки».
  2. Любое меню – это один из способов внутренней перелинковки. А значит, с точки зрения SEO хлебные крошки  – это благо. Они увеличивают PageRank страниц и интернет-ресурса в целом, то есть улучшают его позиции в выдаче поисковых систем. Кстати, проверить качество перелинковки можно у нас в SE Ranking: Проверка перелинковки сайта.

xlebnye-kroshki

Из этих двух выше обозначенных пунктов вытекает, что хлебные крошки на сайте – это всегда хорошо, а, следовательно, их присутствие желательно на любом веб-ресурсе за исключением разве что одностраничных сайтов-визиток. А вот для информационных порталов, интернет-магазинов, корпоративных ресурсов, блогов, форумов и т. д.  они очень и очень желательны. Даже непонятно, почему некоторые ресурсы их игнорируют. Ведь затраты на их создание копеечные, а польза – очень большая.  Вот мы плавно и подошли к вопросу «Как сделать хлебные крошки».

Сделать хлебные крошки? Это элементарно, Ватсон!

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

Хлебные крошки WordPress

WordPress  – самая распространенная CMS для блогов, да и не только. На этом движке их можно реализовать двумя путями:

  1. При помощи плагина Хлебных крошек – BreadcrumbNavXT. Для этого скачиваем плагин (бесплатно, но должна быть версия не ниже  WordPress 3.0 и хост должен поддерживать PHP5). Далее в файл header.php шаблона WordPress добавляем следующий код:

hlebnye-kroshki-wordpress

После этого в меню BreadcrumbNavXT (заходим через административную панель WordPress) настраиваем опции.

nastroyka-hlebnyh-kroshek

  1. Без плагина. Программный код WordPress прост и вставить в него код хлебных крошек тоже довольно просто. Для этого открываем файл single.php (можно найти поиском, а вообще находится в папке с темой). И после строчки:

worpress

Вставляем следующее:

kod-hlebnyh-kroshek

В принципе все готово. Для улучшения внешнего вида можно поиграться с дизайном хлебных крошек, отредактировав файл style.css  в части идентификатора id=»breadcrumbs».

Словом, экспериментируйте! Это увлекательно и познавательно.  И пусть вас согреет то, что отсутствие плагина BreadcrumbNavXT на сайте – это хорошо. В этом случае он будет загружаться быстрее.

Хлебные крошки для Joomla

Joomla  – вторая по распространённости CMS, а может, и первая. Код ее довольно сложен, поэтому реализуем хлебные крошки при помощи специального модуля «mod_breadcrumbs» (Панель управления – «Расширения» – «Менеджер модулей»). Затем заходим в настройки модуля и производим настройку под себя.

hlebnye-kroshki-joomla

Еще раз напомним, что соответствующие плагины (модули) есть в любых CMS. Кстати, это лишний раз показывает важность этого вида навигации.

Статья в тему: Какую CMS выбрать для сайта?

Да в принципе, хлебные крошки можно сделать и вручную, воспользовавшись обычными тегами HTML:

<a href=“http://moysait/glavnaia/”>Главная</a>  – <a href=“http://moy sait/glavnaia/razdel/”>Название раздела</a> – <a href=“http://moy sait/glavnaia/razdel/podrazdel/”>Подраздел</a> – и т. д.

Только код необходимо вручную проставить на всех страницах.

Меню «Хлебные крошки» в интернет-магазинах

Вот для кого этот вид навигации крайне необходим. Ведь как в основном попадает человек в интернет-магазин? Правильно, через поисковики, попадая сразу на страницу с интересующим его товаром. А как его заставить посмотреть и другой товар хотя бы в том же разделе? Посредством меню «Хлебные крошки»! Рассмотрим пример. Вы ищите хлебопечку (к слову,  в условиях дорожающих продуктов очень актуальная вещь). Но модель, которую вы искали, по каким-либо причинам, вам не понравилась. Что делать? Посмотреть другие, это же естественно! Как? Да воспользовавшись хлебными крошками на сайте! А для этого интернет-магазин должен организовать на видном месте примерно такую цепочку:

Главная – Бытовая техника – Мелкая бытовая техника – Хлебопечки.

Один клик и потенциальный покупатель может увидеть всю имеющуюся технику, которая его в данный момент интересует. А не было бы такой навигации? Можно, конечно, найти раздел и через главную страницу, а можно уйти с интернет-магазина. Вот вам и недополученная прибыль из-за отсутствия пары строчек в программном коде сайта!

Второй вид меню «Хлебные крошки» в интернет-магазине

Да, есть еще один!  Он базируется не на структуре сайта, а на истории нахождения посетителя на нем. Другими словами на любой странице интернет-магазина в этом случае располагается кнопка «Назад» (Back или Back to result– в западных интернет-магазинах). Последовательно нажимая на нее, посетитель может возвратиться на страницы, которые он ранее посещал. Но ведь есть соответствующая функция браузера? Есть, но тут присутствует одна тонкость. Если пользователь сайта на какой-либо странице выставил на странице фильтры (например, по размеру одежды и ее цене, то возвращаясь через браузер он эти настройки может потерять. А через копку «Назад» нет.

Какой вариант внедрять? Оба, конечно! Больше удобств для потенциальных покупателей – это больше продаж.

hlebnye-kroshki-magazin

Некоторые замечания по хлебным крошкам на сайте

  1. На главной странице их не должно быть. Ссылку на самого себя поисковые системы воспринимают отрицательно. Так же не должна быть ссылка на страницу, на которой находится посетитель. Все это можно учесть соответствующей настройкой плагинов (модулей).
  2. Располагайте хлебные крошки в видимом для посетителя месте. Стандартное местоположение – под структурным меню веб-ресурса.
  3. Посредством специального кода хлебных крошек можно в выдаче поисковых систем Яндекса и Гугла получить навигационные цепочки для сайта. Делается это при помощи разметки микроданных. Выглядит это примерно так:

hlebnye-kroshki-vydacha

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

seranking.ru

За последнее время CSS и CSS3 сильно продвинулись вперед и поэтому старые стили, которые используют картинки на заднем фоне для получения нужной фигуры — больше не требуются.

В этой статье я расскажу как сделать хлебные крошки на сайте с помощь HTML и CSS  в стиле flat. Так же можете посмотреть интересные flat шаблоны сайтов, может что-нибудь пригодиться. Я недавно делал подборку.

В конце мы получим вот такой результат:

Хлебные крошки

Ранее, для того чтобы сделать прозрачную стрелки между двумя блоками использовалась прозрачная картинка на заднем фоне. Теперь данная проблема может быть решена используя только CSS.

<div id="crumbs">    <ul>   <li><a href="#">Breadcrumb</a></li>    </ul>  </div>

Для начала создадим маркированный список — <ul>, в котором будут <li> элементы. Хлебная крошка будет добавляться с помощью добавления нового <li>.

Теперь напишем CSS, чтобы выглядело как тут:

Хлебная крошка первый этап

#crumbs ul li a {   display: block;   float: left;   height: 50px;   background: #3498db;   text-align: center;   padding: 30px 40px 0 40px;   position: relative;   margin: 0 10px 0 0;   font-size: 20px;   text-decoration: none;   color: #fff;  }

Данные стили добавляют:

  1. вид для ссылки в виде блока и синий цвет
  2. центрируют текст и делаем его белым
  3. ровный padding , чтобы блок отображался корректно по вертикали
  4. сбрасывает иные стили для ссылок с text-decoration: none 

Внимание: position: relative добавлен для того, чтобы позже сдерживать все внутренние блоки с position: absolute.

3. Создаем стрелки

#crumbs ul li a:after {   content: "";   border-top: 40px solid red;   border-bottom: 40px solid red;   border-left: 40px solid blue;   position: absolute;   right: -40px;   top: 0;  }

Для создания стрелок мы будем использовать свойство :after, которое позволяет создавать дополнительный элемент после родителя. Добавляем ему position: absolute — для этого мы и делали positive: relative для ссылок <a>, чтобы удержать absolute свойство внутри ссылки и манипулировать им как нам хочется.

Вид стрелки будет сделан с помощью использования border’ов. В примере специально использован красный цвет, но чтобы придать вид треугольника будет использоваться transparent. Далее border будет пододвинут на месте с использование position: absolute.

Хлебные крошки css

Меняем red в border на transparent, чтобы создать эффект прозрачности.

border-top: 40px solid transparent;  border-bottom: 40px solid transparent;  border-left: 40px solid #3498db;

4

#crumbs ul li a:before {   content: "";   border-top: 40px solid transparent;   border-bottom: 40px solid transparent;   border-left: 40px solid #d4f2ff;   position: absolute;   left: 0;   top: 0;  }

Используя тот же принцип как и в третьем этапе — можно создать прозрачный треугольник позади блока. Цвет border должен быть поставлен как и задний цвет сайта, чтобы создавался эффект прозрачности.

Прозрачный треугольник сзади

padding: 30px 40px 0 80px;

Добавляя новые <li> увеличивают глубину хлебной крошки.

<div id="crumbs">   <ul>   <li><a href="#1">Один</a></li>   <li><a href="#2">Два</a></li>   <li><a href="#3">Три</a></li>   <li><a href="#4">Четыре</a></li>   <li><a href="#5">Пять</a></li>   </ul>  </div>

Закругленные края для первого и последнего li

Чтобы создать эффект закругления для первого и последнего элемента в хлебной крошки мы будем использовать :first-child и :last-child. 

#crumbs ul li:first-child a {   border-top-left-radius: 10px;   border-bottom-left-radius: 10px;  }    #crumbs ul li:first-child a:before {   display: none;  }    #crumbs ul li:last-child a {   padding-right: 80px;   border-top-right-radius: 10px;   border-bottom-right-radius: 10px;  }    #crumbs ul li:last-child a:after {   display: none;  }

bologer.ru

SEO-рекомендации к хлебным крошкам

1. Статический вес

Вес страницы – это условная величина, которая показывает «значимость» сайта.

Статический вес страницы – это количество ссылок на ней. Самый большой вес будет иметь главная страница сайта, так как на главную страницу ведут ссылки со всех страниц сайта.

Ссылки из «хлебных крошек» помогают повысить статический вес. Это хорошо сказывается на продвижении высокочастотных и среднечастотных запросов (ВЧ и СЧ).

Все ссылки из навигации должны ввести на продвигаемые разделы с вхождением ключевых слов. Это очень важный момент для ранжирования в поисковой выдаче, например: Главная > Аксессуары> Клавиатуры>

Но бывает и такое, что вы продвигаетесь по конкурентным запросам. В таком случае, лучше использовать не слово «Главная», а фразу или запрос целиком, например: Техника > Аксессуары > Клавиатуры

2. Поведение пользователей

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

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

3. Сниппет

Сниппет – это фрагмент текста, который выводится рядом со ссылкой в поисковой выдаче.

С помощью поисковой системы Google можно передавать структурированные данные и улучшить позиции сайта в выдаче. Яндекс немного отстает от Google и пока не умеет поддерживать данный вид разметки. Но Яндекс сам формирует цепочку навигации, которую можно увидеть в поиске.

Навигационная цепочка в Яндексе:

Навигационная цепочка в Яндексе. Как сделать правильные для SEO хлебные крошки на сайте?

Оформленная и неоформленная с помощью структурированных данных навигационная цепочка в выдаче Google:

Навигационная цепочка в Google. Как сделать правильные для SEO хлебные крошки на сайте?

Google использует три формата передачи структурированных данных – JSON-LD, Microdata, RDFa. «Хлебным крошкам» подойдут форматы Microdata и RDFa. Ниже представлен пример оформления кода в формате Microdata:

Код в формате Microdata. Как сделать правильные для SEO хлебные крошки на сайте?

После оформления кода необходимо убедиться, нет ли ошибок. Для этого существует инструмент валидатор от Google.

Валидатор от Google. Как сделать правильные для SEO хлебные крошки на сайте?

Убедиться, что происходит правильная обработка и отображение структурированных данных поможет инструмент Search Console от Google.

Search Console от Google. Как сделать правильные для SEO хлебные крошки на сайте?

4. Помните

  • Хороший тон – не делать последний элемент навигации ссылкой, например: Главная > Блог > Статья
  • Если вы используете слишком много ключевых фраз в цепочке навигации, увеличивается вероятность применения фильтров к сайту со стороны поисковых систем.
  • Внедрять «хлебные крошки» или нет – зависит от того, какой у вас ресурс. Если у вас сайт-визитка или на сайте мало разделов, то данная навигация вам не нужна. Но если у вас большой интернет-магазин, такая цепочка навигации вам явно необходима.

Навигация «хлебные крошки» незаменимая и необходимая конструкция. Еще до начала запуска сайта, необходимо до мелочей продумать работу навигации. Она жизненно необходима интернет-магазинам и многостраничным сайтам со сложной структурой. Загляните на крупнейшие ресурсы и в интернет-магазины, где четко продуманная система позволит понять все тонкости навигации и ее особенности.

www.obrazstroy.ru

Как сделать хлебные крошки для WordPress

Приветствую Вас, уважаемые читатели. Этой статьей я начинаю новую рубрику на своем блоге, которую я назвал «Уроки WordPress». В ней я буду публиковать небольшие полезные уроки по работе с CMS системой WordPress. Это основная CMS, которую я используя для создания своих сайтов и все мои интернет проекты сделаны именно на ней. В общем, у меня есть много интересного, чем хочется с Вами поделиться. Итак, урок №1: Как сделать хлебные крошки для WordPress.

Что такое хлебные крошки?

Хлебные крошки – это специфический набор ссылок, который отображается на странице, обычно сверху, который показывает поочередный путь к странице. Для примера приведу хлебные крошки, которые сделаны на моем туристическом сайте KrymTurizm.ru.

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

Есть два пути создания хлебных крошек. Первый – это с помощью специализированного плагина. Но зачем нам загружать базу данных кучей плагинов, если можно все сделать с помощью языка php, тобишь без использования плагинов.

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

Первая часть кода

 function the_breadcrumb() {  echo '';  if (!is_front_page()) {  echo '<a href="'; echo get_option('home'); echo '">Ваш сайт';  echo "</a> » ";  if (is_category() || is_single()) {  the_category(' ');  if (is_single()) {  echo " » ";  the_title();  }  } elseif (is_page()) {  echo the_title();  }  }  else {  echo 'Home';  } } 

Этот код, нужно вставить в файл functions.php, который находится в папке с темой Вашего сайта. Открываем FTP-клиет и заходим в папку с темой. Открываем файл functions.php и вставляем код в конце перед закрывающимся тегом «?>», как это показано на рисунке ниже.

Так же не забудьте поменять в коде фразу «Ваш сайт» на домен Вашего сайта или напишите «Главная страница» — так будет отображаться первая часть хлебных крошек. Лично я написал туда домен своего сайта «KrymTurizm.ru».

Вторая часть кода

<?php  the_breadcrumb(); ?>

Вторую часть кода, нужно вставить в место, где будут отображаться хлебные крошки. Рекомендую сделать это сразу под заголовком статьи, как показано на первом рисунке выше. Для этого нам понадобится внести некоторые изменения в файл single.php, который так же находится в папке с темой Вашего сайта. Открываем файл и ищем часть кода, которая отвечает за вывод заголовка. Сразу под ней вставляем вторую часть кода. На рисунке ниже я показал, куда я вставил код в свой файл single.php на туристическом сайте.

Таким образом, мы вставили хлебные крошки в статью нашего сайта, сделанного на CMS WordPress. На этом сегодняшний урок под названием «Как сделать хлебные крошки для WordPress» подошел к концу. Если у Вас возникли какие-то вопросы, то можете задать их ниже в комментариях к данной статьей. Не забывайте подписываться на обновления моего блога, впереди еще много интересного!

С уважением Александр Красильный

onlinemoneta.ru

Что такое «хлебные крошки» на сайте?

Сразу хочу сказать, что это не то, о чём подумало большинство людей, не связанных с веб-программированием 🙂

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

«Хлебными крошками» в компьютерном мире является совокупность ссылок на разделы сайта, каталоги файловых систем и прочие сущности, к которым относится итоговый файл или страница сайта.

Именно поэтому синонимами «хлебных крошек» являются фразы «навигационная цепочка» и «дублирующее меню», которые наиболее полно характеризуют данный элемент.

Но они, по каким-то причинам (скорее всего, из-за своей «заумности», но это всего лишь моё мнение) они не прижились, и на сегодня самым распространённым и легкозапоминающимся термином навигационного меню является именно «хлебные крошки».

Вы наверняка видели их на каждом сайте, на котором существует хотя бы одна категория объектов. Статей, товаров, неважно чего, одним словом, мерных единиц вашего ресурса, которые зависят от типа сайта.

Ухх… вот это я завернул 🙂 Даже самому стало слегка не по себе от своих заумностей 🙂

Но, как ни описывай «хлебные крошки», всё равно лучше один раз увидеть, чем сто раз услышать.

primer-hlebnyh-kroshek-cccp-blogТак выглядит навигационная цепочка на данном сайте. А вот так выглядят «хлебные крошки» крупнейшего Интернет-магазина России OZON:

primer-hlebnyh-kroshek-ozonКак видите, несмотря на различие в назначении ресурсов, навигационные меню у нас одинаковы.

http://cccp-blog.com/wp-includes/images/banners/templatemonster/banner_content.jpg

Отличия заключаются только в цвете (тут уже кому что нравится) и принципе организации «хлебных крошек» — у меня они заканчиваются заголовком текущей страницы, а у OZON они состоят только лишь из ссылок на родительские категории.

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

Кстати, «хлебные крошки» также играют немаловажную роль в SEO-оптимизации сайтов, т.к. помогают роботам поисковых систем более эффективно индексировать содержимое сайта благодаря ссылкам на категории, из которых «крошки» и состоят.

Но, неправильно думать, что навигационные цепочки применяются исключительно в веб-разработке.

Кроме сайтов, данный элемент навигации существует также и в операционных системах (Windows, начиная с Vista), а также в различных файловых менеджерах (всем известный Total Commander, например, который позаимствовал эту фичу у Windows Vista Explorer).

Вот так, например, выглядят «хлебные крошки» в Windows 7:

hlebnye-kroshki-v-operacionnoj-sisteme-windowsВ данных примерах дублирующее меню существует именно для удобства пользователей, т.е. упрощая им навигацию по каталогам в файловой системе. Естественно, ни о каком SEO мы здесь и говорить не будем.

Поскольку данный проект посвящён веб-разработке, о «хлебных крошках» мы будем говорить только с точки зрения их применения на сайтах. Поэтому, если вдруг где-то вы увидите небольшие нестыковки с их спецификой использования внутри ОС и прочих программных продуктов, просьба не судить строго.

Хорошо, но откуда же взялась ассоциация навигационной цепочки с «хлебными крошками», спросят большинство пользователей?

Я сам, когда первый раз услышал данное определение, никак не мог понять, что же мне хотят сказать? О каких ещё крошках мне рассказывают? Даже малейшего предположения не возникло 🙂

Корни данного термина, оказывается, уходят глубоко в фольклор, а именно к сказке братьев Гримм о Гензеле и Гретеле, где дети разбрасывали хлебные крошки, пытаясь по ним найти дорогу из леса. Однако, сходство с нашей навигационной цепочкой весьма ироничное, т.к. в сказке крошки склевали птицы, и дети заблудились.

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

Так что либо создатель термина «хлебные крошки» посчитал его более благозвучным (на английском звучит как «breadcrumbs»), либо он обладал весьма своеобразным чувством юмора 🙂

Нам же остаётся только принимать это как факт.

Кому нужны хлебные крошки на сайте?

Как следует из материала выше – всем веб-мастерам, у которых на сайте больше 2 уровней вложенности (раздел/статья или категория/товар), и кто не безразличен к позициям своего творения в поисковой выдаче.

Библиотека курсов

При этом совершенно не важно, какой у вас тип сайта. Также не важна платформа.

На чём бы ни был разработан ваш сайт – на WordPress, Joomla, ModX, OpenCart, на базе различных фреймворков (Yii, Laravel, Symfony, Zend) или вообще на «чистых» языках – всем вам без «хлебных крошек» не обойтись.

Так же не важен и язык бэкэнда вашего сайта, на котором, в большинстве случаев, breadcrumbs будут разрабатываться.

Кстати, раз уж мы завели разговор о CMS и фреймворках, следует сказать, что практически для каждой платформы уже существует целый набор готовых решений в виде плагинов и модулей, реализующих функционал «хлебных крошек».

Я мог бы посвятить этому отдельные статьи (возможно, что в будущем я на это и решусь), но для начала я решил познакомить вас с универсальным вариантом, который подойдёт для большинства площадок.

С этой целью я решил рассмотреть пример создания «хлебных крошек» на PHP, т.к. на сегодня это самый распространённый бэкэнд-язык веб-программирования.

Поэтому рассмотренный пример и подойдёт для большинства, а не для всех сайтов, ведь помимо PHP никто не мешает вам писать сайты на Java, Python, Ruby и прочих языках бэкэнда.

Но алгоритм, который используется при построении «хлебных крошек», всё равно будет неизменным.

Вот к нему-то мы наконец и переходим.

Создание «хлебных крошек» на PHP — алгоритм

Итак, как говорилось раньше, «хлебные крошки» — это совокупность ссылок на предшествующие страницы, которые, в большинстве своём, являются родительскими категориями текущей страницы.

Как правило, указание категорий содержится в самом url текущей страницы. Рассмотрим на примере данного сайта.

Счётчик просмотров с AdBlock своими руками

Данный url страницы со статьёй состоит из нескольких частей, разделённых слэшами («/»):

  1. Корень сайта (cccp-blog.com)
  2. Категория сайта (blogosfera)
  3. Объект категории, в нашем случае статья (schyotchik-prosmotrov-s-adblock-svoimi-rukami)

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

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

Итак, составим алгоритм формирования «хлебных крошек»:

  1. Получаем url текущей страницы;
  2. Парсим его (разбираем на части);
  3. Для каждой части задаём название элемента «хлебных крошек» и составляем для неё url;
  4. Записываем название элементов и их url в отдельную конструкцию (массив) для передачи в шаблон;
  5. Передаём полученные данные в шаблон и отображаем их там.

Данный алгоритм, как уже и говорилось, является универсальным, т.к., независимо от платформы сайта, «хлебные крошки», выводимые на странице сайта, составляются на основании url этой страницы.

Единственный нюанс – принципы формирования url на различных площадках отличаются, но об этом мы поговорим при реализации нашего алгоритма формирования «хлебных крошек» на языке PHP.

Делаем «хлебные крошки» на PHP – постановка задачи

Итак, мы наконец добрались до самого интересного 🙂

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

В моём примере у сайта будет url «site.corp»

Структура нашего сайта будет следующая:

Название страницы Url
Главная страница site.corp/
О нас site.corp/about
Услуги site.corp/services
Блог site.corp/blog
Контакты site.corp/contacts

Естественно, ссылки на каждую страницу будут доступны в главном меню сайта. В итоге, шапка получилась следующая:

primer-shapki-sajta-dlya-vstatki-hlebnyh-kroshekКак раз в блоке с заголовком страницы мы и будем выводить наши «хлебные крошки».

По сути, для сайта-визитки компании больше ничего и не нужно, но в таком случае «хлебные крошки» будут содержать одну-единственную ссылку на главную страницу, что не продемонстрирует все возможности нашего кода 🙂

Поэтому, с целью увеличения количества уровней иерархии нашего сайта для дальнейшего их отображения в «хлебных крошках» я решил добавить ещё две страницы, ссылки на которые будут доступны на странице «Услуги»:

Название страницы Url
Наши работы site.corp/services/portfolio
Цены site.corp/services/prices

Итак, начальные данные мы описали.

Постановка задачи будет максимально проста – необходимо сделать «хлебные крошки» на сайте, которые будут выводиться на каждой странице под её заголовком.

Теперь, непосредственно сам код.

Сразу хочу оговориться, что наш код «хлебных крошек» будет состоять из двух частей: формирования массива с названиями элементов и их url, а также кода вывода полученной структуры на странице сайта.

Код с логикой формирования «крошек» должен быть доступным на всех страницах сайта, поэтому разметить его нужно будет в контроллере, отвечающем за хэдер сайта (при условии, что у вас MVC-CMS или фреймворк) либо в файле с кодом, который будет вызываться при заходе на каждую страницу.

Только не размещайте его в шаблоне сайта – файле, содержащем html-код его страниц, т.к. это крайне нежелательно с точки зрения чистоты кода.

Формирования массива «хлебных крошек» на PHP

Приступим к написанию кода, формирующего наш массив с «хлебными крошками».

Итак, первым делом, следуя алгоритму, узнаем url текущей страницы. Для этого в PHP есть очень полезный механизм в виде суперглобального массива $_SERVER, который содержит различную информацию о выполняемом на сервере скрипте.

Текущий url будет доступен по индексу REQUEST_URI:

 $cur_url = $_SERVER['REQUEST_URI']; 

Далее нам необходимо разбить его на части. В нашем случае сделать это не сложно, т.к. составляющие urla отделены друг от друга слэшами, поэтому парсим текущий урл:

 $urls = explode('/', $cur_url); 

Создаём пустой массив, в который будем заносить информацию о названиях элементов «хлебных крошек» и их url:

 $crumbs = array(); 

Следующий шаг алгоритма – это формирование ссылок и названий элементов. Для этого перебираем части текущего url в цикле, внутри которого создаём массив для url предыдущих элементов.

Да, «хлебные крошки», естественно, мы будем формировать для всех страниц сайта, кроме главной (лично я навигационную цепочку с единственной ссылкой на текущую страницу считаю неуместной).

В итоге, получился следующий код:

 if (!empty($urls) && $cur_url != '/') {  foreach ($urls as $key => $value) {  $prev_urls = array();  } } 

Теперь заполним массив url-ов. Для этого добавим в наш цикл ещё один цикл, который будет выполняться для каждого текущего элемента url текущей страницы:

 for ($i = 0; $i <= $key; $i++) {  $prev_urls[] = $urls[$i]; } 

Как видно из кода, для текущего элемента с ключом $key в массив $prev_urls будут записываться url всех предыдущих объектов, которые содержатся в url текущей страницы.

На данном этапе url предыдущих объектов содержатся в виде строковых элементов массива $prev_urls. Для сборки итогового url предшествующей страницы элементы массива нужно соединить слэшом.

Для части url текущей страницы, которая соответствует идентификатору этой же страницы мы url формировать не будем.

Поэтому добавляем во внутренний цикл следующий код:

 if ($key == count($urls) - 1) {  $crumbs[$key]['url'] = ''; } elseif (!empty($prev_urls)) {  $crumbs[$key]['url'] = count($prev_urls) > 1 ? implode('/', $prev_urls) : '/'; } 

На данном этапе наш итоговый массив $crumbs содержит ссылки на родительские элементы иерархии. Например, для страницы «Наши работы» он будет иметь следующий вид:

 Array (   [0] => Array (  [url] => /  )   [1] => Array (  [url] => /services  )   [2] => Array (  [url] =>  )  ) 

Единственное, чего нам не хватает – это названия самих элементов «хлебных крошек». Для этого во внутренний цикл, после формирования url элементов, добавим заполнение массива $prev_urls названиями в следующем виде:

 switch ($value) {  case 'about' : $crumbs[$key]['text'] = 'О нас';  break;   case 'services' : $crumbs[$key]['text'] = 'Услуги';  break;   case 'blog' : $crumbs[$key]['text'] = 'Блог';  break;   case 'contacts' : $crumbs[$key]['text'] = 'Контакты';  break;   case 'portfolio' : $crumbs[$key]['text'] = 'Наши работы';  break;   case 'prices' : $crumbs[$key]['text'] = 'Цены';  break;   default : $crumbs[$key]['text'] = 'Главная страница';  break; } 

Здесь, как видите, на основании url страницы мы прописываем название соответствующему элементу «хлебных крошек».

Да, прописывать для каждого элемента название вручную – не самый хороший вариант. Для небольших сайтов, где ограниченный порядок вложенности страниц (те же самые сайты-визитки или Интернет-магазины с 3-4 категориями) данный вариант будет терпимым.

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

Но, тем не менее, итоговый массив мы получили, который для той же страницы «Наши работы» будет иметь следующий вид:

 Array(   [0] => Array (  [url] => /  => Главная страница  )   [1] => Array (  [url] => /services  => Услуги  )   [2] => Array (  [url] =>  => Наши работы  )  ) 

Осталось теперь только вывести его в шаблоне.

Вывод «хлебных крошек» в шаблоне

Итак, для вывода в шаблоне PHP-массив с «хлебными крошками» сначала нужно передать в HTML-шаблон. Универсальный способ описан в статье по ссылке, однако, в большинстве фреймворков и CMS есть свои механизмы, которые подробно описаны в их документациях.

Также, в зависимости от платформы, вывод в шаблоне массивов может производиться с помощью директив шаблонизаторов или платформенных директив.

Поскольку мы начали писать универсальный код на чистом PHP, который будет работать на любой PHP-базированной платформе, то и вывод в шаблоне мы также будем делать с помощью чистого PHP-скрипта, оформленного внутри директив <?php?>.

Для начала набросаем блок, внутри которого будут содержаться наши «хлебные крошки».

Я решил его оформить с помощью bootstrap-классов, т.к. данная библиотека включена в состав моего шаблона, вам рекомендую поискать подходящие классы в css-файлах ваших движков. Находиться блок будет под заголовком:

 <section class = "title-section">  <h1 class = "title-header"><!--Заголовок--></h1> </section>  <section id = "inner-headline">  <div class = "row">  <div class = "col-lg-12">  <!--Здесь будет код «хлебных крошек»-->  </div>  </div> </section> 

Итак, «хлебные крошки» мы будем делать списком с помощью тега <ul>, элементы которых будут выводиться в виде тегов <li>.

Вывод данных из массива мы будем организовывать внутри цикла, поэтому внутри заготовленного контейнера для «крошек» прописываем:

 <?php if (!empty($crumbs)) { ?>  <ul class="breadcrumb">  <?php foreach ($crumbs as $item) { ?>  <?php if (isset($item)) { ?>  <li>  <a href="<?php echo $item['url'] ?>"><?php echo $item['text'] ?></a>  </li>  <?php } ?>  <?php } ?>  </ul> <?php } ?> 

Как видите, мы выводим все элементы массива с «хлебными крошками» в виде ссылок, задав в качестве url значение элемента массива с индексом ‘url’, а текст – из значения с индексом‘text’.

Смотрим в браузере, что же у нас в итоге получилось:

primer-hlebnyh-kroshek-so-ssylkamiНеплохо, однако последний элемент, соответствующий текущей странице, также оформился в виде ссылки на текущую страницу, хотя у него значение ‘url’ пустое.

С точки зрения SEO, ссылка на странице, ведущая на саму себя, это не есть хорошо, поэтому элемент с пустым ‘url’ оформим в виде обычного текста (собственно говоря, мы его пустым и делали).

Для этого вставим в наш цикл следующую проверку:

 <?php if (!empty($item['url'])) { ?>  <a href="<?php echo $item['url'] ?>"><?php echo $item['text'] ?></a> <?php } else { ?>  <?php echo $item['text'] ?> <?php } ?> 

Теперь наши «хлебные крошки» приобрели требуемый вид:

primer-gotovyh-hlebnyh-kroshekКрайний элемент цепочки, соответствующий текущей странице, некликабельный, а все остальные элементы оформлены в виде ссылок на соответствующие страницы, в чём можно убедиться при наведении на них курсором мышки, как на предыдущем изображении.

Как сделать «хлебные крошки» на PHP – итоговый код

В результате, код, формирующий массив с элементами «хлебных крошек» у нас принял такой вид:

 $cur_url = $_SERVER['REQUEST_URI']; $urls = explode('/', $cur_url);  $crumbs = array();  if (!empty($urls) && $cur_url != '/') {  foreach ($urls as $key => $value) {  $prev_urls = array();  for ($i = 0; $i <= $key; $i++) {  $prev_urls[] = $urls[$i];  }  if ($key == count($urls) - 1)  $crumbs[$key]['url'] = '';  elseif (!empty($prev_urls))  $crumbs[$key]['url'] = count($prev_urls) > 1 ? implode('/', $prev_urls) : '/';   switch ($value) {  case 'about' : $crumbs[$key]['text'] = 'О нас';  break;  case 'services' : $crumbs[$key]['text'] = 'Услуги';  break;  case 'blog' : $crumbs[$key]['text'] = 'Блог';  break;  case 'contacts' : $crumbs[$key]['text'] = 'Контакты';  break;  case 'portfolio' : $crumbs[$key]['text'] = 'Наши работы';  break;  case 'prices' : $crumbs[$key]['text'] = 'Цены';  break;  default : $crumbs[$key]['text'] = 'Главная страница';  break;  }  } } 

Всё, что вам осталось для настройки данного кода на своём сайте – это прописать названия ваших страниц, принимая в качестве их идентификаторов соответствующие части текущего url.

Вообще, справедливости ради, стоит отметить, что рассмотренный нами способ хорошо подойдёт только для небольших сайтов с фиксированным количеством страниц либо для ресурсов, придерживающихся концепции ЧПУ (человеко-понятный url).

ЧПУ-сайты подойдут по той причине, что у них url страниц формируется по принципам, на которых базировался наш алгоритм – все элементы иерархии указываются в url текущей страницы.

Например, к таковым смело можно отнести популярную CMS WordPress, в которой ЧПУ идёт «из коробки».

К плюсам движков относится ещё и хранение информации о страницах в базе данных сайта, т.е. при формировании «хлебных крошек» не будет необходимости прописывать название элемента в зависимости от его url, как мы это делали в нашем примере.

Достаточно будет всего лишь достать название из БД.

Там же, в соответствующих таблицах БД хранятся связи между страницами сайта, в которых, как правило, для страниц указываются id их родительских элементов.

В таком случае, даже нет необходимости опираться на url текущей страницы и парсить его. Достаточно будет запросить из БД список всех родительских элементов текущей страницы и вывести их названия и url (также хранятся в БД) в виде «хлебных крошек».

Такой подход очень распространён в не-ЧПУ платформах, а также в проектах, где формирование текущего url происходит не добавлением родительских категорий в url, а иными способами.

К примеру, рассмотрим «коробочный» способ формирования url страниц в популярной CMS для Интернет-магазинов OpenCart:

hlebnye-kroshki-url-opencartКак видите, url не ЧПУ, т.е. в нём не присутствует никаких понятных человеку названий, только идентификаторы категории и товара, по которым можно уже достать из БД информацию о соответствующих страницах, предварительно произведя парсинг url с целью их извлечения.

Но, если в этом случае парсинг url ещё хоть как-то может быть оправдан, то в случае с OZON данные действия будут пустой тратой времени и сил, т.к. в url-е страниц нет никаких ссылок на родительские элементы:

hlebnye-kroshki-i-primer-url-ozonТут url, кстати, тоже не ЧПУ, поэтому единственный способ получения родительских элементов – это прямые запросы в БД с целью формирования «хлебных крошек», с которыми у OZON, несмотря на все особенности url, всё ОК 🙂

Вывод же полученного массива «хлебных крошек» в шаблоне для всех платформ будет одинаковым и осуществляться с помощью следующего итогового кода:

 <?php if (!empty($crumbs)) { ?>  <section id="inner-headline">  <div class="row">  <div class="col-lg-12">  <ul class="breadcrumb">  <?php foreach ($crumbs as $item) { ?>  <?php if (isset($item)) { ?>  <li>  <?php if (!empty($item['url'])) { ?>  <a href="<?php echo $item['url'] ?>"><?php echo $item['text'] ?></a>  <?php } else { ?>  <?php echo $item['text'] ?>  <?php } ?>  </li>  <?php } ?>  <?php } ?>  </ul>  </div>  </div>  </section> <?php } ?> 

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

Можете не выводить некликабельное наименование текущего элемента или не включать ссылку на главную страницу, т.к. она всё равно будет присутствовать у вас на странице вокруг логотипа сайта, как это обычно делается.

По всем вопросам настроек для вашего сайта и по поводу, как сделать «хлебные крошки» для различных CMS в целом пишите в комментариях под статьёй – ни один отзыв не останется без внимания.

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

На этом на сегодня всё. Жду ваших отзывов.

До новых встреч и удачи вам в сайтостроении 🙂

cccp-blog.com


You May Also Like

About the Author: admind

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Adblock
detector