Ищем путь по хлебным крошкам

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

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

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

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

2. Перелинковка сайта для лучшей индексации всех вложенных страниц.

Ищем путь по хлебным крошкам

Строятся хлебные крошки следующим образом:

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

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

Плагин, чтобы разместить хлебные крошки на сайт

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

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

Для противников плагинов привожу пример установки хлебных крошек без него.

Итак, добавляем в functions.php

function dimox_breadcrumbs() {
 
  $showOnHome = 0; // 1 - show breadcrumbs on the homepage, 0 - don't show
  $delimiter = '»'; // delimiter between crumbs
  $home = 'Home'; // text for the 'Home' link
  $showCurrent = 1; // 1 - show current post/page title in breadcrumbs, 0 - don't show
  $before = ''; // tag before the current crumb
  $after = ''; // tag after the current crumb
 
  global $post;
  $homeLink = get_bloginfo('url');
 
  if (is_home() || is_front_page()) {
 
    if ($showOnHome == 1) echo '' . $home . '';
 
  } else {
 
    echo '' . $home . ' ' . $delimiter . ' ';
 
    if ( is_category() ) {
      global $wp_query;
      $cat_obj = $wp_query->get_queried_object();
      $thisCat = $cat_obj->term_id;
      $thisCat = get_category($thisCat);
      $parentCat = get_category($thisCat->parent);
      if ($thisCat->parent != 0) echo(get_category_parents($parentCat, TRUE, ' ' . $delimiter . ' '));
      echo $before . 'Archive by category "' . single_cat_title('', false) . '"' . $after;
 
    } elseif ( is_day() ) {
      echo '' . get_the_time('Y') . ' ' . $delimiter . ' ';
      echo '' . get_the_time('F') . ' ' . $delimiter . ' ';
      echo $before . get_the_time('d') . $after;
 
    } elseif ( is_month() ) {
      echo '' . get_the_time('Y') . ' ' . $delimiter . ' ';
      echo $before . get_the_time('F') . $after;
 
    } elseif ( is_year() ) {
      echo $before . get_the_time('Y') . $after;
 
    } elseif ( is_single() && !is_attachment() ) {
      if ( get_post_type() != 'post' ) {
        $post_type = get_post_type_object(get_post_type());
        $slug = $post_type->rewrite;
        echo '' . $post_type->labels->singular_name . ' ' . $delimiter . ' ';
        if ($showCurrent == 1) echo $before . get_the_title() . $after;
      } else {
        $cat = get_the_category(); $cat = $cat[0];
        echo get_category_parents($cat, TRUE, ' ' . $delimiter . ' ');
        if ($showCurrent == 1) echo $before . get_the_title() . $after;
      }
 
    } elseif ( !is_single() && !is_page() && get_post_type() != 'post' && !is_404() ) {
      $post_type = get_post_type_object(get_post_type());
      echo $before . $post_type->labels->singular_name . $after;
 
    } elseif ( is_attachment() ) {
      $parent = get_post($post->post_parent);
      $cat = get_the_category($parent->ID); $cat = $cat[0];
      echo get_category_parents($cat, TRUE, ' ' . $delimiter . ' ');
      echo '' . $parent->post_title . ' ' . $delimiter . ' ';
      if ($showCurrent == 1) echo $before . get_the_title() . $after;
 
    } elseif ( is_page() && !$post->post_parent ) {
      if ($showCurrent == 1) echo $before . get_the_title() . $after;
 
    } elseif ( is_page() && $post->post_parent ) {
      $parent_id  = $post->post_parent;
      $breadcrumbs = array();
      while ($parent_id) {
        $page = get_page($parent_id);
        $breadcrumbs[] = '' . get_the_title($page->ID) . '';
        $parent_id  = $page->post_parent;
      }
      $breadcrumbs = array_reverse($breadcrumbs);
      foreach ($breadcrumbs as $crumb) echo $crumb . ' ' . $delimiter . ' ';
      if ($showCurrent == 1) echo $before . get_the_title() . $after;
 
    } elseif ( is_search() ) {
      echo $before . 'Search results for "' . get_search_query() . '"' . $after;
 
    } elseif ( is_tag() ) {
      echo $before . 'Posts tagged "' . single_tag_title('', false) . '"' . $after;
 
    } elseif ( is_author() ) {
       global $author;
      $userdata = get_userdata($author);
      echo $before . 'Articles posted by ' . $userdata->display_name . $after;
 
    } elseif ( is_404() ) {
      echo $before . 'Error 404' . $after;
    }
 
    if ( get_query_var('paged') ) {
      if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ' (';
      echo __('Page') . ' ' . get_query_var('paged');
      if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ')';
    }
 
    echo '';
 
  }
} // end dimox_breadcrumbs()

А в место вывода панели навигации — следующий:

За код вставки панели хлебные крошки спасибо сайту dimox.net

Оцените статью