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

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

Почему важно использовать похожие записи на сайте WordPress

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

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

Для реализации можно использовать как готовые плагины, так и собственный код с использованием API WordPress, что даёт полный контроль над логикой подбора и отображения.

Использование плагина Contextual Related Posts для автоматического подбора контентно-близких записей

Один из популярных плагинов для этой задачи — Contextual Related Posts. Он анализирует содержание записей и выводит похожие по смыслу материалы.

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

Для установки достаточно зайти в админку WordPress → Плагины → Добавить новый, найти Contextual Related Posts, установить и активировать.

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

Кастомизация вывода похожих записей через фильтр

Если нужно изменить шаблон вывода, воспользуйтесь фильтром crp_custom_template. Например, чтобы изменить HTML обертку:

function yarpp_crp_custom_template($template) {
    $template = '<div class="yarpp-related-posts">{RELATED_POSTS}</div>';
    return $template;
}
add_filter('crp_custom_template', 'yarpp_crp_custom_template');

Этот код можно добавить в файл functions.php вашей темы или в отдельный плагин.

Реализация собственного алгоритма на PHP для автоматического подбора похожих записей по контенту

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

Ниже пример функции, которая находит 5 похожих записей по совпадению ключевых слов из текущей записи:

function yarpp_find_similar_posts_by_content($post_id, $limit = 5) {
    $post = get_post($post_id);
    if (!$post) return [];

    // Получаем слова из заголовка и контента
    $text = $post->post_title . ' ' . $post->post_content;
    // Удаляем HTML-теги
    $text = wp_strip_all_tags($text);
    // Разбиваем на слова
    $words = preg_split('/\s+/', mb_strtolower($text));
    // Удаляем короткие слова
    $words = array_filter($words, function($word) {
        return mb_strlen($word) > 3;
    });
    // Уникальные слова
    $words = array_unique($words);

    if (empty($words)) return [];

    global $wpdb;
    // Формируем SQL-подобный запрос для поиска совпадений по словам
    $like_clauses = array_map(function($word) {
        return $wpdb->prepare('(post_title LIKE %s OR post_content LIKE %s)', '%'.esc_sql($word).'%', '%'.esc_sql($word).'%');
    }, $words);

    $where = implode(' OR ', $like_clauses);

    $query = "SELECT ID, post_title FROM {$wpdb->posts} WHERE post_type='post' AND post_status='publish' AND ID != %d AND ($where) LIMIT %d";

    $results = $wpdb->get_results($wpdb->prepare($query, $post_id, $limit));

    return $results;
}

Далее можно вывести найденные записи в шаблоне single.php или в любом другом месте:

$similar_posts = yarpp_find_similar_posts_by_content(get_the_ID());
if (!empty($similar_posts)) {
    echo '<div class="similar-posts"><h3>Похожие записи</h3><ul>';
    foreach ($similar_posts as $post) {
        echo '<li><a href="' . get_permalink($post->ID) . '">' . esc_html($post->post_title) . '</a></li>';
    }
    echo '</ul></div>';
}

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

Оптимизация и кэширование результатов похожих записей

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

Пример простого кэширования с использованием Transient API WordPress:

function yarpp_get_cached_similar_posts($post_id, $limit = 5) {
    $cache_key = 'yarpp_similar_' . $post_id;
    $similar_posts = get_transient($cache_key);
    if ($similar_posts === false) {
        $similar_posts = yarpp_find_similar_posts_by_content($post_id, $limit);
        set_transient($cache_key, $similar_posts, 12 * HOUR_IN_SECONDS);
    }
    return $similar_posts;
}

Такой подход сохраняет результаты поиска на 12 часов, значительно снижая нагрузку на базу данных.

Использование плагина Clearfy Pro для оптимизации работы связанных записей

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

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

Выводы и рекомендации

Автоматическое отображение похожих записей — важный элемент современного сайта на WordPress. Выбирайте подходящий инструмент: если нужна простота и быстрота — используйте плагин Contextual Related Posts, если требуется гибкость и индивидуальность — пишите собственный код.

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

Для профессиональной оптимизации и расширения функционала можно использовать платные решения, например, Clearfy Pro, которые значительно упрощают работу с WordPress и улучшают производительность.

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как создать собственный фильтр для YARPP в WordPress: практическое руководство
30.01.2026
Автоматическое создание связанных записей на основе мета-данных в WordPress
01.04.2026
Как использовать YARPP для выборочной подгрузки связанных записей через AJAX в WordPress
18.02.2026
YARPP и WooCommerce: как сделать подбор связанных товаров в интернет-магазине
22.01.2026
WooCommerce: как исключить товары по метаданным из списка связанных товаров
04.05.2026
×
WordPress
дай сайту суперсилу!

Скидки на топовые темы и плагины

Активировать суперсилу ⋙