typecho-seo优化之通过自定义字段优化keyword和description篇

今天咱们来谈谈怎么自定义`typecho`的`keyword`和`description`,以此达到优化seo的目的。

**默认keyword和description**

`typecho`中默认的`keyword`值和`description`是从`Widget_Archive`中的header函数输出的,函数的原型如下:

![typecho-header函数原型.png][1]

从函数中可以看得出,默认的`keyword`和`description`是根据全局配的`options`值和类的`options`来确定。如果你想每个页面有不一样的`keyword`和`description`,那原生的typecho框架根本就没有支持,这可能是typecho被指责在seo方面不友好的原因之一。

**用自定义字段改进**

在本站中多次强调了扩展字段的重要性,可以参考文章《[往typecho插入文章之自定义字段用法及扩展][2]》和《[typecho自定义字段的那些坑儿][3]》,而不是自己修改数据库表来扩展字段。

其实看到这里对于熟悉`typecho`的朋友应该已经知道方法,也就是在后台设置两个字段,如下图所示:

![typecho-自定义字段][4]

然后在header.php中可以这样输出,在自定义输出之前加入代码:

if($this->is(‘single’)){

//【全站统一的规则】对于post/page页面,有限使用自定义字段中的设置

if(isset($this->fields->description)){

$this->setDescription($this->fields->description);
}
if(isset($this->fields->keywords)){
//如果有填写keywords,则优先使用,否则则尝试从标签生成关键字

$this->setKeywords($this->fields->keywords);

}else{
$this->setKeywords(implode(‘,’,Typecho_Common::arrayFlatten($this->tags, ‘name’)));
}

}


header(); ?>

即在代码片段`header(); ?>`前加入代码。如图所示:

![typecho-seo优化keyword和description][5]

通过以上方法,在写文章的时候手动设置`keyword`和`description`,渲染文章的时候就能够达到每一篇文章的`keyword`和`description`都不一样,在搜索引擎收录文章的时候不至于主题词千篇一律。

—–天使漫步

———
分割线
———

文章发表以后,群里同学`Roogle`指出:

建议header输出更改为根据页面和文章和分类单独判断,如果是页面和文章都调用自定义字段keyword和description,如果是分类调用系统默认keyword和分类描述,不过现在好像各大搜索引擎对于keyword并不作为,keyword基本形同摆设,博客类文章好像tag的权重一般会比较高,将tag拼加入keyword和description应该是极好的。如果有喜欢用more标签的可以用直接截取文章开头200中文字符。

把上面那段话归纳为:

1. keyword在seo中的地位不再重要,可以弱化。
2. tag权重更高,注意标签的选择和填写。(typecho就是把tag合并为keyword进行输出)
3. more标签告诉typecho生成description。

[1]: https://www.typechodev.com/usr/uploads/2017/03/3319377588.png
[2]: https://www.typechodev.com/plugin/741.html
[3]: http://typecho%E8%87%AA%E5%AE%9A%E4%B9%89%E5%AD%97%E6%AE%B5%E7%9A%84%E9%82%A3%E4%BA%9B%E5%9D%91%E5%84%BF
[4]: https://www.typechodev.com/usr/uploads/2017/03/3481314935.jpeg
[5]: https://www.typechodev.com/usr/uploads/2017/03/4228272062.jpeg

上一篇 2017-02-28 上午8:20
下一篇 2017-02-28 上午9:47