2024 年我的 Hexo 博客终极方案 -(二)优化
我将我的 Hexo 博客方案分为了三篇:
Hexo 插件
hexo-abbrlink
hexo-abbrlink 插件可以为每一篇文章通过通过算法生成一个唯一且永久的链接,截止到 2024 年 03 月 23 日为止,这个插件已经有两年没有更新了,但是仍然可以使用。
我个人喜欢比较简短的链接,比如 https://lvxianchao.com/5d23b6a.html
这种,至于把博文标题给转为拼音放到链接里去那种,弄得链接又臭又长的,看着很难受,虽然利于 SEO,但我宁愿不要。
安装
1 | bun add hexo-abbrlink --save |
我的配置
1 | # _config.yml |
使用注意
想要这个插件生效,就不能写完了一篇博文以后直接使用 hexo d
部署到服务器上了,这样会使得插件来不及生成文章的绝对链接。
需要先使用 hexo g
生成文章,插件会在每一篇博文的头加一个 abbrlink
属性,比如:
1 |
|
虽然不能直接使用 hexo d
了,但可以使用 hexo g -d
来达到同样的效果。
hexo-filter-nofollow
hexo-filter-nofollow 插件可自动将 nofollow
属性添加到所有的外部链接,它会在外部链接的 a
标签上加上 rel="noopener external nofollow noreferrer"
属性,以确保安全、隐私和 利于 SEO 。
rel="noopener external nofollow noreferrer"
是一个集合了多个值的 rel
属性,这些值通常用于 <a>
标签(锚点)以设定链接与打开它们的当前文档之间的关系。每个值的意义如下:
noopener
- 安全性:打开新的浏览器标签时,阻止新页面通过window.opener
访问打开它的页面。这有助于提升安全性。external
- 一般用于指示这个链接将会导向一个外部、与当前网站不属于同一域名的资源。这个值本身并不改变浏览器的默认行为,它更多被用作语义标记,有时用于样式化或特殊处理外部链接。nofollow
- 指示搜索引擎不要追踪(即不传递权重)这个链接导向的网页。这在 SEO(搜索引擎优化)中很有用,尤其是当你不希望支持或增强指向的页面的权重时。noreferrer
- 隐私和安全性:指示浏览器在请求目标页面时,不发送来源页面的地址(HTTP Referer Header)。这能够保护用户隐私,并且和noopener
一样,可以提升安全性。
使用这个属性组合的时候,就是在告诉浏览器:
- 打开这个链接不应该有访问来源页面 JavaScript 环境的权限 (noopener)。
- 这个链接指向的是一个外部网站,但这不会影响浏览器行为,只是额外信息(external)。
- 不应该影响搜索引擎排名(nofollow)。
- 请求时不应发送HTTP Referer头部,作为用户隐私的保护(noreferrer)。
- 将这些值一起使用为链接提供了额外的安全和隐私保障,并能够控制搜索引擎对链接的处理,而且能够表明链接导向的是一个外部站点。
安装
1 | bun add hexo-filter-nofollow --save |
配置
hexo-filter-nofollow
支持以下配置:
1 | nofollow: |
插件安装以后是默认开启的状态,由于我没有特殊需要,所以我并没有将这些配置写入到 _config.yml
。
hexo-generator-sitemap
hexo-generator-sitemap 插件可以自动生成站点地图,利于 SEO。
1 | bun add hexo-generator-sitemap --save |
hexo-generator-baidu-sitemap
针对百度的 sitemap。
1 | bun add hexo-generator-baidu-sitemap --save |
百度主动推送
百度的普通收录工具是网站主动向百度搜索推送数据的工具,可以缩短爬虫发现网站链接时间,实时向搜索推送数据。
普通收录工具主要包含 API 推送、sitemap、手动提交 三种方式,我只选择 API 推送,因为这种方式可以通过 Hexo 插件实现,最快最方便,不需要人工操心。
添加站点
在 https://ziyuan.baidu.com/site/index 里添加一个网站,协议选择 HTTPS
,域名填写 lvxianchao.com
。
验证方式
验证方式里选择一个适合的,我这里选择的是 HTML 文件验证,将下载下来的 HTMl 文件上传到服务器的博客站点根目录即可。
hexo-baidu-url-submit
通过 Hexo 插件 hexo-baidu-url-submit 来实现自动主动推送。
安装
1 | bun add hexo-baidu-url-submit --save |
配置
在 _config.yml
中添加以下配置内容:
1 | #设置百度主动推送 |
这里需要注意,host
配置项的值需要与你在百度资源平台里添加的网站域名相同。
在 deploy
配置项里添加一条部署类型:- type: baidu_url_submitter
,比如我的:
1 | deploy: |
在之后执行 hexo d
的时候就会推送到百度了。
Google Search Console
在 Google Search Console 页面,选择资源类型 网域
,只需要在 DNS 服务商处添加一条 TXT
记录即可。
点击 继续
以后,在新的弹出窗口中复制 TXT
记录,并去 DNS 服务商那里添加上,然后点击 验证
。
之后可以 站点地图
菜单中主动提交 sitemap。
不过我个人感觉 Google 的收录频率非常高,可比百度强多了,不需要我手动,如果之后能有自动主动提交的工具再来更新。
必应
必应可以直接同步 Google Search Console 的数据,所以可以直接在 https://www.bing.com/webmasters 以 Google 账号登录上去选择 从 GSC 导入你的网站
就可以了。