在开发wordpress 主题的时候,作为wordpress开发者,应该考虑到让wordpress主题有利于SEO优化。这些,我们在前面也介绍了一些,如:给首页添加关键词、描述,wordpress文章图片自动添加ALT属性…… 本章,我们再来介绍另外一种,给wordpress主题自动添加关键词内链,也就是说,让文章中的关键词或Tag标签自动内链。内链的好外,我就不用说了,可以让百度蜘蛛在你的网站爬行更多的地方。当然,我们可以通过插件来实现关键词内链,这方面的插件非常。这不是本章所要介绍的。本章的重点是:wordpress主题通过代码来添加关键词内链。
1、wordpress文章Tag标签内链。
Tag标签是wordpress文章默认的关键词,也是百度特别喜欢的一个wordpress元素,一般百度收录Tag标签的速度非常快的。可以通过以下代码让wordpress主题的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" class="tag_link"';
$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;
}
通过上面的代码,可以实现Tag标签在wordpress文章中第一次出现的时候添加内链。当然,你也可以让Tag标签在wordpress文章中出现多次内链,只需要修改这段代码中的开头2句,修改它们的后面数字即可。
2、wordpress文章内链指定关键词。
有时,我们希望wordpress文章能有指定关键词指向首页或其它我们重点要推广的页面。这时,我们可以给wordpress主题添加指定关键词内链。代码如下:
//指定关键词内链
function content_keywords_link($text){
$replace = array(
'高时银博客' => '<a href="http://wanlimm.com/" rel="bookmark" title="高时银博客">高时银博客</a>',
'wordpress中文主题' => '<a href="http://wanlimm.com/" rel="bookmark" title="wordpress中文主题">wordpress中文主题</a>',
'关键词' => '<a href="http://wanlimm.com/" rel="bookmark" title="说明">关键词</a>'
);
$text = str_replace(array_keys($replace), $replace, $text);
return $text;
}
add_filter('the_content', 'content_keywords_link');
上面这段代码,我们为wordpress添加了3个指定关键词内链:高时银博客、wordpress中文主题、关键词。这样,在我们wordpress网站的每一篇文章中,只要出现这几个关键词,就会自动添加wordpress内链。我这里只添加了3个关键词,你也可以添加更多的关键词。这种方式对SEO优化是非常有用的,你可以把wordpress网站的重点关键词、核心关键词做内链,这样,有利于关键词在百度等搜索引擎中的排名。
插入的位置:把上面的代码,全部复制粘贴到版权说明的上面
具体如下(具体要修改哪些资料,上面都说了):