Breadcrumb navxt


Вы наверняка уже знакомы с понятием «Хлебные крошки» в веб-разработке и возможно даже приходилось реализовывать эти самые «крошки» на WordPress.

Выглядят «хлебные крошки» так:

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

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

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

Функция будет показывать «хлебные крошки» для страниц следующих типов:

  • Главная страница;
  • Постоянная страница;
  • Страница любого древовидного типа записи;
  • Страница поста;
  • Страница вложения (учитывается прикреплено вложение к записи или нет);
  • Любой не древовидный тип записи (прикрепленный к любой таксономии, например, к стандартным «рубрикам»);
  • Страница рубрики;
  • Страница меток;
  • Страница таксономии (как древовидной, так и одноуровневой (метки));
  • Страницы архивов по датам, авторам;
  • Страница пагинации для всех типов где предусмотрена пагинация
    (отображается как: Главная » Рубрика » Страница 2,3,4).
  • Поддерживает микроразметку. Инструменты для проверки: для Яндекса и для Google.

Из особенностей, которые я не встретил в аналогичных функциях представленных в сети, стоит отметить правильный показ «хлебных крошек» для произвольных типов записей и произвольных таксономий, также в аналогах страница пагинации отображалась как, например, «Рубрика (страница 2)», а не «Рубрика > Страница 2», что, на мой взгляд, неправильно.

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

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


Также, я старался написать как можно менее прожорливый вариант функции.

Что касается плагина Breadcrumb NavXT, который повсеместно рекомендуется для вывода «хлебных крошек» — он мне не понравился из-за своей громоздкости. Моя функция не хуже, а в чем-то даже лучше: за счет функциональности, компактности и местами быстродействия!

Также функция поддерживает микроразметки: schema.org или RDF, смотрите параметр ‘markup’.

меню

Функция «хлебных крошек» для WordPress

<?php  /**  * Хлебные крошки для WordPress (breadcrumbs)  *  * @param string [$sep = ''] Разделитель. По умолчанию ' » '  * @param array [$l10n = array()] Для локализации. См. переменную $default_l10n.  * @param array [$args = array()] Опции. См. переменную $def_args  * @return string Выводит на экран HTML код  *  * version 3.3.2  */ function kama_breadcrumbs( $sep = ' » ', $l10n = array(), $args = array() ){ 	$kb = new Kama_Breadcrumbs; 	echo $kb->get_crumbs( $sep, $l10n, $args ); }  class Kama_Breadcr.  

lt;b>%3$s</b>', // tax_tag выведет: 'тип_записи из "название_таксы" по тегу: имя_термина'. // Если нужны отдельные холдеры, например только имя термина, пишем так: 'записи по тегу: %3$s' ); // Параметры по умолчанию static $args = array( 'on_front_page' => true, // выводить крошки на главной странице 'show_post_title' => true, // показывать ли название записи в конце (последний элемент). Для записей, страниц, вложений 'show_term_title' => true, // показывать ли название элемента таксономии в конце (последний элемент). Для меток, рубрик и других такс 'title_patt' => '<span class="kb_title">%s</span>', // шаблон для последнего заголовка. Если включено: show_post_title или show_term_title 'last_sep' => true, // показывать последний разделитель, когда заголовок в конце не отображается 'markup' => 'schema.org', // 'markup' - микроразметка. Может быть: 'rdf.data-vocabulary.org', 'schema.org', '' - без микроразметки // или можно указать свой массив разметки: // array( 'wrappatt'=>'<div class="kama_breadcrumbs">%s</div>', 'linkpatt'=>'<a href="%s">%s</a>', 'sep_after'=>'', ) 'priority_tax' => array('category'), // приоритетные таксономии, нужно когда запись в нескольких таксах 'priority_terms' => array(), // 'priority_terms' - приоритетные элементы таксономий, когда запись находится в нескольких элементах одной таксы одновременно.

// Например: array( 'category'=>array(45,'term_name'), 'tax_name'=>array(1,2,'name') ) // 'category' - такса для которой указываются приор. элементы: 45 - ID термина и 'term_name' - ярлык. // порядок 45 и 'term_name' имеет значение: чем раньше тем важнее. Все указанные термины важнее неуказанных... 'nofollow' => false, // добавлять rel=nofollow к ссылкам? // служебные 'sep' => '', 'linkpatt' => '', 'pg_end' => '', ); function get_crumbs( $sep, $l10n, $args ){ global $post, $wp_query, $wp_post_types; self::$args['sep'] = $sep; // Фильтрует дефолты и сливает $loc = (object) array_merge( apply_filters('kama_breadcrumbs_default_loc', self::$l10n ), $l10n ); $arg = (object) array_merge( apply_filters('kama_breadcrumbs_default_args', self::$args ), $args ); $arg->sep = '<span class="kb_sep">'. $arg->sep .'</span>'; // дополним // упростим $sep = & $arg->sep; $this->arg = & $arg; // микроразметка --- if(1){ $mark = & $arg->markup; // Разметка по умолчанию if( ! $m.

