不用插件实现关键词自动添加链接

通过一定的SEO技术,比如为关键字tag添加内部链接,来优化你的博客,提高你的搜索引擎收录和排名是一定需要的。建立内部链接对网页排名是有好处的,就算不能提高网页排名, 建立内部链接也能增加一些页面浏览量,即提高PV。如果在发布文章时手动添加链接效果会很好,但如果含有较多关键字则实际操作起来比较麻烦,wordpress这类插件网上也比较多例如SEO Smart Links、Keyword Link Plugin;对于那些不喜欢用插件的童靴来说,能少用插件就尽量少用,今天介绍一个不用插件实现的方法。
将下面代码添加到functions.php,具体代码如下:

//连接数量
$match_num_from = 1; //一个关键字少于多少不替换
$match_num_to = 5; //一个关键字最多替换
//连接到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;
}

以上代码转自网络,在本主题下测试可用;

评论 ( 66)
  1. 沙发
    楚狂人 2013-06-24 06:03

    据说添加到functions.php,和使用插件其实没啥区别

  2. 板凳
    盈丰国际 2013-06-24 01:51

    这个可以有。。。。我去折腾一下。看看效果能不能实现。就怕和别的代码冲突。

  3. 地板
    会淹死的鱼 2013-06-23 08:30

    不懂代码的飘过!

  4. 4 楼
    我的名字叫麒 2013-06-21 13:36

    手动的最好,其他都很扯淡

  5. 5 楼
    空渡.博客 2013-06-21 02:11

    很棒的!

  6. 6 楼
    好奇贱 2013-06-20 23:59

    强大的代码

    • 回复
      andy 2013-06-21 02:22
      @好奇贱 @好奇贱 : 淘宝客站啊,有个smzdm的主题不错啊
  7. 7 楼
    ixwebhosting 2013-06-20 07:55

    挺实在的内容,收藏了

  8. 8 楼
    小游戏大全 2013-06-20 07:08

    刚好可以用啊,谢谢了

  9. 9 楼
    麦田一根葱 2013-06-19 01:15

    nice~已用上

  10. 10 楼
    什么值得买 2013-06-18 15:37

    不错不错,收藏了