Плагин YARPP (Yet Another Related Posts Plugin) — это один из самых популярных инструментов для вывода связанных записей в WordPress. Однако стандартные возможности плагина не предусматривают автоматическое добавление ссылок на связанные записи в сам контент статьи. В этой статье мы подробно разберем, как реализовать автозаполнение ссылок в связанных записях с помощью YARPP, что позволит улучшить внутреннюю перелинковку и повысить SEO вашего сайта.
Почему важно автозаполнять ссылки в связанных записях
В большинстве случаев YARPP выводит блок с похожими или родственными статьями в конце записи. Но если добавить ссылки на связанные записи прямо в текст статьи, это повысит вовлеченность пользователей и улучшит структуру сайта в глазах поисковых систем. Автоматизация этого процесса избавит от необходимости вручную вставлять ссылки при каждом обновлении контента.
Автозаполнение ссылок помогает:
- Улучшить внутреннюю перелинковку сайта.
- Повысить время нахождения пользователя на сайте.
- Снизить показатель отказов.
- Оптимизировать SEO без дополнительных затрат времени.
Как получить связанные записи YARPP программно
Для автозаполнения ссылок нам нужно программно получить связанные записи для текущей статьи. YARPP предоставляет функцию yarpp_get_related(), которая возвращает массив связанных объектов.
Пример использования функции для получения связанных записей:
function yarpp_autofill_links_get_related_posts($post_id) {
$related = yarpp_get_related(
array(
'post_id' => $post_id,
'limit' => 5,
'show_pass_post' => false,
'relatedness_type' => 'post'
)
);
return $related;
}Здесь мы получаем до 5 связанных записей для текущего поста.
Особенности функции yarpp_get_related()
Функция возвращает массив объектов WP_Post, что позволяет легко получить заголовок, ссылку и другие данные каждой записи.
Важно учитывать, что для работы функции необходимо, чтобы плагин YARPP был активен и настроен корректно.
Автоматическое добавление ссылок в контент записи
Теперь, когда мы можем получить связанные записи, следующий шаг — добавить ссылки на них в текст статьи. Для этого используем фильтр the_content, который позволяет менять контент перед выводом.
Пример функции для автозаполнения ссылок:
function yarpp_autofill_links_add_links_to_content($content) {
if (!is_singular('post')) {
return $content;
}
global $post;
$related_posts = yarpp_autofill_links_get_related_posts($post->ID);
if (empty($related_posts)) {
return $content;
}
// Формируем список ссылок
$links_list = '<ul class="yarpp-autofill-links">';
foreach ($related_posts as $related_post) {
$permalink = get_permalink($related_post->ID);
$title = esc_html($related_post->post_title);
$links_list .= "<li><a href=\"$permalink\">$title</a></li>";
}
$links_list .= '</ul>';
// Добавляем список ссылок в конец контента
return $content . $links_list;
}
add_filter('the_content', 'yarpp_autofill_links_add_links_to_content');В результате в конце каждой записи автоматически появится список связанных статей с кликабельными ссылками.
Как кастомизировать вывод ссылок
Вы можете изменить место вставки списка, например, добавить его в начало контента или после определенного абзаца. Для этого можно использовать парсинг HTML или регулярные выражения.
Также для улучшения стиля можно добавить CSS:
.yarpp-autofill-links {
margin-top: 20px;
padding-left: 20px;
border-top: 1px solid #ccc;
}
.yarpp-autofill-links li {
margin-bottom: 5px;
}Решение частых проблем и рекомендации
Пустой список связанных записей
Если функция yarpp_get_related() возвращает пустой массив, проверьте следующие моменты:
- Наличие активных связанных записей (YARPP не смог подобрать похожие записи).
- Настройки плагина YARPP — проверьте, что включен тип записей, которые нужно связывать.
- Включена ли поддержка кастомных типов записей, если вы их используете.
Оптимизация производительности
Запрос связанных записей может быть ресурсоемким, особенно на крупных сайтах. Чтобы снизить нагрузку, рекомендуется:
- Кэшировать результаты функции с помощью Transients API WordPress.
- Уменьшить количество связанных записей, выводимых автоматически.
- Использовать фильтр только на страницах записи (проверка
is_singular('post')).
Пример с кешированием результатов
function yarpp_autofill_links_get_related_posts_cached($post_id) {
$cache_key = 'yarpp_related_' . $post_id;
$related = get_transient($cache_key);
if ($related === false) {
$related = yarpp_get_related(array('post_id' => $post_id, 'limit' => 5));
set_transient($cache_key, $related, 12 * HOUR_IN_SECONDS);
}
return $related;
}Используйте эту функцию вместо обычной для снижения количества запросов к базе.
Альтернативные плагины для автозаполнения ссылок
Если YARPP не полностью удовлетворяет вашим требованиям, можно рассмотреть следующие плагины с похожим функционалом и поддержкой автоссылок:
- Internal Link Juicer — автоматическая перелинковка по ключевым словам.
- Yet Another Related Posts Plugin (YARPP) Pro — расширенная версия с улучшенными возможностями.
- SEO Smart Links — автоссылки и автоматическая внутренняя перелинковка.
Для интеграции с этими плагинами также можно написать свои хуки и фильтры, аналогично примеру для YARPP.
Заключение
Автоматическое добавление ссылок на связанные записи с помощью YARPP — эффективный способ улучшить навигацию по сайту и SEO. Используя функции плагина и фильтры WordPress, можно быстро внедрить эту возможность без ручного труда. Обязательно учитывайте особенности вашего сайта и используйте кеширование для оптимальной производительности.
Для удобства работы с YARPP и другими плагинами рекомендуем ознакомиться с продуктами WPSHOP, которые помогут упростить и расширить функционал WordPress.