前言

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(

Snipaste_2023-10-09_21-09-15.png

在前面空出一行,插入以下代码:

// 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);

Snipaste_2023-10-09_21-11-10.png

2.修改 hender 默认输出的关键词与描述

文件路径:/handsome/component/hender.php

查找代码(大概在第54行):

<?php $this->header(Content::exportGeneratorRules($this)); ?>

Snipaste_2023-10-09_21-59-59.png

修改为:

<?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;};?>" />

Snipaste_2023-10-09_22-01-34.png

需要给文章或独立页面设置 SEO 关键词和描述时,可以在编辑页面的自定义字段进行设置。

Snipaste_2023-10-09_22-03-46.png

随后可以使用浏览器的开发人员工具,切换至页面元素,查找 keywords 和 description 验证是否和编辑文章时设置的一致。

最后修改:2023 年 10 月 10 日
如果觉得我的文章对你有用,请随意赞赏