为网页添加SEO优化以及将butterfly的背景统一
添加Google | Bing | Baidu 收录
永久化 URL 网址链接
输入yarn add hexo-addrlink --save
安装hexo-addrlink
插件,然后在_config.yml
文件中添加以下配置:1
2
3
4
5
6
7
8
9# URL
## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project'
url: https://www.teslongxiao.cn/
permalink: posts/:abbrlink.html
#并在最底下加入
# abbrlink config
abbrlink:
alg: crc32 # support crc16(default) and crc32
rep: hex # support dec(default) and hex
配置完成后,每篇文章的链接将变为 https://username.github.io/posts/abbrlink.html
,其中 abbrlink
是文章的唯一标识符,比如https://www.teslongxiao.cn/posts/56011.html
加入站点地图
输入yarn add hexo-generator-sitemap hexo-generator-baidu-sitemap --save
安装hexo-generator-sitemap
和hexo-generator-baidu-sitemap
插件,然后在_config.yml
文件中添加以下配置:1
2
3
4
5# 站点地图
sitemap:
path: sitemap.xml
baidusitemap:
path: baidusitemap.xml
配置完成后,每次生成网站时,sitemap.xml
和 baidusitemap.xml
文件将会自动生成,其中 sitemap.xml
是通用的站点地图文件,baidusitemap.xml
是针对百度搜索引擎的站点地图文件。
检查生成站点地图
检查是否生成成功,首先hexo d
提交,过几分钟后,打开https://你的域名/sitemap.xml
和https://你的域名/baidusitemap.xml
,如果出现以下内容,则说明生成成功:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>你的网站地址</loc>
<lastmod>2025-01-27T09:13:08.000Z</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>你所发布文章的地址</loc>
<lastmod>2025-01-27T09:13:08.000Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
</urlset>
添加蜘蛛协议
给你的hexo
网站添加蜘蛛协议robots.txt
,在/source/
下创建一个名为 robots.txt
的文件,并添加以下内容:1
2
3
4
5User-agent: *
Allow: /
Sitemap: https://你的域名/sitemap.xml
Sitemap: https://你的域名/baidusitemap.xml
其中的Allow: /
这里允许所有搜索引擎爬取网站的所有内容,Sitemap:
后面分别填写你的站点地图地址,这样搜索引擎就会爬取你的站点地图,从而收录你的网站。
添加Baidu收录
提交站点
首先,登录百度站长平台,在站点管理中添加你的网站,并验证网站所有权。验证方式有几种,比如文件验证、HTML标签验证、CNAME验证等,具体可以参考百度站长平台的文档。
这里我用HTML标签验证
把content后面的值复制到theme/butterfly/_config.yml
1
2
3
4
5site_verification:
# - name: google-site-verification
# content: xxxxxx
- name: baidu-site-verification
content: 这里填你的content
提交部署后,过几分钟等待git提交完成,在百度站长平台,完成验证。
推送到百度
- API自动提交
然后输入yarn add hexo-baidu-url-submit --save
安装hexo-baidu-url-submit
插件,然后在_config.yml
文件中添加以下配置:按照注释修改即可。1
2
3
4
5
6# 主动推送百度,被百度收录
baidu_url_submit:
count: 10 # 提交最新的10个链接
host: # 百度站长平台中注册的域名
token: # 秘钥,百度站长平台 > 普通收录 > 资源提交 > API提交 >接口调用地址中token字段
path: baidu_urls.txt # 文本文档的地址, 新链接会保存在此文本文档里,不用改
最后在_config.yml
的deploy
中加入这样每次部署的时候,就会自动提交到百度。1
2
3
4
5deploy:
- type: git
repo: https://github.com/你的用户名/你的用户名.github.io.git
branch: main
+ - type: baidu_url_submit - 手动提交
在百度站长平台,点击链接提交 > 自动提交 > 主动推送,将https://你的域名/baidusitemap.xml
和https://你的域名/sitemap.xml
填入,然后点击提交即可。
添加 Google 收录
注册并验证网站所有权
首先,访问 Google Search Console 注册你的站点,并验证网站所有权。Google 提供多种验证方式,如文件验证、HTML标签验证、CNAME验证等。详细内容请参考 Google Search Console的文档。提交域名
- 在左侧选择“网域”验证,输入你的域名,然后点击验证。
- 验证方式为通过 DNS 记录验证,此时会弹出窗口,提示你进行配置:
- 以阿里云的域名管理为例:
- 记录类型:选择
TXT
。 - 主机记录:填写
@
(即主域名)。 - 记录值:按提示要求填写。
- 记录类型:选择
- 保存后,点击验证,稍等几分钟,验证成功后点击完成验证。
添加站点地图
在 Google Search Console 中,点击站点地图,将https://你的域名/sitemap.xml
填入,并点击添加。请注意,Google 可能需要几小时至一天的时间来处理和显示站点地图。提交网站前缀
选择右侧的“网站前缀”,输入你对应的网站信息,并选择HTML标记
:- 将
content
后面的值复制到你 Hexo 站点的theme/butterfly/_config.yml
文件中。 - 然后执行以下命令发布到 GitHub:
hexo cl;hexo g;hexo d
- 等待几分钟,Google Search Console 会自动检测到你的网站,并显示
已验证
。这个等待时间比较长,我尝试十多分钟才显示已验证,中间还以为没上传到,重新上传一次又检查了
/public/index.html
的前面部分看看有没有生成<meta name="google-site-verification" content="你的content字符串"/>
,所以耐心等待吧。
- 将
添加 Bing 收录
完成了Google的收录,Bing的收录就很简单了,直接在Bing站长平台用Google Search Console
的验证方式验证即可。
将butterfly的背景统一
使背景图片与首页index图片一致,使文章top_img放到文章的顶部(post_content上面),效果如下(gif经过压缩凑合看看):
修改主题的配置文件_config.yml
的Image Settings部分,在对应的位置修改成以下内容:
1 | disable_top_img: false |
然后在主题的配置文件_config.yml
的[inject.head]或者自定义css中引入以下css:
1 | /* 顶部图 */ |
最后在themes/butterfly/layout/includes/post.pug
为post.pug
大概在第九行添加以下内容:
1 | block content |
最后hexo cl;hexo g;hexo s
查看效果。
修改网站文章、侧边等卡片的背景
作者通过浏览器的检查工具,找到了文章卡片、侧边栏等卡片的css的id,然后修改了对应的css,使背景具有毛玻璃特效,效果如下:
- dark mode:
- light mode:
找到需要修改的元素所对应的id或class
首先按F12
打开控制台,然后点击Elements
,找到需要修改的元素,右键点击Copy
,然后选择Copy Selector
,如下图所示:
创建css文件
创建
themes/butterfly/source/css/_custom/layout/index.css
并在其中添加以下内容:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20#recent-posts .recent-post-item
,#aside-content .card-widget
,#post
,#page
,#archive{
background: rgba(255, 255, 255, .8); /* 设置背景颜色 */
box-shadow: 0 5px 6px -5px rgba(133, 133, 133, .6); /* 设置阴影效果 */
backdrop-filter: blur(7px); /* 添加毛玻璃特效 */
}
/*dark mode*/
[data-theme="dark"] #recent-posts .recent-post-item
,[data-theme="dark"] #post
,[data-theme="dark"] #aside-content .card-widget
,[data-theme="dark"] #page
,[data-theme="dark"] #archive{
background: rgba(24, 24, 30, .5);
backdrop-filter: blur(10px) brightness(1.2);
box-shadow: none; /* 移除阴影效果 */
}在主题的配置文件
_config.yml
中的inject:
加入:1
2
3
4
5head:
# - <link rel="stylesheet" href="/xxx.css">
- <link rel="stylesheet" href="/css/_custom/footer/footer.css">
- <link rel="stylesheet" href="css/_custom/post/modify.css">
+ - <link rel="stylesheet" href="css/_custom/layout/index.css">
最后hexo cl;hexo g;hexo s
查看效果。
该修改思路还可以运用在其他页面。
但值得注意的是,由于每次git pull
更新主题都会把style
等文件覆盖掉,所以需要把修改的文件放到source/css/_custom
中,这样每次git pull
更新主题时,修改的文件不会被覆盖掉。