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

今天咱们来谈谈怎么自定义typechokeyworddescription,以此达到优化seo的目的。

默认keyword和description

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

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

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

自定义字段改进

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

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

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

然后在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(); ?>前加入代码。如图所示:

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

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

-----天使漫步


分割线

文章发表以后,群里同学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。

版权声明:未经书面授权禁止转载、摘编、复制或建立镜像。对既成事实本站将保留所有的权利。