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。