Hexo优化:提交sitemap

Hexo优化:提交sitemap

1. 前言

当个人的博客搭建起来后,此时通过关键词在搜索引擎上是查询不到的,只有等到百度或谷歌爬取到你的网页后才会把你的网页进行收录。通常,等着各大网站自动收录的时间通常需要较长的时间。因此,我们需要手动向搜引擎提交自己的网页地址,提供他们更为方便的爬取相应的内容,是别人更容易搜索到。

本文主要有以下内容:

1、链接优化

2、stiemap的生成

3、网站的验证

4、stiemap的提交

2. 验证博客是否被收录

在谷歌或百度的搜索链接中,使用以下方式来进行判断,如果能搜索到就说明已经被收录,反之则没有。

1
site:https://wenkaiyan-kevin.github.io/

hPoGZT.png

3. 优化网页链接

hexo默认生成的页面链接是一串很长的字符,这样是很不利于搜索引擎收录的,那么为了让我我们的网页更快的被收录,我们可以使用插件来解决这个问题。

安装缩短链接插件

1
npm install hexo-abbrlink --save

然后更改你博客目录下的_config.yml文件,添加如下配置:

1
2
3
4
5
6
7
8
permalink: posts/:abbrlink.html
abbrlink:
alg: crc32 # 算法:crc16(default) and crc32
rep: hex # 进制:dec(default) and hex
permalink_defaults:
pretty_urls:
trailing_index: true # Set to false to remove trailing 'index.html' from permalinks
trailing_html: true # Set to false to remove trailing '.html' from permalinks

安装完毕后此时再hexo clean && hexo g会发现生成的网页名称不再是一长串字符,而是固定的字符串,访问路径也统一变成了posts/xxx.html,这种简单的访问路径比较利于搜索引擎收录。

4. 添加robots.txt

robots.txt(统一小写)是一种存放于网站根目录下的 ASCII 编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不应被搜索引擎的漫游器获取的,哪些是可以被漫游器获取的。

在 source 目录下增加 robots.txt 文件, 我的 robots.txt 代码如下,请将域名改为自己的网站

1
2
3
# hexo robots.txt
User-agent: *
Allow: /

这样在下次部署博客(hexo d)时,robots.txt 就会被上传至网站了。

5. sitemap 的生成

Sitemap 可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页。最简单的 Sitemap 形式,就是 XML 文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间、更改的频率以及相对于网站上其他网址的重要程度为何等),以便搜索引擎可以更加智能地抓取网站。

简言之, 网站地图(Sitemap)对于搜索引擎优化(Search Engine Optimization,SEO)非常重要,在网站中加入 Sitemap 有利于搜索引擎蜘蛛的抓取和收录。我们用安装以下两个插件来生成适用于谷歌和百度的 sitemap

1
2
npm install hexo-generator-sitemap --save
npm install hexo-generator-baidu-sitemap --save

并在站点配置文件_config.yml中添加以下字代码

1
2
3
4
5
#hexo sitemap
sitemap:
path: sitemap.xml
baidusitemap:
path: baidusitemap.xml

之后每次在执行 hexo g 后,在public目录下都会生成了sitemap.xmlbaidusitemap.xml两个文件。

Tips:

插件生成的 sitemap 的文章链接,都是以站点配置文件中的 url 为基础的,如果将博客绑定了域名,那最好将 url 字段填写为绑定的域名。

6. 验证网站

在我们向搜索引擎提交 sitemap 之前,搜索引擎需要先验证我们对网站的所有权。

谷歌和百度两个搜索引擎提交的入口分别为:

Google Search Console

百度站长平台

验证的方法很多,我两个搜索引擎均采用==文件验证==的方法。

Google 添加链接后,会自动跳转至验证页面,供我们下载 HTML 验证文件。

验证的方法很多,我两个搜索引擎均采用文件验证的方法。Google 添加链接后,会自动跳转至验证页面,供我们下载 HTML 验证文件。

hPo3LV.png

谷歌验证示例

将下载的验证文件在 source 目录下。 为了使hexo不处理这两个验证文件,并且不生成关于这两个文件的 sitemap,我们需要打开验证文件,在最上面添加以下代码

1
2
3
layout: false
sitemap: false
---

hPoMzn.png

执行 hexo 部署命令

1
2
3
hexo clean
hexo g
hexo d

之后,就可以查看验证是否通过了。一般谷歌会很快给出验证结果,百度估计得等一天再去看。验证成功后的结果大致如下:

hPolMq.png

谷歌认证

hPo1s0.png

百度认证

7. sitemap 的提交

7.1 向谷歌提交

向谷歌提交 sitemap 比较简单,登录 Google Search Console ,选择已经验证过的站点,在站点地图中添加 sitemap.xml的链接即可,谷歌效率较高,一般当天或者第二天就能搜到了。

hPoJdU.png

我的不知道是什么原因,我使用sitemap.xml文件名提交显示无法读取,但是我把文件名换成sitemap-1.xml文件名后却可以成功?!不知为什么。

成功后的图如下:

hPoYoF.png

到这一步,你可以等着谷歌对你的网页进行收录了。

7.2 向百度提交

7.2.1 主动推送

为使用主动推送,需要安装插件 , 参考官方说明 Hexo 插件之百度主动提交链接

首先,在你博客的根目录下,安装本插件:

1
npm install hexo-baidu-url-submit --save

然后,同样在你博客的根目录下,把以下内容添加到 _config.yml 文件中:

1
2
3
4
5
baidu_url_submit:
count: 3 ## 比如 3,代表提交最新的三个链接
host: https://wenkaiyan-kevin.github.io/ ## 在百度站长平台中注册的域名
token: your_token ## 请注意这是您的秘钥, 请不要发布在公众仓库里 !
path: baidu_urls.txt ## 文本文档的地址, 会自动生成,新链接会保存在此文本文档里

其次,记得查看 _config.ym 文件中 url 的值, 必须包含是百度站长平台注册的域名,比如我的就是我博客的地址https://wenkaiyan-kevin.github.io/

_config.ym 文件中 url 的值的位置

1
2
3
# URL
url: https://wenkaiyan-kevin.github.io/
root: /

如果想查看你的秘钥,按照如下方式查看即可:

hPoNi4.png

最后,加入新的 deployer:

1
2
deploy:
- type: baidu_url_submitter

执行 hexo deploy 的时候,新的连接就会被推送了。主动推送是否成功会在执行 hexo deploy 时显示, success后的数字为主动推送成功的链接数

7.2.2 sitemap提交

与上一个方法相比较,这个方法更为简单,按照如下所示提交即可,不过需要等上个一两天时间才能看到结果,最初的状态是等待。填写的内容,例如我的是:https://wenkaiyan-kevin.github.io/baidusitemap.xml

hPoaW9.png

过几天成功后如下图所示:

hPoUJJ.png

作者

Yan Wenkai

发布于

2021-08-23

更新于

2021-08-24

许可协议

评论