Как настроить автоматическое отображение связанных записей в WordPress

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

Зачем нужны связанные записи в WordPress

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

Реализация связанных записей позволяет:

  • Увеличить количество просмотров страниц;
  • Снизить показатель отказов;
  • Улучшить поведенческие факторы;
  • Оптимизировать структуру сайта для поисковых систем.

Готовые плагины для отображения связанных записей

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

  • Yet Another Related Posts Plugin (YARPP) — мощный и гибкий плагин с множеством настроек и поддержкой кастомных типов записей.
  • Contextual Related Posts — простой в настройке, поддерживает вывод связанных записей в виджетах и внутри контента.
  • Related Posts for WordPress — легковесный и быстрый плагин с приятным дизайном.

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

Собственное решение: как вывести связанные записи по таксономиям

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

Пример функции для вывода связанных записей по категориям

function wprobot_get_related_posts_by_category($post_id, $number = 5) {
    $categories = wp_get_post_categories($post_id);
    if (empty($categories)) {
        return [];
    }
    
    $args = [
        'category__in' => $categories,
        'post__not_in' => [$post_id],
        'posts_per_page' => $number,
        'ignore_sticky_posts' => 1
    ];
    
    $related_posts = get_posts($args);
    return $related_posts;
}

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

Вывод связанных записей в шаблоне single.php

Вставьте следующий код в нужное место шаблона single.php, чтобы вывести заголовки связанных записей:

$related_posts = wprobot_get_related_posts_by_category(get_the_ID());
if (!empty($related_posts)) {
    echo '<h3>Связанные записи</h3><ul>';
    foreach ($related_posts as $post) {
        setup_postdata($post);
        echo '<li><a href="' . get_permalink($post->ID) . '">' . get_the_title($post->ID) . '</a></li>';
    }
    echo '</ul>';
    wp_reset_postdata();
}

Улучшение релевантности: связанные записи по тегам и метаданным

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

Функция для связанных записей по тегам

function wprobot_get_related_posts_by_tags($post_id, $number = 5) {
    $tags = wp_get_post_tags($post_id);
    if (empty($tags)) {
        return [];
    }
    
    $tag_ids = wp_list_pluck($tags, 'term_id');
    
    $args = [
        'tag__in' => $tag_ids,
        'post__not_in' => [$post_id],
        'posts_per_page' => $number,
        'ignore_sticky_posts' => 1
    ];
    
    $related_posts = get_posts($args);
    return $related_posts;
}

Объединение категорий и тегов для более релевантных результатов

Можно объединить категории и теги через WP_Query с параметром tax_query:

function wprobot_get_related_posts_combined($post_id, $number = 5) {
    $categories = wp_get_post_categories($post_id);
    $tags = wp_get_post_tags($post_id);
    if (empty($categories) && empty($tags)) {
        return [];
    }
    
    $tag_ids = wp_list_pluck($tags, 'term_id');
    
    $tax_query = ['relation' => 'OR'];
    if ($categories) {
        $tax_query[] = [
            'taxonomy' => 'category',
            'field' => 'term_id',
            'terms' => $categories,
        ];
    }
    if ($tag_ids) {
        $tax_query[] = [
            'taxonomy' => 'post_tag',
            'field' => 'term_id',
            'terms' => $tag_ids,
        ];
    }
    
    $args = [
        'post__not_in' => [$post_id],
        'posts_per_page' => $number,
        'ignore_sticky_posts' => 1,
        'tax_query' => $tax_query
    ];
    
    $query = new WP_Query($args);
    return $query->posts;
}

Оптимизация и кэширование вывода связанных записей

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

Простой способ — кэшировать результат функции с помощью Transients API:

function wprobot_get_related_posts_cached($post_id, $number = 5) {
    $cache_key = 'wprobot_related_' . $post_id;
    $related_posts = get_transient($cache_key);
    if ($related_posts === false) {
        $related_posts = wprobot_get_related_posts_combined($post_id, $number);
        set_transient($cache_key, $related_posts, 12 * HOUR_IN_SECONDS);
    }
    return $related_posts;
}

Это значительно снизит нагрузку на базу данных и ускорит работу сайта.

Дополнительные советы и плагины для расширения функционала

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

Также полезным может быть ABC Pagination для красивой пагинации списков записей, включая связанные.

Вывод

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

Как автоматически отображать посты по тегам в WordPress с примерами кода
23.02.2026
Автоматический импорт данных из Excel в WordPress
28.12.2025
Автоматическое возврат средств по устаревшим заказам в WooCommerce: настройка и проверка
13.06.2026
Как использовать WP Community для автоматизации управления пользователями WordPress
03.04.2026
Автоматическое создание категорий и подкатегорий в WordPress с помощью кода
10.04.2026