Typecho博客SEO最基础的就是TDK了(title description keywords 的缩写,是三个定义标签,中文译为:标题、描述、关键词),TDK就是用来给搜索引擎看的信息。

Typecho默认SEO的T就是文章标题,D是截取文章开头的文字,K是文章标签,DK的设置明显不是那么太合理,描述过于死板,标签当关键词很不合理,且无法自定义,对SEO不够友好。不过可以通过修改文件,使用自定义字段功能设置描述与关键词。过程如下

一:增加文章编辑页面自定义字段(关键词以及描述)

打开 usr/themes/handsome/functions_mine.php文件,在文件(**function themeFields(Typecho_Widget_Helper_Layout $layout)函数内即可)增加如下代码:

$description = new Typecho_Widget_Helper_Form_Element_Text('description', NULL, NULL, _t('描述'), _t('简单一句话描述'));$description->input->setAttribute('class', 'text w-100');
$layout->addItem($description);
$keywords = new Typecho_Widget_Helper_Form_Element_Text('keywords', NULL, NULL, _t('关键词'), _t('多个关键词用英文下逗号隔开'));$keywords->input->setAttribute('class', 'text w-100');
$layout->addItem($keywords);

如图我的在714行

增加文章自定义字段

二:修改文件,让自定义字段变成文章的描述和关键词

打开 usr/themes/handsome/component文件,在(<head>-</head>头部信息之间中)首先屏蔽默认输出的关键词与描述信息 <?php $this->header(Content::exportGeneratorRules($this)); ?>

然后增加如下代码:

<meta name="description" content="<?php $d=$this->fields->description;if(empty($d) || !$this->is('single')){if($this->getDescription()){echo $this->getDescription();}}else{ echo $d;};?>" />
 <meta name="keywords" content="<?php $k=$this->fields->keywords;if(empty($k) || !$this->is('single')){echo $this->keywords();}else{ echo $k;};?>" />

如图我的在36行。我直接把默认输出的关键词与描述信息 <?php $this->header(Content::exportGeneratorRules($this)); ?>删除了……

自定义字段变成文章的描述和关键词

这样写好后,如果自定义字段为空就使用默认的description和keywords标签,即description是截取文章开头的文字,keywords是文章标签。自定义字段不为空就使用自定义字段的描述与关键词。

OK,大功告成,刷新页面就可以看到效果。

Last modification:May 16, 2022
如果觉得我的文章对你有用,请随意赞赏