建站教程

建站教程

Products

当前位置:首页 > 建站教程 >

纯代码实现文章基于tags标签的内链(WordPress优化之给文章标签自动添加内链)

GG网络技术分享 2025-03-18 16:13 0


纯代码实现文章基于tags标签的内链

在文章中插入内链,有利于搜索引擎的收录,同时,也方便阅读者查看关键词相关的文章。

有个WP Keyword Link的插件也可以实现类似的功能,但是经过我测试发现,启动时会报错,所以就放弃啦,下面是我找到的纯代码实现的方式

在 functions.php 文件中加入下面的代码即可。

WordPress优化之给文章标签自动添加内链

文章内链的重要性,很多做SEO的朋友都应该知道。内部链接结构可以引导权值的传递,提高收录,提升内页排名。

如何给WordPress博客的文章关键词标签自动添加内链呢?其实我们只需要在主题目录下的functions.php文件中添加一段代码就可以实现了。

//WordPress 文章关键词自动内链function tag_sort($a, $b){if ( $a->name == $b->name ) return 0;return ( strlen($a->name) > strlen($b->name) ) ? -1 : 1;}function tag_link($content){$match_num_from = 1;//一个标签少于几次不链接$match_num_to = 1;//一个标签最多链接几次$posttags = get_the_tags();if ($posttags) {usort($posttags, \\\"tag_sort\\\");foreach($posttags as $tag) {$link = get_tag_link($tag->term_id);$keyword = $tag->name;//链接代码$cleankeyword = stripslashes($keyword);$url = \\\"<a href=\\\\\\\"$link\\\\\\\" title=\\\\\\\"\\\".str_replace(\\\'{5cc1b29162d549a8071384de182cc9fc6e6a0fd85e7907f22fd9e18cff4269c3}s\\\',addcslashes($cleankeyword, \\\'$\\\'),__(\\\'更多关于 {5cc1b29162d549a8071384de182cc9fc6e6a0fd85e7907f22fd9e18cff4269c3}s 的文章\\\')).\\\"\\\\\\\"\\\";$url .= \\\' target=\\\"_blank\\\"\\\';$url .= \\\">\\\".addcslashes($cleankeyword, \\\'$\\\').\\\"</a>\\\";$limit = rand($match_num_from,$match_num_to);//不链接代码$content = preg_replace( \\\'|(<a[^>]+>)(.*)<pre.*?>(\\\'.$ex_word.\\\')(.*)<\\\\/pre>(</a[^>]*>)|U\\\'.$case, \\\'$1$2{5cc1b29162d549a8071384de182cc9fc6e6a0fd85e7907f22fd9e18cff4269c3}&&&&&{5cc1b29162d549a8071384de182cc9fc6e6a0fd85e7907f22fd9e18cff4269c3}$4$5\\\', $content);$content = preg_replace( \\\'|(<img)(.*?)(\\\'.$ex_word.\\\')(.*?)(>)|U\\\'.$case, \\\'$1$2{5cc1b29162d549a8071384de182cc9fc6e6a0fd85e7907f22fd9e18cff4269c3}&&&&&{5cc1b29162d549a8071384de182cc9fc6e6a0fd85e7907f22fd9e18cff4269c3}$4$5\\\', $content);$cleankeyword = preg_quote($cleankeyword,\\\'\\\\\\\'\\\');$regEx = \\\'\\\\\\\'(?!((<.*?)|(<a.*?)))(\\\'. $cleankeyword . \\\')(?!(([^<>]*?)>)|([^>]*?</a>))\\\\\\\'s\\\' . $case;$content = preg_replace($regEx,$url,$content,$limit);$content = str_replace( \\\'{5cc1b29162d549a8071384de182cc9fc6e6a0fd85e7907f22fd9e18cff4269c3}&&&&&{5cc1b29162d549a8071384de182cc9fc6e6a0fd85e7907f22fd9e18cff4269c3}\\\', stripslashes($ex_word), $content);}}return $content;}add_filter(\\\'the_content\\\',\\\'tag_link\\\',1);

标签:

提交需求或反馈

Demand feedback