如何为WordPress文章添加相关文章模块

你辛辛苦苦写完一篇文章,读者看完后就直接关闭页面离开了?这种情况我见过太多。其实只要在文章末尾加个相关文章模块,就能让用户停留时间提升30%以上。今天我就来告诉你几种既简单又有效的实现方法。

在我看来,相关文章模块本质上是个「内容推荐系统」。它要解决的核心问题是:用户看完当前内容后,还能看到什么相关内容?这个逻辑和今日头条的推荐流、亚马逊的「买了这个商品的顾客也买了」如出一辙。区别只是规模不同而已。

最傻瓜式的方法当然是直接用插件。Jetpack的相关文章功能是我最推荐的,毕竟是WordPress官方出品,稳定性和兼容性都没得说。安装激活后基本上什么都不用设置,系统会自动基于标签和分类来推荐相关文章。不过要注意的是,这个功能需要连接WordPress.com账号。

如果你想要更多自定义选项,YARPP(Yet Another Related Posts Plugin)是个不错的选择。这个老牌插件已经活跃了十多年,可以根据标签、分类、文章内容等多种维度来匹配相关文章。你甚至可以调整匹配算法的权重,比如让标签的匹配度高于分类。

但说实话,我这个人有点「插件恐惧症」。每多装一个插件,就多一个潜在的冲突点和性能负担。所以很多时候,我更倾向于用代码来实现。下面这个代码片段,你可以直接放在主题的functions.php文件里:

function custom_related_posts() {
$tags = wp_get_post_tags(get_the_ID());
if ($tags) {
$tag_ids = array();
foreach($tags as $tag) $tag_ids[] = $tag->term_id;
$args = array(
‘tag__in’ => $tag_ids,
‘post__not_in’ => array(get_the_ID()),
‘posts_per_page’ => 5,
‘ignore_sticky_posts’ => 1
);
$related_query = new WP_Query($args);
if ($related_query->have_posts()) {
echo ‘<div class=”related-posts”>’;
echo ‘<h3>相关文章</h3>’;
while ($related_query->have_posts()) {
$related_query->the_post();
echo ‘<a href=”‘.get_permalink().'”>’.get_the_title().'</a>’;
}
echo ‘</div>’;
wp_reset_postdata();
}
}
}

然后在single.php模板的合适位置调用custom_related_posts()函数就行了。这个代码的原理是基于文章标签来匹配,你也可以改成基于分类,或者两者结合。

不过我要提醒你,无论用哪种方法,都要考虑性能问题。特别是当你的网站文章数量很大时,每次生成相关文章列表都会增加数据库查询。这时候可以考虑使用缓存,比如把结果存到transient里,设置一个合理的过期时间。

说到用户体验,相关文章模块的展示方式也很重要。我见过很多网站直接把一堆文章标题堆在那里,效果很差。理想的做法是至少包含文章标题、特色图片、发布时间这几个元素。如果能在后台让编辑手动选择相关文章,那就更完美了——毕竟再智能的算法也比不上人工的精准判断。

最后分享一个数据:根据我的观察,设计良好的相关文章模块能让页面浏览量提升15-25%。但要注意,不要为了展示而展示,如果找不到真正相关的文章,宁可不显示。劣质的推荐比没有推荐更糟糕。

你觉得在你的网站上,相关文章模块应该优先考虑自动化还是精准度?这个平衡点可能需要你根据实际内容量来把握。

在线咨询

提示:由 AI 生成回答,可能存在错误,请注意甄别。