Задумываетесь о внедрении Schema на свой сайт? Но не знаете, как добавить Schema-разметку для хлебных крошек от SEO Yoast? Тогда эта статья для вас!
Если у вас останутся какие-либо вопросы, обязательно пишите в комментарии, быстро поможем разобраться с любыми проблемами.
Шаг 1 — Создаем функцию в functions.php
function modify_yoast_items( $link_html, $link_data ) {
// Шаблон контейнера li
$li = '<li itemprop="itemListElement" itemscope="itemscope" itemtype="https://schema.org/ListItem" %s>%s</li>';
// Содержимое li в зависимости от позиции элемента
if ( strpos( $link_html, 'breadcrumb_last' ) === false ) {
$li_inner = sprintf( '
<a itemprop="item" href="%s" class="pathway">
<span itemprop="name">%s</span>
</a>
', $link_data['url'], $link_data['text'] );
$li_inner .= '<span class="divider"> / </span>';
$li_class = '';
} else {
$li_inner = sprintf( '<span itemprop="name">%s</span>', $link_data['text'] );
$li_class = 'class="active"';
}
$li_inner .= sprintf( '<meta itemprop="position" content="%d"/>', ++ $this->el_position );
// Вкладываем сформированное содержание в li и возвращаем полученный элемент хлебных крошек.
return sprintf( $li, $li_class, $li_inner );
}
/**
* Возвращает псевдо wrapper, который в будущем будет вырезан из вёрстки.
* Если этого не сделать, то будущие li будут обёртнуты в единый span Yoast'ом.
*
* @return string
*/
function modify_yoast_wrapper() {
return 'wrapper'; // Будущий "уникальный" тег для вырезки из html
}
/**
* Изменяет дефолтный html код крошек Yoast.
*
* @param string $html
*
* @return string
*/
function modify_yoast_output( $html ) {
// Убираем псевдо wrapper
$html = str_replace( [ '<wrapper>', '</wrapper>' ], '', $html );
// Формируем контейнер для li элементов
$ul = '<ul itemscope="itemscope" itemtype="https://schema.org/BreadcrumbList" class="breadcrumb">%s</ul>';
// Вставляем в контейнер li элменты
$html = sprintf( $ul, $html );
return $html;
}
}
new Pretty_Breadcrumb();
Шаг 2 — Вывод хлебных крошек на страницах
Чтобы вывести крошки с разметкой Schema, скопируйте и вставьте эту функцию в нужное вам место:
<?php do_action('pretty_breadcrumb') ?>
После всех проделанных действий вы получите следующий результат. Не забудьте вывести новую функцию во всех шаблонах страниц, где должны выводиться крошки: шаблоны страниц, одиночных записей, архивов и странице 404.
Если у вас остались какие-либо вопросы по этой теме, задавайте их в комментариях. С удовольствием поможем с решением любой проблемы.
Понравилась статья? Хотите поддержать нашу команду и не пропустить новые материалы? Тогда подписывайтесь на нашу группу в ВКонтакте или на канал в Телеграм. Там мы не просто уведомляем подписчиков о выходе новых статей, но и делимся результатами различных экспериментов по SEO-продвижению.