WordPress的文章自动添加关键词及关键词的SEO优化
网站的关键字及网页描述关系网站对搜索引擎的友好程度,如果自己手动加显然太折腾了,那如何让wordpress博客自动为每篇文章自动关键字及网页描述。每篇文章的内容不同,我们该如何让wordpress自动添加文章描述和关键词呢?下面就让我们来看看如何给wordpress自动添加文章描述和关键词。
在你主题的functions.php文件添加以下代码,各个代码的功能解析如下:
add_action('wp_head','wp_keywords');//添加关键字
add_action('wp_head','wp_description');//添加页面描述
functionwp_keywords(){
global$s,$post;
$keywords='';
if(is_single()){//如果是文章页,关键词则是:标签+分类ID
if(get_the_tags($post->ID)){
foreach(get_the_tags($post->ID)as$tag)
$keywords.=$tag->name.',';
}
foreach(get_the_category($post->ID)as$category)
$keywords.=$category->cat_name.',';
$keywords=substr_replace($keywords,'',-2);
}elseif(is_home()){
$keywords='我是主页关键词';//主页关键词设置
}elseif(is_tag()){//标签页关键词设置
$keywords=single_tag_title('',false);
}elseif(is_category()){//分类页关键词设置
$keywords=single_cat_title('',false);
}elseif(is_search()){//搜索页关键词设置
$keywords=esc_html($s,1);
}else{//默认页关键词设置
$keywords=trim(wp_title('',false));
}
if($keywords){//输出关键词
echo"<metaname=\"keywords\"content=\"$keywords\"/>\n";
}
}
functionwp_description(){
global$s,$post;
$description='';
$blog_name=get_bloginfo('name');
if(is_singular()){//文章页如果存在描述字段,则显示描述,否则截取文章内容
if(!empty($post->post_excerpt)){
$text=$post->post_excerpt;
}else{
$text=$post->post_content;
}
$description=trim(str_replace(array(
"\r\n",
"\r",
"\n",
"",
""
),"",str_replace("\"","'",strip_tags($text))));
if(!($description))
$description=$blog_name."-".trim(wp_title('',false));
}elseif(is_home()){//首页显示描述设置
$description=$blog_name."-".get_bloginfo('description').'首页要显示的描述';//首頁要自己加
}elseif(is_tag()){//标签页显示描述设置
$description=$blog_name."有关'".single_tag_title('',false)."'的文章";
}elseif(is_category()){//分类页显示描述设置
$description=$blog_name."有关'".single_cat_title('',false)."'的文章";
}elseif(is_archive()){//文档页显示描述设置
$description=$blog_name."在:'".trim(wp_title('',false))."'的文章";
}elseif(is_search()){//搜索页显示描述设置
$description=$blog_name.":'".esc_html($s,1)."'的搜索結果";
}else{//默认其他页显示描述设置
$description=$blog_name."有关'".trim(wp_title('',false))."'的文章";
}
//输出描述
$description=mb_substr($description,0,220,'utf-8').'..';
echo"<metaname=\"description\"content=\"$description\"/>\n";
}
突出关键字在搜寻结果:
functionwps_highlight_results($text){
if(is_search()){
$sr=get_query_var('s');
$keys=explode("",$sr);
$text=preg_replace('/('.implode('|',$keys).')/iu','<strong>'.$sr.'</strong>',$text);
}
return$text;
}
add_filter('the_excerpt','wps_highlight_results');
add_filter('the_title','wps_highlight_results');
使用此代码段突出显示搜索词在你的博客搜索结果the_excerpt和the_title。