=> '</span>', // закрываем span после разделителя! ); // schema.org elseif( $mark === 'schema.org' ) $mark = array( 'wrappatt' => '<div class="kama_breadcrumbs" itemscope itemtype="http://schema.org/BreadcrumbList">%s</div>', 'linkpatt' => '<span itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a href="%s" itemprop="item"><span itemprop="name">%s</span></a></span>', 'sep_after' => '', ); elseif( ! is_array($mark) ) die( __CLASS__ .': "markup" parameter must be array...'); $wrappatt = $mark['wrappatt']; $arg->linkpatt = $arg->nofollow ? str_replace('<a ','<a rel="nofollow"', $mark['linkpatt']) : $mark['linkpatt']; $arg->sep .= $mark['sep_after']."n"; } $linkpatt = $arg->linkpatt; // упростим $q_obj = get_queried_object(); // может это архив пустой таксы? $ptype = null; if( empty($post) ){ if( isset($q_obj->taxonomy) ) $ptype = & $wp_post_types[ get_taxonomy($q_obj->taxonomy)->object_type[0] ]; } else $ptype = & $wp_post_types[ $post->post_type ]; // paged $arg->pg_end = ''; if( ($paged_num = get_query_var('paged')) || ($paged_num = get_query_var('page')) ) $arg->pg_end = $sep .

rintf( $loc->paged, (int) $paged_num ); $pg_end = $arg->pg_end; // упростим // ну, с богом... $out = ''; if( is_front_page() ){ return $arg->on_front_page ? sprintf( $wrappatt, ( $paged_num ? sprintf($linkpatt, get_home_url(), $loc->home) . $pg_end : $loc->home ) ) : ''; } // страница записей, когда для главной установлена отдельная страница. elseif( is_home() ) { $out = $paged_num ? ( sprintf( $linkpatt, get_permalink($q_obj), esc_html($q_obj->post_title) ) . $pg_end ) : esc_html($q_obj->post_title); } elseif( is_404() ){ $out = $loc->_404; } elseif( is_search() ){ $out = sprintf( $loc->search, esc_html( $GLOBALS['s'] ) ); } elseif( is_author() ){ $tit = sprintf( $loc->author, esc_html($q_obj->display_name) ); $out = ( $paged_num ? sprintf( $linkpatt, get_author_posts_url( $q_obj->ID, $q_obj->user_nicename ) . $pg_end, $tit ) : $tit ); } elseif( is_year() || is_month() || is_day() ){ $y_url = get_year_link( $year = get_the_time('Y') ); if( is_year() ){ $tit = sprintf( $loc->year, $year ); $out = ( $paged_num ? sprintf($linkpatt, $y_url, $tit) . $pg_end : $tit ); } // month day else { $y_link = sprintf( $linkpatt, $y_url, $year); $m_url = get_month_link( $year, get_the_time('m') ); if( is_month() ){ $tit = sprintf( $loc->month, get_the_time('F') ); $out = $y_link .

ep . ( $paged_num ? sprintf( $linkpatt, $m_url, $tit ) . $pg_end : $tit ); } elseif( is_day() ){ $m_link = sprintf( $linkpatt, $m_url, get_the_time('F')); $out = $y_link . $sep . $m_link . $sep . get_the_time('l'); } } } // Древовидные записи elseif( is_singular() && $ptype->hierarchical ){ $out = $this->_add_title( $this->_page_crumbs($post), $post ); } // Таксы, плоские записи и вложения else { $term = $q_obj; // таксономии // определяем термин для записей (включая вложения attachments) if( is_singular() ){ // изменим $post, чтобы определить термин родителя вложения if( is_attachment() && $post->post_parent ){ $save_post = $post; // сохраним $post = get_post($post->post_parent); } // учитывает если вложения прикрепляются к таксам древовидным - все бывает 🙂 $taxonomies = get_object_taxonomies( $post->post_type ); // оставим только древовидные и публичные, мало ли... $taxonomies = array_intersect( $taxonomies, get_taxonomies( array('hierarchical' => true, 'public' => true) ) ); if( $taxonomies ){ // сортируем по приоритету if( ! empty($arg->priority_tax) ){ usort( $taxonomies, function($a,$b)use($arg){ $a_index = array_search($a, $arg->priority_tax); if( $a_index === false ) $a_index = 9999999; $b_inde.

