WordPress这类插件网上也比较多例如SEO Smart Links、Keyword Link Plugin;对于那些不喜欢用插件的童靴来说,能少用插件就尽量少用,并且网上的资料显示文章内的关键词如果加上链接是有利于搜索引擎更好地收录的。所以今天介绍一个不用插件实现的方法。当然,如果在发布文章时手动添加链接效果会很好,只是含有较多关键字则实际操作起来比较麻烦。

functions.php中添加如下代码:

//连接数量 
$match_num_from= 1; //一个关键字少于多少不替换
$match_num_to= 1; //一个关键字最多替换,建议不大于2 
//连接到WordPress的模块 
add_filter('the_content','tag_link',1);
//按长度排序 
functiontag_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;
}

SEO啥的博主不是很懂,也没有废话

看美女