现在的位置:首页>wordpress>正文

wordpress博客用代码来完成内链建设

2013年07月22日 ⁄ 共 1665字 评论 1 条

无论您的网站是wordpress博客还是Discuz做的论坛,在外链建设上需要一步一个台阶,而我们的网站内链建设也是不能忽视的。单纯从SEO的角度来讲,外链肯定比内链重要,这也是很多朋友说的,权重的计算有很大一部份来自外链,但如果您的内链优化得好的话,不仅可以让用户在一个页面上轻松进入到另一个页面提供便利,更有可能给您带来许多意想不到的流量。

今天小编要介绍的是用代码来实现文章自动提取tag标签并添加相应的链接,说白了就是在博客中增加一些内部链接,这里有一局限性,那就是只能用于提限tag标签,不过对于大部份中小站长来说,完全足够了。

具体实现方法是在您的当前主题的functions.php这个文件中加入以下代码:

//自动提取tag标签并添加相应的链接
$match_num_from = 1; //一个关键字少于多少不替换
$match_num_to = 2; //一个关键字最多替换
//连接到WordPress的模块
add_filter('the_content','tag_link',1);
//按长度排序
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){
global $match_num_from,$match_num_to;
$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('%s',addcslashes($cleankeyword, '$'),__('View all posts in %s'))."\"";
$url .= ' target="_blank"';
$url .= ">".addcslashes($cleankeyword, '$')."</a>";
$limit = rand($match_num_from,$match_num_to);
//不连接的 代码
$content = preg_replace( '|(<a[^>]+>)(.*)('.$ex_word.')(.*)(</a[^>]*>)|U'.$case, '$1$2%&&&&&%$4$5', $content);
$content = preg_replace( '|(<img)(.*?)('.$ex_word.')(.*?)(>)|U'.$case, '$1$2%&&&&&%$4$5', $content);
$cleankeyword = preg_quote($cleankeyword,'\'');
$regEx = '\'(?!((<.*?)|(<a.*?)))('. $cleankeyword . ')(?!(([^<>]*?)>)|([^>]*?</a>))\'s' . $case;
$content = preg_replace($regEx,$url,$content,$limit);
$content = str_replace( '%&&&&&%', stripslashes($ex_word), $content);
}
}
return $content;
}

 

将上面的代码添加完成以后,您就能在自已的网站中看到,其中一部分的内容已经被添加了链接,例如福利老幺使用后,在我的文章中出现广告联盟这个关健词时,就会自动添加链接,如下图:

tagtiqu

当然,内链的建设需要我们在写文章时,就将一些已经与文章内容相关的文章用链接的形式做好,不然,光有tag标签的内链,估计效果也不是很理想。

评论 1 条 评论内容很精采,有内幕,而且绝对有干货

  1. 爱兵博客 2013年12月21日 16:50  @回复  Δ-49楼 回复

    好久没来了、一来就用了你的代码,准备认真做个网站了

给我留言