$prior_terms && count($terms) > 2 ){ foreach( (array) $prior_terms as $term_id ){ $filter_field = is_numeric($term_id) ? 'term_id' : 'slug'; $_terms = wp_list_filter( $terms, array($filter_field=>$term_id) ); if( $_terms ){ $term = array_shift( $_terms ); break; } } } else $term = array_shift( $terms ); break; } } } if( isset($save_post) ) $post = $save_post; // вернем обратно (для вложений) } // вывод // все виды записей с терминами или термины if( $term && isset($term->term_id) ){ $term = apply_filters('kama_breadcrumbs_term', $term ); // attachment if( is_attachment() ){ if( ! $post->post_parent ) $out = sprintf( $loc->attachment, esc_html($post->post_title) ); else { if( ! $out = apply_filters('attachment_tax_crumbs', '', $term, $this ) ){ $_crumbs = $this->_tax_crumbs( $term, 'self' ); $parent_t.

elseif( ! is_taxonomy_hierarchical($term->taxonomy) ){ // метка if( is_tag() ) $out = $this->_add_title('', $term, sprintf( $loc->tag, esc_html($term->name) ) ); // такса elseif( is_tax() ){ $post_label = $ptype->labels->name; $tax_label = $GLOBALS['wp_taxonomies'][ $term->taxonomy ]->labels->name; $out = $this->_add_title('', $term, sprintf( $loc->tax_tag, $post_label, $tax_label, esc_html($term->name) ) ); } } // древовидная такса (рибрики) else { if( ! $out = apply_filters('term_tax_crumbs', '', $term, $this ) ){ $_crumbs = $this->_tax_crumbs( $term, 'parent' ); $out = $this->_add_title( $_crumbs, $term, esc_html($term->name) ); } } } // влоежния от записи без терминов elseif( is_attachment() ){ $parent = get_post($post->post_parent); $parent_link = sprintf( $linkpatt, get_permalink($parent), esc_html($parent->post_title) ); $_out = $parent_link; // вложение от записи д.

sep, $ptype ); if( '' === $home_after ){ // Ссылка на архивную страницу типа записи для: отдельных страниц этого типа; архивов этого типа; таксономий связанных с этим типом. if( $ptype && $ptype->has_archive && ! in_array( $ptype->name, array('post','page','attachment') ) && ( is_post_type_archive() || is_singular() || (is_tax() && in_array($term->taxonomy, $ptype->taxonomies)) ) ){ $pt_title = $ptype->labels->name; // первая страница архива типа записи if( is_post_type_archive() && ! $paged_num ) $home_after = sprintf( $this->arg->title_patt, $pt_title ); // singular, paged post_type_archive, tax else{ $home_after = sprintf( $linkpatt, get_post_type_archive_link($ptype->name), $pt_title ); $home_after .= ( ($paged_num && ! is_tax()) ? $pg_end : $sep ); // пагинация } } } $before_out = sprintf( $linkpatt, home_url(), $loc->home ) . ( $home_after ? $sep.$home_after : ($out ? $sep : '') ); $out = apply_filters('kama_breadcrumbs_pre_out', $out, $sep, $loc, $arg ); $out = sprintf( $wrappatt, $before_out . $out ); return apply_filters('kama_breadcrumbs', $out, $sep, $loc, $arg ); } function _page_crumbs( $post ){ $parent = $post->post_parent; $crumbs = array(); while( $parent ){ $page = get_post( $parent ); $crumbs[] = sprintf( $this->arg->linkpatt, get_permalink($page), esc_html($page->post_title) ); $parent = $page->post_parent; } return implode( $this->arg->sep, array_reverse($crumbs) ); } function _tax_crumbs( $term, $start_from = 'self' ){ $termlinks = array(); $term_id = ($start_from === 'parent') ? $term->parent : $term->term_id; while( $term_id ){ $term = get_term( $term_id, $term->taxonomy ); $termlinks[] = sprintf( $this->arg->linkpatt, get_term_link($term), esc_html($term->name) ); $term_id = $term->parent; } if( $termlinks ) return implode( $this->arg->sep, array_reverse($termlinks) ) /*. $this->arg->sep*/; return ''; } // добалвяет заголовок к переданному тексту, с учетом всех опций. Добавляет разделитель в начало, если надо. function _add_title( $add_to, $obj, $term_title = '' ){ $arg = & $this->arg; // упростим... $title = $term_title ? $term_title : esc_html($obj->post_title); // $term_title чиститься отдельно, теги моугт быть... $show_title = $term_title ? $arg->show_term_title : $arg->show_post_title; // пагинация if( $arg->pg_end ){ $link = $term_title ? get_term_link($obj) : get_permalink($obj); $add_to .= ($add_to ? $arg->sep : '') . sprintf( $arg->linkpatt, $link, $title ) . $arg->pg_end; } // дополняем - ставим sep elseif( $add_to ){ if( $show_title ) $add_to .= $arg->sep . sprintf( $arg->title_patt, $title ); elseif( $arg->last_sep ) $add_to .= $arg->sep; } // sep будет потом... elseif( $show_title ) $add_to = sprintf( $arg->title_patt, $title ); return $add_to; } } /** * Изменения: * 3.3 - новые хуки: attachment_tax_crumbs, post_tax_crumbs, term_tax_crumbs. Позволяют дополнить крошки таксономий. * 3.2 - баг с разделителем, с отключенным 'show_term_title'. Стабилизировал логику. * 3.1 - баг с esc_html() для заголовка терминов - с тегами получалось криво... * 3.0 - Обернул в класс. Добавил опции: 'title_patt', 'last_sep'. Доработал код. Добавил пагинацию для постов. * 2.5 - ADD: Опция 'show_term_title' * 2.4 - Мелкие правки кода * 2.3 - ADD: Страница записей, когда для главной установлена отделенная страница. * 2.2 - ADD: Link to post type archive on taxonomies page * 2.1 - ADD: $sep, $loc, $args params to hooks * 2.0 - ADD: в фильтр 'kama_breadcrumbs_home_after' добавлен четвертый аргумент $ptype * 1.9 - ADD: фильтр 'kama_breadcrumbs_default_loc' для изменения локализации по умолчанию * 1.8 - FIX: заметки, когда в рубрике нет записей * 1.7 - Улучшена работа с приоритетными таксономиями. */

Вставлять этот код нужно в файл шаблона functions.php или непосредственно в тот файл где вызывается функция.

Вызывать функцию нужно в шаблоне, в том месте, где должны выводится крошки, так:

<?php if( function_exists('kama_breadcrumbs') ) kama_breadcrumbs(); ?>

Если нужно поменять разделитель между ссылками, укажите первый параметр:

<?php if( function_exists('kama_breadcrumbs') ) kama_breadcrumbs(' » '); ?>

меню

Примеры использование фильтров

#1 Установка параметров через фильтр

Измени дефолтные параметры через фильтр

add_filter('kama_breadcrumbs_default_args', function($args){ 	$args['on_front_page'] = 0; 	$args['show_post_title'] = ''; 	$args['priority_tax'] = array('mytax'); 	return $args; } );

Если установить параметры при вызове функции в третьем аргументе функции, то они перебьют параметры указанные в фильтре…

#3 Пример перевода крошек на английский

Эти примеры показывают как перевести крошки на нужный язык или просто изменить дефолтные значения:

Вариант 1

При вызове функции нужно указать строки локализации так:

// Локализация if( function_exists('kama_breadcrumbs') ){  	$myl10n = array( 		'home' => 'Front page', 		'paged' => 'Page %d', 		'_404' => 'Error 404', 		'search' => 'Search results by query - <b>%s</b>', 		'author' => 'Author archve: <b>%s</b>', 		'year' => 'Archive by <b>%d</b> год', 		'month' => 'Archive by: <b>%s</b>', 		'day' => '', 		'attachment' => 'Media: %s', 		'tag' => 'Posts by tag: <b>%s</b>', 		'tax_tag' => '%1$s from "%2$s" by tag: <b>%3$s</b>', 		// tax_tag выведет: 'тип_записи из "название_таксы" по тегу: имя_термина'.  		// Если нужны отдельные холдеры, например только имя термина, пишем так: 'записи по тегу: %3$s' 	);  	kama_breadcrumbs(' » ', $myl10n );  }
Вариант 2

C версии 1.9. Можно использовать хук kama_breadcrumbs_default_loc, чтобы для каждого вызова одно и тоже не указывать. Для этого рядом с исходным кодом крошек добавьте такой хук:

add_filter('kama_breadcrumbs_default_loc', function($l10n){ 	// Локализация 	return array( 		'home' => 'Front page', 		'paged' => 'Page %d', 		'_404' => 'Error 404', 		'search' => 'Search results by query - <b>%s</b>', 		'author' => 'Author archve: <b>%s</b>', 		'year' => 'Archive by <b>%d</b> год', 		'month' => 'Archive by: <b>%s</b>', 		'day' => '', 		'attachment' => 'Media: %s', 		'tag' => 'Posts by tag: <b>%s</b>', 		'tax_tag' => '%1$s from "%2$s" by tag: <b>%3$s</b>', 		// tax_tag выведет: 'тип_записи из "название_таксы" по тегу: имя_термина'.  		// Если нужны отдельные холдеры, например только имя термина, пишем так: 'записи по тегу: %3$s' 	); });

Далее, используйте вызов в шаблоне как обычно, крошки будут переведены на англ.:

function_exists('kama_breadcrumbs') && kama_breadcrumbs();

#3 Добавление произвольной ссылки в начало крошек

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

Для этого добавьте такой хук рядом с кодом крошек:

add_action('kama_breadcrumbs_home_after', 'my_breadcrumbs_home_after', 10, 4); function my_breadcrumbs_home_after( $false, $linkpatt, $sep, $ptype ){ 	// если мы в рубрике с ID 5 или в дочерней рубрике, 	// то дополним начало крошек ссылкой на страницу с ID 7 	$qo = get_queried_object(); 	if( is_category() && ( $qo->term_id == 5 || $qo->parent == 5 ) ){ 		$page = get_post( 7 ); 		return sprintf( $linkpatt, get_permalink($page), $page->post_title ) . $sep; 	}  	return $false; }

#4 Добавление еще таксономий в крошки

По умолчанию в крошках обрабатывается только одна таксономи. Но иногда нужно несколько, для этого в версии 3.3 я вставил хуки: 'attachment_tax_crumbs', 'post_tax_crumbs', 'term_tax_crumbs'.

Допустим, у нас есть тип записи realty и 3 таксы для него: country, type_deal, type_realty. Нужно, чтобы у страницы записи в крошках отображались все таксы в указанном порядке. Также нужно, чтобы на каждой странице таксы указывались все предыдущие таксы и текущая в указанном порядке: country > type_deal > type_realty

// apply_filters('term_tax_crumbs', '', $term, $that ); add_filter('term_tax_crumbs', 'more_tax_crumbs', 10, 3); add_filter('post_tax_crumbs', 'more_tax_crumbs', 10, 3); function more_tax_crumbs( $empty, $term, $that ){ 	$is_post_filter = doing_filter('post_tax_crumbs'); // else 'term_tax_crumbs'  	if( ( $is_post_filter && is_singular('realty') ) || is_tax('country') ){ 		global $post;  		$out = '';  		$out = $that->_tax_crumbs( $term, 'self' ) . $that->arg->sep; // базовая такса - country  		// тип сделки 		$term = get_query_var('type_deal'); 		if( $term && ($term = get_term_by('slug', $term, 'type_deal')) ) 			$out .= $that->_tax_crumbs( $term, 'self' ) . $that->arg->sep; // тип сделки  		// тип недвижимости 		$term = get_query_var('type_realty'); 		if( $term && ($term = get_term_by('slug', $term, 'type_realty')) ){ 			// запись 			if( $is_post_filter ){ 				$_crumbs = $that->_tax_crumbs( $term, 'self' ); 				$out .= $that->_add_title( $_crumbs, $post );  			} 			// такса 			else { 				$_crumbs = $that->_tax_crumbs( $term, 'parent' ); 				$out .= $that->_add_title( $_crumbs, $term, esc_html($term->name) );  			}  		}  		return $out; 	}  	return $empty; } 

меню

wp-kama.ru

Внутренняя перелинковка сайта, оптимизация контента

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

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

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

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

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

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

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

  1. Мы сами контролируем весь процесс.
  2. Самостоятельно выбираем анкоры, причем нужные нам.
  3. Можем сделать ее любой, на свое усмотрение.

Правда есть и минус, мы потратим очень много своего времени.

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

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

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

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

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

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

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

Установка Breadcrumb NavXT на WordPress

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

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

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

Так же по желанию есть возможность добавить код вызова в файлы Arhive.php, Page  и Search.  Устанавливаем плагин Breadcrumb NavXT хлебные крошки, делаем мы это уже не первый раз и думаю большинство уже запомнило этот процесс. Активируем плагин Breadcrumb NavXT. Код вызова данного плагина такой:

</pre>  <div class="breadcrumbs"><!--?php <br ?-->if(function_exists('bcn_display'))  {  bcn_display();  }  ?></div>  <pre>  

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

<!--?php get_header(); ?-->

Ниже на рисунке вы можете увидеть куда вставлен Html код хлебных крошек

код хлебных крошек

Настройка плагина Breadcrumb NavXT

У плагина Breadcrumb NavXT достаточно много настроек, давайте попробуем по порядку разобраться с каждой из них

настройка плагина Breadcrumb NavXT

В главе разделитель обозначен мнемокод который будет выводится между ссылками хлебных крошек  в данном случае он будет меть такой вид «ссылка > ссылка». Если вы вставите этот код  &middot; то вид между ссылочном пространством будет иметь такой вид «ссылка • ссылка».

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

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

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

Следующий урок: Про ЧПУ.
Предыдущий урок: Все про твиттер.

prosmo3.ru

Общие

Плагин Breadcrumb NavXT, HowToMake - Дизайн и разработка сайтов

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

Текущие значения

Плагин Breadcrumb NavXT, HowToMake - Дизайн и разработка сайтов

Устанавливаем галочку отображать ссылку на текущую запись и в теге title внесем «Добавить в закладки», остальные поля можно очистить.

Записи / Страницы

Плагин Breadcrumb NavXT, HowToMake - Дизайн и разработка сайтов

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

Рубрики

Плагин Breadcrumb NavXT, HowToMake - Дизайн и разработка сайтов

В блоке настроек Рубрики тоже меняем title и очищаем поля префиксов и суффиксов.

Метки

Плагин Breadcrumb NavXT, HowToMake - Дизайн и разработка сайтов

В блоке настроек меток делаем тоже самое что и в настройках рубрик.

Архив по дате

Оставляем настройки этого блока без изменений.

Остальное

В блоке остальное делаем настройки, как показано на скриншоте ниже:

Плагин Breadcrumb NavXT, HowToMake - Дизайн и разработка сайтов

Выводим в шаблоне (пример №1 )

Наконец-то с настройками покончено и Вы спокойно можете добавить следующий код (я обычно вставляю в файл single.php, считаю что там его место — Вы же можете вставить в какой хочется файл), чтобы Ваши хлебные крошки отображались на сайте:

  <div class="bread">  	<?php if(function_exists('bcn_display')) { bcn_display(); } ?>  </div>

Добавим стилей

.bread {  	width: 960px;  	margin: 10px auto;  	border: 1px solid #ccc;  	/*если в настройках Текущая позиция убрать галочку  	"отображать текущую позицию", то задав значение  	font-weight: bold;  	текущая позиция будет выделяться жирным шрифтом  	*/  }  .bread a {  	text-decoration: underline;  	font: 12px Verdana;  	color: #666;  }  .bread a:hover {  	text-decoration: none;  	color: #333;  }

Выводим в шаблоне (пример №2 )

  <ul id="goto">  	<?php if(function_exists('bcn_display')) { bcn_display_list(); } ?>  </ul>

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

  #goto li {  	padding: 0;  	margin: 3px 2px 5px -25px;  	list-style: none;  	line-height: 18px;  }  #goto li a {  	background: url(img/rp-grace.png) 0 3px no-repeat;  	color: #666;  	padding: 0 0 0 18px;  	text-decoration: none;  }  #goto li a:hover {  	background: url(img/rp-black.png) 0 3px no-repeat;  	color: #000;  }  #goto .current_item a {  	background: url(img/rp-black.png) 0 3px no-repeat;  	color: #000; padding: 0 0 0 18px;  	text-decoration: underline;  }

Заключение

Вот такой мощный SEO инструмент, я им часто пользуюсь, никаких проблем ни разу не было (супер реклама:).

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

Также для отображения хлебных крошек на сайте можно пользоваться плагином Yoast Breadcrumb.

www.howtomake.com.ua

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

Как уже ранее я упоминал, хлебные крошки :

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

Для добавления к нашему сайту хлебных крошек мы рассмотрим 2 варианта:

  1. Плагин Breadcrumb NavXT, который обладает очень хорошей функциональностью и имеет в своем активе множество настроек.
  2. Хлебные крошки на сайте без использования плагина (на основе PHP и CSS).

Для тех кто предпочитает быстроту и легкость действий, без плагина Breadcrumb NavXT не обойтись, поэтому, начнем с него.

Установка плагина Breadcrumb NavXT

Для того, чтобы установить плагин Breadcrumb NavXT, его первым дело нужно скачать и активировать. Для этого находим его по названию в каталоге WordPress (поиск плагинов в администраторской панели WordPress), нажимаем «установить», после чего тычем в ссылку «активировать» под названием «Breadcrumb NavXT».

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

Я установил данный код в файл Single.php (Одна запись), точно так же, как показано на изображении ниже:

Breadcrumb NavXT

А этот php-код для плагина, добавляющий стили Breadcrumb NavXT,  я установил в файл style.css, для того чтобы хлебные крошки на сайте отражались в нужном стиле (шрифт, стиль написания), в зависимости от вашего дизайна параметры стилей можно отредактировать:

Плагин Breadcrumb NavXT

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

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

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

Настройка плагина Breadcrumb NavXT

Так как плагин Breadcrumb NavXT буржуйский, то в нем нужно прописать настройки на русском языке, чтобы хлебные крошки на сайте отражались правильно. Для этого в административной панели WordPress блога пройдите во вкладку «Параметры» и найдите строку «Breadcrumb NavXT». Сделайте в настройках следующие действия:

Настройка Breadcrumb NavXT

Настроенный Breadcrumb NavXT будет отображен на блоге следующим образом:

Breadcrumb NavXT

Всего в плагине Breadcrumb NavXT для настройки хлебных крошек на сайте отведено 5 разделов, настройке которых нужно уделить немного внимания. Для вас я подготовил видео, в котором подробно изложил как настроить хлебные крошки на сайте при помощи плагина Breadcrumb NavXT.

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

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

/wp-content/themes/

И пропишите в нем следующий php-код:

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

Далее придаем нужный нам стиль, прописывая его в файле style.css

 А на этом я закончу на сегодня разговор о хлебных крошках на сайте и о плагине Breadcrumb NavXT.

dmitriyzhilin.ru

Плагин Breadcrumb NavXT Добрый день уважаемые читатели! Я продолжаю вам рассказывать об основных плагинах для WordPress, которые желательно установить сразу. Сегодня  хочу вас познакомить с  плагином Breadcrumb NavXT, который решает несколько важных задач. Во-первых, создаст дополнительную навигацию на блоге. Благодаря которой посетитель сможет проследить путь от корня сайта до той страницы на которой он находится. Во- вторых, является дополнительным инструментом в создании внутренней перелинковке страниц. В третьих, некоторое время назад поисковая система Google начала выдавать   “хлебные крошки” в выдаче, что позволить привлечь дополнительный трафик на проект. И в четвертых, благодаря плагину Breadcrumb NavXT статический вес равномерно распределяется по всем страницам . Но наверно стоит уже перейти к установке «хлебных крошек».

Итак, для начала необходимо скачать плагин Breadcrumb NavXTсо страницы http://wordpress.org/extend/plugins/breadcrumb-navxt . Полученный архив распаковать и с помощью ftp — клиента закинуть в директорию /wp-content/plugins. И в завершении активировать в административной панели . После того, как плагин был успешно активирован  в консоли Настройки  появляется строка  Breadcrumb NavXT.

пункт плагина в настройках

Но для полной активации плагина   Breadcrumb NavXT необходимо в определенные файлы шаблона вставить код вывода функции  «хлебных крошек». Код имеет вот такой вид:

Данный код необходимо будет установить в следующие файлы шаблона: single.php (выводит статьи), archive.php (статьи , находящиеся в архиве, рубрики), search.php(статьи, найденные посредством поиска на блоге), page.php( выводит страницы). Для этого в административной панели заходим в Дизайн  и выбираем пункт Редактирование , а дальше активируем нужный файл, предположим single.php Код функции плагина Breadcrumb NavXT вставляем сразу же после строчки

singlephp И нажимаем Сохранить изменения. Далее необходимо создать для нашей дополнительной навигации стиль . Поэтому открываем файл style.css и прописываем несколько свойств стилей для класса BREADCRUMB:

Этим я задала свойства  отражения для хлебных крошек.

— font:bolder 12px  Georgia; — это размер и тип шрифта
— padding-bottom: 1px; — отступы
— color: цвет текста
— padding: отступы текста
-background: цвет фона , на котором расположатся хлебные крошки
— .breadcrumb a — цвет ссылок
— .breadcrumb a:hover  — цвет ссылок при наведение курсора мышки
— background : цвет фона при наведении

Этот код можно установить в самом низу файла style.css

Сохраняем изменения.

На этом работа по редактированию кода заканчивается и остается только провести настройки отражения плагина  в административной панели. Для этого нам и понадобится пункт Breadcrumb NavXT в Настройках. Окно настроек плагина состоит из нескольких вкладочек.

настройка хлебных крошек

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

Код Символ
&lt; <
&brvbar; ¦
&gt; >
&curren; ¤
&deg; °
&middot;

В поле «Максимальная длинна» можно задать максимальную длину анкора в хлебных крошках. Я уже говорила, что ссылки с хлебных крошек учитываются поисковиками и служат для передачи статического веса.
Далее необходимо  указать галочку в поле  «Домашняя ссылка»  , позволяющую отображать в хлебных крошках ссылку на главную страницу. Обычно это анкор или же ключевое слово. Я использовала свой домен — lediseo.ru

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

титл

Сохраняем изменения и редактируем следующую вкладку «Текущая позиция» .

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

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

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

На этом все. Если вы не хотите пропустить появление новых материалов блога «Seo записки отчаянной«, то предлагаю подписать на новые материалы в удобной для вас форме.
Удачи!

www.lediseo.ru

Зачем нужны хлебные крошки на wordpress блоге

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

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

Плагин Breadcrumb NavXT

Скачать плагин Breadcrumb NavXT можно на официальном сайте: https://wordpress.org/plugins/breadcrumb-navxt/

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

Затем в шаблоне блога прописать код вызова. Для вызова модуля Breadcrumb NavXT пропишите его вызов в шаблоне. Перейдите в раздел Внешний вид —> Редактор. В левой колонке выберите файл single.php, именно туда и копируем необходимый код — в том место, где нужно выводить путь к статье.

Затем в файлы: single.php, index.php и page.php, header.php нужно вставить следующий отрезок кода:

<div>  <?php  if(function_exists('bcn_display'))  {  	bcn_display();  }  ?>  </div>

Этот код вставляется во все файлы после header.

Рис.1 

Код хлебных крошек

После добавления кода в каждый файл, не забудьте нажать на кнопку «Обновить файл».

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

.breadcrumb {

font:bolder 12px «Trebuchet MS», Verdana, Arial;

padding-bottom: 10px;

}

.breadcrumb a{

color: #1B7499;

} .breadcrumb a:hover {

color: #EF0E0E;

}

…в самом низу страницы этого файла (пример на рисунке 2). Если сравнить этот код и тем, который я дал выше, то в этом мы добавили параметры отображения стиля, цвета и размера шрифта.

Рис. 2

Код файла

На этом всё, что я хотел рассказать про плагин Breadcrumb NavXT, помогающем настроить хлебные крошки на сайте. Удачи!

nuzhnaya-infa.ru

Установка плагина Breadcrumb NavXT и вывод хлебных крошек на блоге.

Плагин доступен к скачиванию по адресу — http://wordpress.org/extend/plugins/breadcrumb-navxt/, устанавливается на блог, но чтобы хлебные крошки заработали на блоге, необходимо внести изменения в код шаблона.

Определитесь, где должны отображаться хлебные крошки на блоге. В зависимости от принятого решения откройте на редактирование (рекомендую использовать программу NotePad++) такие файлы:

  • single.php — чтобы они выводились на странице одиночных заметок
  • archive.php — если желаете выводить хлебные крошки на страницах архивов
  • search.php — и крошки будут выводиться на страницах с результатами поиска
  • page.php —  навигационная цепочка будет размещена на страницах блога
  • category.php — если желаете выводить хлебные крошки на страницах рубрик и меток

В эти файлы или какой-то один файл вставьте этот код:

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

seomans.ru

Настройка плагина хлебных крошек Breadcrumb NavXT.

Итак, переходим в «настройки» «Breadcrumb NavXT». Тут вы увидите четыре вкладки: основные, записи и страницы, таксономии, другое. Так как плагин полностью переведен на русский язык, то я затрону только самые нужные настройки.

Основные.

Разделитель – тут вы указываете код, который будет выводить нужный вам символ для разделения строк навигации. Как вы помните я, уже вставлял такой код &gt; который выводи вот такую стрелочку >.

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

Код                     Символ
&quot;          "
&amp;           &
&lt;            <
&gt;            >
&curren;        ¤
&brvbar;        ¦
&sect;          §
&copy;          ©
&ordf;          ?
&laquo;         «
&reg;           ®
&deg;           °
&plusmn;        ±
&micro;         µ
&para;          ¶
&middot;        •
&sup1;          ?
&euro;          €
&#124;          |
&#125;          }
&#126;          ~
&#169;          ©
&#171;          «
&#187;          «
&#174;          ®
&mdash;         —

 

Записи и страницы.

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

 

firstprize.ru


You May Also Like

About the Author: admind

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

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

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