网页的观众有两类,分别是人和搜索引擎的蜘蛛,把他们哄开心之后流量自然而然就会来。我们都希望尽可能长时间地把他们留在站内,除了足够吸引人的内容,还需要编织一张相互连接的网——站内链接,也就是我们常说的内链。
常见的 WordPress 主题都会优化内链:面包屑导航、作者、分类、标签、侧边栏文章列表等都是内链的一部分。不过访客是因为内容才来的,他的注意力最集中的也是正文区域,因此我们需要更加注重正文的内链建设。我认为比较好的方法是给标签对应的文字添加链接,便于访客点击查看相关话题的文章。
许多开发者针对这项功能开发了插件,但是仅仅为了这个目的而安装插件性价比不高。我在 WordPress大学 找到一段代码,在这里分享给大家。
/**
* WordPress 自动为文章标签添加该标签的链接
* https://www.wpdaxue.com/auto-add-tag-link.html
*/
function wpkj_auto_add_tag_link($content){
$limit = 1; // 设置同一个标签添加几次链接
$posttags = get_the_tags();
if ($posttags) {
foreach($posttags as $tag) {
$link = get_tag_link($tag->term_id);
$keyword = $tag->name;
$cleankeyword = stripslashes($keyword);
$url = '<a target="_blank" href="'.$link.'" title="'.str_replace('%s', addcslashes($cleankeyword, '$'), __('View all posts in %s')).'">'.addcslashes($cleankeyword, '$').'</a>';
$regEx = '\'(?!((<.*?)|(<a.*?)))('. $cleankeyword . ')(?!(([^<>]*?)>)|([^>]*?</a>))\'s';
$content = preg_replace($regEx,$url,$content,$limit);
}
}
return $content;
}
add_filter( 'the_content', 'wpkj_auto_add_tag_link', 1 );
把以上代码添加到主题的 functions.php
文件保存即可。希望这段代码在不同主题下都可以生效?希望主题升级后能够保留设置?建议使用 Code Snippets 插件添加代码段,方法请参考《用插件给主题添加代码,避免升级、更换主题导致自定义代码丢失》 。
实际效果可以参考本文,本文的标签是:WordPress、内链、标签。