Видео-крошки (video breadcrumbs) — это специальная навигационная цепочка, которая отображает путь к текущему видео или разделу видео-контента на сайте. Они помогают пользователям быстрее ориентироваться в структуре сайта и повышают SEO, так как поисковые системы лучше индексируют страницу с понятной иерархией.
Зачем нужны видео-крошки на сайте с видео
Навигация с помощью крошек особенно полезна для крупных сайтов с большим количеством видео. Например, если у вас есть категории видео, плейлисты, отдельные записи с видео, то видео-крошки показывают путь от главной страницы до конкретного видео. Это:
- Улучшает пользовательский опыт — посетители всегда видят, где находятся.
- Снижает показатель отказов — пользователи могут быстро перейти к другим разделам.
- Повышает SEO — поисковые системы учитывают структуру сайта при ранжировании.
Для сайта omni-video.ru с большим видео-контентом автоматизация видео-крошек — важный этап.
Основные подходы к реализации видео-крошек в WordPress
Можно выделить два основных способа добавить видео-крошки:
- Использование специализированных плагинов, поддерживающих видео и кастомные таксономии.
- Реализация через собственный код с использованием хуков и функций WordPress.
Рассмотрим оба варианта, а затем приведём пример кода для автоматической генерации видео-крошек.
Плагины для видео-крошек
На рынке есть несколько плагинов, которые поддерживают крошки и могут работать с видео-контентом:
- Clearfy Pro — мощный плагин оптимизации с возможностью добавления крошек и настройки их отображения. Можно адаптировать для видео.
- OmniVideo — плагин для работы с видео, который в последних версиях поддерживает кастомные поля и таксономии, что позволяет выводить крошки.
Однако, если нужны полностью кастомные видео-крошки, лучше использовать свой код.
Как реализовать автоматические видео-крошки с кодом в WordPress
В этом примере мы создадим функцию omni_video_get_breadcrumbs(), которая автоматически формирует крошки в зависимости от структуры видео: категории, плейлиста, текущего видео.
Предположим, что видео — это кастомный тип записи video, с таксономиями video_category и video_playlist.
Пример функции для вывода видео-крошек
function omni_video_get_breadcrumbs() {
if (is_singular('video')) {
$breadcrumbs = [];
$home_url = home_url('/');
$breadcrumbs[] = '<a href="' . $home_url . '">Главная</a>';
// Получаем категории видео
$categories = get_the_terms(get_the_ID(), 'video_category');
if ($categories && !is_wp_error($categories)) {
$category = $categories[0];
$cat_link = get_term_link($category);
$breadcrumbs[] = '<a href="' . esc_url($cat_link) . '">' . esc_html($category->name) . '</a>';
}
// Получаем плейлист видео
$playlists = get_the_terms(get_the_ID(), 'video_playlist');
if ($playlists && !is_wp_error($playlists)) {
$playlist = $playlists[0];
$playlist_link = get_term_link($playlist);
$breadcrumbs[] = '<a href="' . esc_url($playlist_link) . '">' . esc_html($playlist->name) . '</a>';
}
// Заголовок текущего видео без ссылки
$breadcrumbs[] = get_the_title();
// Формируем строку с разделителем
echo '<nav class="omni-video-breadcrumbs">' . implode(' > ', $breadcrumbs) . '</nav>';
}
}Эту функцию можно вставить в шаблон single-video.php в нужном месте, например, перед выводом видео.
Дополнительно: стилизация и SEO
Чтобы поисковые системы лучше понимали крошки, можно добавить микроразметку schema.org:
function omni_video_get_breadcrumbs() {
if (is_singular('video')) {
$breadcrumbs = [];
$home_url = home_url('/');
$breadcrumbs[] = array('name' => 'Главная', 'url' => $home_url);
$categories = get_the_terms(get_the_ID(), 'video_category');
if ($categories && !is_wp_error($categories)) {
$category = $categories[0];
$breadcrumbs[] = array('name' => $category->name, 'url' => get_term_link($category));
}
$playlists = get_the_terms(get_the_ID(), 'video_playlist');
if ($playlists && !is_wp_error($playlists)) {
$playlist = $playlists[0];
$breadcrumbs[] = array('name' => $playlist->name, 'url' => get_term_link($playlist));
}
$breadcrumbs[] = array('name' => get_the_title(), 'url' => '');
echo '<nav class="omni-video-breadcrumbs" itemscope itemtype="https://schema.org/BreadcrumbList"><ol>';
foreach ($breadcrumbs as $index => $crumb) {
echo '<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">';
if ($crumb['url']) {
echo '<a href="' . esc_url($crumb['url']) . '" itemprop="item">';
echo '<span itemprop="name">' . esc_html($crumb['name']) . '</span>';
echo '</a>';
} else {
echo '<span itemprop="name">' . esc_html($crumb['name']) . '</span>';
}
echo '<meta itemprop="position" content="' . ($index + 1) . '" />';
echo '</li>';
}
echo '</ol></nav>';
}
}Такой подход улучшит видимость сайта omni-video.ru в поисковой выдаче.
Как автоматизировать добавление видео-крошек на сайте
Чтобы не вставлять функцию вручную в шаблоны, можно подключить её через хук the_content или использовать action в нужных шаблонах:
add_filter('the_content', 'omni_video_add_breadcrumbs_to_content');
function omni_video_add_breadcrumbs_to_content($content) {
if (is_singular('video') && in_the_loop() && is_main_query()) {
ob_start();
omni_video_get_breadcrumbs();
$breadcrumbs = ob_get_clean();
return $breadcrumbs . $content;
}
return $content;
}Это удобно, если вы хотите, чтобы крошки всегда показывались над видео без правки шаблонов.
Рекомендации по улучшению видео-крошек на omni-video.ru
1. Используйте кастомные таксономии для видео
Для удобства навигации создайте таксономии video_category и video_playlist через регистр кастомных таксономий. Это позволит гибко структурировать видео и легко выводить крошки.
2. Поддерживайте мультиязычность видео-крошек
Если сайт многоязычный, интегрируйте крошки с переводами через WPML или Polylang, чтобы названия категорий и плейлистов отображались на нужном языке.
3. Используйте плагины для SEO и оптимизации
Плагин Clearfy Pro поможет оптимизировать микроразметку и повысить скорость загрузки страниц с видео-крошками.
Выводы
Автоматические видео-крошки — важный элемент UX и SEO для сайтов с видео, таких как omni-video.ru. Их можно реализовать с помощью готовых плагинов или собственного кода, учитывая структуру видео, категории и плейлисты. Использование микроразметки schema.org улучшит видимость сайта в поисковых системах.
Реализуйте функцию omni_video_get_breadcrumbs() и подключите её к шаблонам или контенту, чтобы обеспечить посетителям удобную навигацию и повысить SEO-эффективность.