在开发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(
'25qi-wordpress教程网' => '<a href="http://wanlimm.com/" rel="bookmark" title="25qi-WordPress教程网">25qi-WordPress教程网</a>',
'wordpress中文主题' => '<a href="https://www.25qi.com/" rel="bookmark" title="wordpress中文主题">wordpress中文主题</a>',
'关键词' => '<a href="https://www.25qi.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网站的重点关键词、核心关键词做内链,这样,有利于关键词在百度等搜索引擎中的排名。