typecho-seo优化之通过自定义字段优化keyword和description篇
今天咱们来谈谈怎么自定义typecho
的keyword
和description
,以此达到优化seo的目的。
默认keyword和description
typecho
中默认的keyword
值和description
是从Widget_Archive
中的header函数输出的,函数的原型如下:
从函数中可以看得出,默认的keyword
和description
是根据全局配的options
值和类的options
来确定。如果你想每个页面有不一样的keyword
和description
,那原生的typecho框架根本就没有支持,这可能是typecho被指责在seo方面不友好的原因之一。
用自定义字段改进
在本站中多次强调了扩展字段的重要性,可以参考文章《往typecho插入文章之自定义字段用法及扩展》和《typecho自定义字段的那些坑儿》,而不是自己修改数据库表来扩展字段。
其实看到这里对于熟悉typecho
的朋友应该已经知道方法,也就是在后台设置两个字段,如下图所示:
然后在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')));
}
}
<!-- 通过自有函数输出HTML头部信息 -->
<?php $this->header(); ?>
即在代码片段<?php $this->header(); ?>
前加入代码。如图所示:
通过以上方法,在写文章的时候手动设置keyword
和description
,渲染文章的时候就能够达到每一篇文章的keyword
和description
都不一样,在搜索引擎收录文章的时候不至于主题词千篇一律。
-----天使漫步
分割线
文章发表以后,群里同学Roogle
指出:
建议header输出更改为根据页面和文章和分类单独判断,如果是页面和文章都调用自定义字段keyword和description,如果是分类调用系统默认keyword和分类描述,不过现在好像各大搜索引擎对于keyword并不作为,keyword基本形同摆设,博客类文章好像tag的权重一般会比较高,将tag拼加入keyword和description应该是极好的。如果有喜欢用more标签的可以用直接截取文章开头200中文字符。
把上面那段话归纳为:
- keyword在seo中的地位不再重要,可以弱化。
- tag权重更高,注意标签的选择和填写。(typecho就是把tag合并为keyword进行输出)
- more标签告诉typecho生成description。
版权声明:未经书面授权禁止转载、摘编、复制或建立镜像。对既成事实本站将保留所有的权利。
评论已关闭