网页的观众有两类,分别是人和搜索引擎的蜘蛛,把他们哄开心之后流量自然而然就会来。我们都希望尽可能长时间地把他们留在站内,除了足够吸引人的内容,还需要编织一张相互连接的网——站内链接,也就是我们常说的内链。
常见的 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、内链、标签。