WordPress实现tag关键词自动内链 无插件

admin wordpress评论7681字数 1360阅读模式
摘要

给文章中的关键字增加内链,以优化SEO。自动内链的方法有很多,Wordpress插件库里面内链插件也很多,但插件多了对博客的速度肯定有影响,所以找了个无插件实现的方法。

实现起来也很简单,只需在主题文件夹中的function.php加入一段代码即可实现tag自动内链。
WordPress实现tag关键词自动内链 无插件
WordPress文章关键词自动内链到相关标签页,提高网站SEO,增加用户粘性
函数代码如下:

  1. //WordPress文字标签关键词自动内链  
  2. $match_num_from = 1;    //一篇文章中同一个关键字少于多少不锚文本(这个直接填1就好了)  
  3. $match_num_to = 2;    //一篇文章中同一个关键字最多出现多少次锚文本(建议不超过2次)  
  4. function tag_sort($a, $b){  
  5.   if ( $a->name == $b->name ) return 0;  
  6.   return ( strlen($a->name) > strlen($b->name) ) ? -1 : 1;  
  7. }  
  8. function tag_link($content){  
  9.   global $match_num_from,$match_num_to;  
  10.    $posttags = get_the_tags();  
  11.    if ($posttags) {  
  12.      usort($posttags, "tag_sort");  
  13.      foreach($posttags as $tag) {  
  14.        $link = get_tag_link($tag->term_id);  
  15.        $keyword = $tag->name;  
  16.        $cleankeyword = stripslashes($keyword);  
  17.        $url = "";  
  18.        $limit = rand($match_num_from,$match_num_to);  
  19.        $content = preg_replace( '|(]+>)(.*)('.$ex_word.')(.*)<\/pre>(]*>)|U'.$case, '$1$2%&&&&&%$4$5', $content);  
  20.        $content = preg_replace( '|()|U'.$case, '$1$2%&&&&&%$4$5', $content);  
  21.        $cleankeyword = preg_quote($cleankeyword,'\'');  
  22.        $regEx = '\'(?!((<.*?)|(]*?)>)|([^>]*?))\'s' . $case;  
  23.        $content = preg_replace($regEx,$url,$content,$limit);  
  24.        $content = str_replace( '%&&&&&%', stripslashes($ex_word), $content);  
  25.      }  
  26.    }  
  27.  return $content;  
  28. }  
  29. add_filter('the_content','tag_link',1);  

将以上代码添加到functions.php文件倒数第二行,再查看文章,你会发现文章中出现的tag标签文字自动内链了,通过改变代码中的数字调节内链个数。

版权声明:文章图片资源来源于网络,如有侵权,请留言删除!!!
admin
  • 本文由 发表于 2021年9月29日 17:17:26
  • 转载请务必保留本文链接:https://www.58pxe.com/7813.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: