聊聊我是怎么处理SEO关键字和描述的

建站教程2022-10-07九凌少子

我的语幕一共就那么几个板块,首页、搜索结果页、分类列表、标签列表、文章详情和页面详情,看我博客的人也应该清楚我是个喜欢简洁和不爱折腾的人,你叫我安装插件来处理那是不太可能的并且我好不容易给自己做了个自认为简洁的主题,我也不会让它脱离简洁这个目标,所以我只能通过自己来处理SEO关键字和描述。

思路

我把SEO关键字和描述分了四块分别是默认、详情、列表和搜索结果来进行处理。

默认:没有特定关键字或描述的一律归为默认。

详情:文章和页面是有详情页面的,所以这一块归类到详情里面来处理。

列表:分类列表、标签列表。

搜索结果:无需多说,就是字面意思。

SEO关键字

  • 文章详情页调用文章的标签。
  • 页面详情(要个毛的特定关键字)直接采用默认关键字。
  • 分类列表调用分类的专属SEO关键字。
  • 标签列表?标签自己不就是关键字吗?
  • 搜索结果直接使用搜索的关键字作为SEO关键字好了。
  • 首页当然也是默认。

SEO描述

  • 文章详情页emmmmmmm,直接取文章前面200个字符好了。
  • 页面详情,一样啦,取前面200个字符。
  • 分类列表。。。。我记得添加分类的时候WordPress是自带描述这么一个输入框的吧?
  • 标签列表那就默认描述吧。
  • 搜索结果也默认描述。
  • 首页当然也一样默认描述咯。

处理过程

1、分类WordPress自带了描述输入框,但没有关键字输入框,我们先给它加上关键字输入框,在你主题的functions.php添加如下代码。

//分类TDK
$category_meta = array( 
array("name" => "categorykws","std" => "","title" => __('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关键字和描述的-语幕
已添加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>中间即可。

什么?什么?标题?标题应该所有的主题都有集成处理吧。

相关阅读

WordPress免插件去除腾讯视频广告

作为一个使用小水管服务器的站点,为了给网站添加在线视频通常的操作都会把视频上传至优酷、土豆或者腾讯视频等专业的视频网站中,然后在使用iframe的方式把视频放入自己的站点,这种方法在理想状态下是可行的,可事实却往往与理想存在太大差距,这类视频网站引用过来的视频开头或结束会带上对方推广的广告,试想一下一个本来就几十秒的短视频带上了一个超过1分钟的广告,体验让人真的很糟心。 这里便向大家推荐一个不使用…

建站教程 2020-06-22
WordPress免插件去除腾讯视频广告

使用WP-China-Yes插件优化和翻译你的WordPress后台

因WordPress的服务器在国外,中国区站长一直无法很好的体验插件中心,且不能与wordpress.org主服务器保持良好的通信服务,年初,WordPress官方还曾因为被攻击,导致WordPress的CDN阻止了中国大陆的用户访问,导致大陆用户在访问插件主题商场等服务时报告429错误。 且WordPress官网访问网络慢、参与门槛高、机制不适宜国内大环境以及社区中充斥着台独、美左份子对大陆华人…

建站教程 2020-10-08
使用WP-China-Yes插件优化和翻译你的WordPress后台

WordPress发送邮件设置

WordPress在修改登陆邮箱或找回登陆密码的时候,通常都需要发送邮件来进行操作验证,但服务商又禁止了服务器对外发送邮件的25端口,很多虚拟主机本身也禁用了mail函数,根本发不了邮件。 此时我们可以使用QQ邮箱、网易邮箱或者其他企业邮箱的SMTP功能做为WordPress发送邮件的方案。 使用SMTP功能的方式很简单,只需要将下列代码加入到functions.php文件即可 使用时请参照代码里…

建站教程 2020-09-23
WordPress发送邮件设置

给WordPress文章添加广告位

想必有很多伙计的WordPress站点是没有广告位的,就算有广告位也很难得有文章中间的广告位,就像下面图片中的广告,直接显示在文章中间。 这里就给伙计们推荐一段代码来实现给文章添加广告位的目的,请把下面的代码放入functions.php文件。然后在第7行放入自己的广告代码,可以是谷歌联盟也可以是自己制作的其他图片广告或html代码。 其中第10行有一个数字2,表示此广告将插入到文章的第二段落后面…

建站教程 2020-12-06
给WordPress文章添加广告位

WordPress隐藏后台登录界面的语言切换

最近WordPress推送了5.9版本的更新,我也跟着进行了升级,刚升级的时候没发现,后面在家无聊,登录语幕后台在登录界面看到出现一个很长的语言切换条,作为国际化的CMS系统在后台登录界面添加语言切换我想是没问题的,但我的个人博客只有我自己一个人需要登录后台,默认使用中文即可,完全不需要进行语言切换操作,因此这个语言切换条对我而言毫无用处且显得碍眼。 想要删除后台登录界面的语言切换条其实很简单,只…

建站教程 2022-02-04
WordPress隐藏后台登录界面的语言切换
语幕微信扫码关注公众号
回到顶部