前言
Handsome 是一款很不错的主题,同一个主题不同的站点有不同的风格。以下是本站基于 Handsome 主题的各项修改记录,包含有隐藏动态日历、搜索引擎优化(SEO关键词&描述)
隐藏动态日历
动态日历在后台没有显示/隐藏的选择,可以给对应的标签组添加 hide 样式进行隐藏。
文件路径:/handsome/component/headnav.php
查找代码:
<ul class="nav navbar-nav hidden-sm">
修改为:
<ul class="nav navbar-nav hidden-sm hide">
搜索引擎SEO(TDK)优化
Typecho 的 TDK 优化可以说是非常烂,只能设置全站的关键词和描述,文章或页面没有对应的设置,只能自行添加自定义字段实现;部分主题针对该问题在编辑页面有预设对应的字段输入框,但是 Handsome 主题没有,根据下面的步骤可以自己添加上去。
1.文章编辑页面添加自定义字段
文件路径:/handsome/functions_mine.php
查找代码(大概在第689行):
$thumbChoice = new Typecho_Widget_Helper_Form_Element_Select('thumbChoice', array(
在前面空出一行,插入以下代码:
// SEO关键词的自定义字段
$keyword = new Typecho_Widget_Helper_Form_Element_Text('keyword', NULL, "", _t('SEO 关键词'), _t('多个关键词用英文下逗号隔开'));$keyword->input->setAttribute('class', 'text w-100');
$layout->addItem($keyword);
// SEO描述的自定义字段
$description = new Typecho_Widget_Helper_Form_Element_Text('description', NULL, "", _t('SEO 描述'), _t('建议在100字以内'));$description->input->setAttribute('class', 'text w-100');
$layout->addItem($description);
2.修改 hender 默认输出的关键词与描述
文件路径:/handsome/component/hender.php
查找代码(大概在第54行):
<?php $this->header(Content::exportGeneratorRules($this)); ?>
修改为:
<?php $this->header('keywords=&description='); ?>
然后在下一行添加以下代码:
<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->keyword;if(empty($k) || !$this->is('single')){echo $this->keywords();}else{ echo $k;};?>" />
需要给文章或独立页面设置 SEO 关键词和描述时,可以在编辑页面的自定义字段进行设置。
随后可以使用浏览器的开发人员工具,切换至页面元素,查找 keywords 和 description 验证是否和编辑文章时设置的一致。