默认:没有特定关键字或描述的一律归为默认。
详情:文章和页面是有详情页面的,以是这一块归类到详情里面来处理。
列表:分类列表、标签列表。
搜索结果:无需多说,便是字面意思。
SEO关键字文章详情页调用文章的标签。页面详情(要个毛的特定关键字)直接采取默认关键字。分类列表调用分类的专属SEO关键字。标签列表?标签自己不便是关键字吗?搜索结果直策应用搜索的关键字作为SEO关键字好了。首页当然也是默认。SEO描述文章详情页emmmmmmm,直接取文章前面200个字符好了。页面详情,一样啦,取前面200个字符。分类列表。。。。我记得添加分类的时候WordPress是自带描述这么一个输入框的吧?标签列表那就默认描述吧。搜索结果也默认描述。首页当然也一样默认描述咯。处理过程1、分类WordPress自带了描述输入框,但没有关键字输入框,我们先给它加上关键字输入框,在你主题的functions.php添加如下代码。
//分类TDK$category_meta = array( array("name" => "categorykws","std" => "","title" => __(39;SEO关键词', 'haoui').':'));function yumu_add_category_field(){ global $category_meta; foreach($category_meta as $meta_box) { echo '<div class="form-field"><label for="'.$meta_box['name'].'">'.$meta_box['title'].'</label><input name="'.$meta_box['name'].'" id="'.$meta_box['name'].'" type="text" value="" size="40">'.'</div>'; } }function yumu_edit_category_field($tag){ global $category_meta; foreach($category_meta as $meta_box) { echo '<tr class="form-field"><th scope="row"><label for="'.$meta_box['name'].'">'.$meta_box['title'].'</label></th><td><input name="'.$meta_box['name'].'" id="'.$meta_box['name'].'" type="text" value="'; echo get_option(''.$meta_box['name'].'-'.$tag->term_id).'" size="40"/>'.'</td></tr>'; }}function yumu_category_save($term_id){ global $category_meta; foreach($category_meta as $meta_box) { $data = $_POST[$meta_box['name']]; if(isset($data)){ if(!current_user_can('manage_categories')){ return $term_id; } $key = $meta_box['name'].'-'.$term_id; update_option( $key, $data ); } }}add_action('category_add_form_fields','yumu_add_category_field',10,2);add_action('category_edit_form_fields','yumu_edit_category_field',10,2);add_action('created_category','yumu_category_save',10,1);add_action('edited_category','yumu_category_save',10,1);
加好后去后台分类设置页刷新看看,是不是和下面图片一样?
已添加SEO关键字设置框
记住,为保障效果关键字与关键字之间用英文输入法的逗号隔开。
2、然后我们来调用关键字,同样在你主题的functions.php添加如下代码。
//SEO关键字function yumu_keywords_seo(){ $keywords = ''; if(is_singular()){ global $post, $posts; $gettags = get_the_tags($post->ID); if ($gettags) { foreach ($gettags as $tag) { $posttag[] = $tag->name; } $keywords = implode( ',', $posttag ); } }elseif(is_category()){ $keywords = get_option('categorykws-'.get_query_var('cat')); }elseif(is_tag()){ $keywords = single_tag_title('',false); }elseif(is_home()){ $keywords = '这里填写默认关键字,首页里面的关键字就来自此处,记住多个关键字用英文输入法的逗号隔开'; } if(empty($keywords)){ $keywords = '这也是默认关键字,可以和首页设置的不一样,随便你啦,你要一样就一样吧'; } return $keywords;}
然后添加描述,又。。又。。。又在你主题的functions.php添加代码。
//SEO描述function yumu_description_seo(){ $category_id = ''; $description = ''; if(is_singular()){ $description = get_the_excerpt ($post=null ); }elseif(is_category()){ $description = str_replace(array("<p>","","</p>", "\r", "\n"),"",category_description( $category_id )); }else{ $description = '默认描述啊'; } if(empty($description)){ $description = '默认描述啊'; }return $description;}
还没完,还要去主题放置SEO关键字和描述的地方调用下,现在是header.php文件,不要搞错了地方。
<meta name='keywords' content='<?php if(is_search()){$keywords = $s;}else{$keywords = yumu_keywords_seo();}echo $keywords;?>'/> <meta name='description' content='<?php if(is_search()){$description = $s;}else{$description = yumu_description_seo();}echo $description;?>'/>
把上面的代码放置在header.php文件的<head>和</head>中间,常日放置在标题下面,看起来会更都雅,当然不要太去世板,大概你的主题不一定是header.php文件,我只是拿自己在利用的主题举例,只要担保是在<head>和</head>中间即可。
什么?什么?标题?标题该当所有的主题都有集成处理吧。