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

通过一定的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-18 08:52

    功能很实用

  2. 板凳
    摩洛魔客 2013-06-17 10:38

    有帮助!!

  3. 地板
    小冬网赚博客 2013-06-17 03:38

    这里的人气好旺 啊 呵呵

  4. 4 楼
    卢旭庆 2013-06-16 07:05

    是你这里响的吗?像钢琴一样。

  5. 5 楼
    2013-06-15 13:01

    该怎么放?没整好!

    • 回复
      andy 2013-06-15 13:04
      @龍 @龍 : 我的font目录直接放在主题目录下面呢
  6. 6 楼
    大发 2013-06-13 12:19

    0 0换上我这个了啊,边栏随机文章太多了。。。

    • 回复
      andy 2013-06-13 12:25
      @大发 @大发 : :mrgreen: 刚把你那Font Awesome 换上了;另外你那个幻灯支持移动设备麽
  7. 7 楼
    枫叶红秋雨 2013-06-12 08:31

    还是这个方法好

  8. 8 楼
    内涵漫画 2013-06-10 16:49

    免插件速度就是快

  9. 9 楼
    ixwebhosting 2013-06-10 13:22

    好实用的内容,学习一下

  10. 10 楼
    奇闻 2013-06-10 00:29

    学习了 !谢谢