Что такое хлебные крошки в программировании
Перейти к содержимому

Что такое хлебные крошки в программировании

  • автор:

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

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

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

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

true_breadcrumbs();

Понятно, что не спешите сохранять файл (особенно не на тестовом сайте), ведь этой функции у вас сейчас нет и вы столкнётесь с ошибкой 500.

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

Теперь распишем саму функцию, сразу говорю, готовьтесь, что будет много кода.

Дело в том, что я выкладываю полностью законченный и 100% рабочий вариант. Здесь учтены все типы страниц, которые только могут быть на WordPress: посты, страницы, вложенные страницы(поддерживается любое количество уровней вложенности), рубрики, подрубрики (неограниченное количество вложений), теги, архивы, страницы поиска, страницы с записями какого-либо одного автора.

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

function true_breadcrumbs(){ // получаем номер текущей страницы $page_num = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; $separator = ' / '; // разделяем обычным слэшем, но можете чем угодно другим // если главная страница сайта if( is_front_page() ){ if( $page_num > 1 ) { echo ' . site_url() . '">Главная' . $separator . $page_num . '-я страница'; } else { echo 'Вы находитесь на главной странице'; } } else { // не главная echo ' . site_url() . '">Главная' . $separator; if( is_single() ){ // записи the_category( ', ' ); echo $separator; the_title(); } elseif ( is_page() ){ // страницы WordPress the_title(); } elseif ( is_category() ) { single_cat_title(); } elseif( is_tag() ) { single_tag_title(); } elseif ( is_day() ) { // архивы (по дням) echo ' . get_year_link( get_the_time( 'Y' ) ) . '">' . get_the_time( 'Y' ) . '' . $separator; echo ' . get_month_link( get_the_time( 'Y' ), get_the_time( 'm' ) ) . '">' . get_the_time( 'F' ) . '' . $separator; echo get_the_time('d'); } elseif ( is_month() ) { // архивы (по месяцам) echo ' . get_year_link( get_the_time( 'Y' ) ) . '">' . get_the_time( 'Y' ) . '' . $separator; echo get_the_time('F'); } elseif ( is_year() ) { // архивы (по годам) echo get_the_time( 'Y' ); } elseif ( is_author() ) { // архивы по авторам global $author; $userdata = get_userdata( $author ); echo 'Опубликовал(а) ' . $userdata->display_name; } elseif ( is_404() ) { // если страницы не существует echo 'Ошибка 404'; } if ( $page_num > 1 ) { // номер текущей страницы echo ' (' . $page_num . '-я страница)'; } } }
  • 4 – при помощи get_query_var() мы определяем, находимся ли мы на странице постраничной навигации, знаю, что это можно сделать при помощи is_paged(), но нам же ведь ещё и номер страницы понадобится.
  • 6 – разделитесь между ссылками в хлебных я решил записать в переменную, вы можете использовать что угодно, например стрелки → → , запись его в переменную позволит нам быстро его поменять, если захотим.
  • 9 – функция, а точнее условный тег is_front_page() возвращает true , если мы находимся на главной странице, вне зависимости от того, какую роль она выполняет.
  • 12 , 19 – функция site_url() динамически возвращает ссылку на главную страницу сайта.
  • is_single(), is_page(), is_category(), is_tag(), is_day(), is_month(), is_year(), is_author(), is_404() – различные условные теги, позволяющие легко определить, на каком типе страницы мы в данный момент находимся.
  • 25 – я использовал функцию the_category() для вывода списка рубрик для текущей записи через запятую. Обратите внимание, что эта функция не распределяет рубрики в зависимости от их иерархии. О том, как вывести их с соблюдением порядка иерархии, читайте ниже.
  • 25 , 29 – функция the_title() отлично подходит для того, чтобы вывести заголовок текущей записи, страницы или записи произвольного типа.
  • single_cat_title() и single_tag_title() – для вывода название текущей рубрики или метки соответственно.

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

Возможно вы заметили, что Страницы WordPress – это иерархичный тип записи, другими словами – Страница может иметь дочерние страницы, причем несколько штук и нескольких уровней.

Это можно хорошо наблюдать в метабоксе Атрибуты страницы:

Выбор родительской страницы в WordPress

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

global $post; // если у текущей страницы существует родительская if ( $post->post_parent ) { $parent_id = $post->post_parent; // присвоим в переменную $breadcrumbs = array(); while ( $parent_id ) { $page = get_page( $parent_id ); $breadcrumbs[] = ' . get_permalink( $page->ID ) . '">' . get_the_title( $page->ID ) . ''; $parent_id = $page->post_parent; } echo join( $separator, array_reverse( $breadcrumbs ) ) . $separator; }

То есть вставляете этот код на 27-й строчке ничего не удаляя из первоначального кода.

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

В архивах рубрик

Тут ситуация похожа на ситуацию со страницами, но проще, так как существует функция get_category_parents().

$current_cat = get_queried_object(); // если родительская рубрика существует if( $current_cat->parent ) { echo get_category_parents( $current_cat->parent, true, $separator ) . $separator; }

На страницах записей

Как я уже написал выше, наша функция the_category() не справляется с тем, чтобы вывести рубрики с учетом их иерархичности. Давайте попробуем разобраться, что с этим можно поделать.

Тут есть некоторые тонкости, но смотрите, есть очень классный способ, как можно это всё разрулить!

Прежде всего, обратите внимание, как вы добавляете пост в категории. Нам подходит:

Добавляем только дочернюю рубрику при редактировании записи

добавление и дочерней и родительской рубрики при редактировании записи

После этого можно спокойно использовать функцию get_category_parents():

$post_categories = get_the_category(); // это и будет наша единственная рубрика, присвоенная к посту if( ! empty( $post_categories[0]->cat_ID ) ) { echo get_category_parents( $post_categories[0]->cat_ID, true, $separator ) . $separator; } the_title();

Произвольными типы постов и их таксономии в хлебных крошках с учётом иерархии

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

Хлебные крошки для архивов таксономии

Если без иерархии:

if( is_tax( $taxonomy_name ) ) { single_term_title(); // название текущего элемента таксономии }
if( is_tax( $taxonomy_name ) ) { $current_term = get_queried_object(); // если родительский элемент таксономии существует if( $current_term->parent ) { echo get_term_parents_list( $current_term->parent, $taxonomy_name, array( 'separator' => $separator ) ) . $separator; } single_term_title(); }

Хлебные крошки для произвольных типов постов

Если мы вообще не хотим отображать никаких таксономий, то наш пример становится очень похож на пример с обычными Страницами:

if( is_singular( $post_type_name ) ) { the_title(); }

В случае, если нам нужно также добавить какую-то произвольную таксономию:

if( is_singular( $post_type_name ) ) { $post_terms = get_the_terms( get_the_ID(), $taxonomy_name ); if( ! empty( $post_terms[0]->term_id ) ) { echo get_term_parents_list( $post_terms[0]->term_id, $taxonomy_name, array( 'separator' => $separator ) ) . $separator; } the_title(); }

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

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Компьютерные «Хлебные крошки»

1

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

Что означает этот термин?

— «Breadcrumb, navigation, breadcrumb trails» или «Хлебные крошки» — все эти термины, на языке программистов, обозначают элемент интерфейса, упрощающий пользователям работу с контентом сайта.Расположением «крошек» формируется удобство возможности использования (юзабилити), простота и доступность работы с ресурсом. Посетитель сайта всегда знает, на каком уровне структуры сайта он находится, понимает — как ориентироваться в его разделах, где и каким образом он получит необходимую информацию. На деле «Хлебные крошки» представляют собою стандартную систему ориентировочных ссылок связывающих главную страницу со всеми разделами, разделы с подразделами, подразделы с конечными информационными блоками.

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

Виды элементов интерфейса в системах навигации

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

В европейских системах навигации поиск может быть выстроен по следующим принципам:

  • Пошаговый (Path breadcrumbs) – сохраняет для пользователя весь путь движения к требуемой информации. Где опора на элементы интерфейса будет зависеть от маршрута движения пользователя к конечной точке. Основной недостаток такой навигации заключается в характере сотрудничества структуры сайта с поисковыми системами. Попадая на конечную страницу через поисковые системы — пользователь не обнаружит «Хлебных крошек», единственная «крошка» будет связывать его только с поисковиком;
  • Линейный (Location breadcrumbs) – выводит пользователя на структуру сайта, представленную в виде цепи элементов связывающих основную страницу с искомым разделом (без «крошек» вне тематики запроса);
  • — Облачный (Attribute breadcrumbs) – наиболее удобная навигация. Вычленяет наиболее соответствующие запросу категории меток по всей структуре страницы.

Необходимость использования в навигации

2

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

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

Расположение вверху удобно и практично, к тому же пользователю сразу ясно в каком направлении начинать поиск!

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

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

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

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

  • Вы здесь:
  • Главная
  • Интересное
  • Разработка сайтов
  • Компьютерные «Хлебные крошки»

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

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

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

Пример Хлебных крошек

Хлебные крошки выполняют ряд важных функций:

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

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

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

  • Хлебные крошки должны содержать все промежуточные страницы.
  • Если в хлебных крошках отображается текущая страница последним элементом, она не должна содержать ссылку сама на себя.
    ( > > Хлебные крошки)
  • Для отображения навигационной цепочки на странице результатов поиска Google необходимо выполнить микроразметку хлебных крошек.

Микроразметка хлебных крошек

Микроразметка осуществляется путем добавления специальных HTML-тегов, которые сообщают поисковым роботам к какому типу контента относится элемент.

Поддерживаемые Google форматы микроразметки:

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

itemscope itemtype=http://schema.org/BreadcrumbList говорит о том, что элемент относится к хлебным крошкам и состоит из цепочки связанных веб страниц.

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

  • itemprop=»itemListElement» itemscope itemtype=»http://schema.org/ListItem — означает , что элемент относится к отдельному пункту списка;
  • itemprop=»item» — для разметки ссылки;
  • itemprop=»name»> — у тега с названием хлебной крошки;
  • В конце блока хлебной крошки добавляем , который определяет позицию элемента в навигационной цепочке.

Существует известная проблема в том, что валидатор микроразметки выдает предупреждение, когда в коде нет атрибута itemprop=»item» у последнего элемента хлебной крошки. Это возникает из-за отсутствия ссылки у данного элемента.

Как реагирует валидатор

Но это не мешает поисковой системе Google корректно выстраивать цепочку ссылок в сниппете.

Участие крошек в формировании сниппета

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

Хлебные крошки на сайте: что это такое

Хлебные крошки на сайте: что это такое

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

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

Понятие, хлебные крошки – это маршрут пользователя на сайте, начиная со страницы, на которой он оказался в результате перехода по ссылке, заканчивая страницей, где он остановился, после чего покинул сайт. Услышав этот термин, трудно поверить, что это понятие как-то связано с SEO продвижением и оптимизацией сайта, но его происхождение имеет в себе логическое объяснение. Что такое хлебные крошкиВспомните сказку «Гензель и Гретель», а именно эпизод, когда дети пошли в лес, за собой они выкладывали путь из хлебных крошек. Вот и сайтом так же. Замечали, что когда заходите на какой-либо сайт или интернет-магазин, каждый раз совершая действие, он, так сказать, запоминает и «прокладывает» дорогу Ваших действий, дабы Вы смогли вернутся обратно. Это как своеобразный навигатор на сайте. Что такое хлебные крошки (Breadcrumb)

Для чего нужны хлебные крошки

Для чего нужны хлебные крошки

Хлебные крошки для того и нужны, дабы пользователь не заблудился на сайте, особенно если это сайт агентства продвижения сайта в топ Яндекса, где большое количество различных вкладок с услугами и прайс-листами. Чтобы люди, посетившие сайт могли видеть где они находятся и как вернуться на предыдущий раздел, или же на главную страницу. Так же, за счёт внедрения хлебных крошек у сайта повышается юзабилити, что приносит дополнительное преимущество и поисковые системы больше помогают продвинуться таким, удобным для пользователя сайтам, порой, не обращаясь к услугам SMM таргетолога или специалистов по настройке различных рекламных компаний. Улучшение юзабилити сайта, как известно, положительно влияет на SEO-продвижение сайта, тем, что с помощью хлебных крошек можно делать перелинковку ссылок на отдельные страницы или товары и услуги, как это делаем мы в своих статьях, вставляя ссылки в текст. Ещё одно большое преимущество хлебных крошек, о котором мы уже говорили – удобство на сайте, за счёт которого увеличивается глубина просмотра сайта пользователем и переход внутри сайта, что так же улучшает рейтинг сайта и поднимает его всё выше и выше к топу, а то и вообще в топ, только за счёт правильного формирования хлебных крошек. Вообще, хлебные крошки могут иметь абсолютно разный вид: числовой, текстовый, разноязыковой и даже с помощью эмоджи. Если мы говорим об интернет-магазинах, то здесь путь будет виден к каждому товару, как правило это выглядит так: каталог – название товара. И при переходе от одного товара к другому открываются всё новые и новые вкладки. Но не нужно этим злоупотреблять, дабы не запутать пользователя и не раздражать его. Представьте, Вам одновременно интересны несколько единиц, а то и десятков товаров, особенно если речь идёт об оптовых закупках и с каждый открытием карточки товара появляются всё новые и новые вкладки – это не только может запутать, но и раздражать, так как чем больше вкладок, тем меньше названия вкладки «TITLE» видно пользователю.

Статьи

Обходить сеть позволяет программа Virtual Private Network (VPN). Что это такое и как пользоваться данным сервисом, расскажем в данной статье.

Таргетолог это что за профессия простыми словами

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

Что такое хайп в молодежном сленге простыми словами

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

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

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