Hexo优化:提交sitemap
1. 前言
当个人的博客搭建起来后,此时通过关键词在搜索引擎上是查询不到的,只有等到百度或谷歌爬取到你的网页后才会把你的网页进行收录。通常,等着各大网站自动收录的时间通常需要较长的时间。因此,我们需要手动向搜引擎提交自己的网页地址,提供他们更为方便的爬取相应的内容,是别人更容易搜索到。
本文主要有以下内容:
1、链接优化
2、stiemap的生成
3、网站的验证
4、stiemap的提交
2. 验证博客是否被收录
在谷歌或百度的搜索链接中,使用以下方式来进行判断,如果能搜索到就说明已经被收录,反之则没有。
1 | site:https://wenkaiyan-kevin.github.io/ |
3. 优化网页链接
hexo默认生成的页面链接是一串很长的字符,这样是很不利于搜索引擎收录的,那么为了让我我们的网页更快的被收录,我们可以使用插件来解决这个问题。
安装缩短链接插件
1 | npm install hexo-abbrlink --save |
然后更改你博客目录下的_config.yml文件,添加如下配置:
1 | permalink: posts/:abbrlink.html |
安装完毕后此时再hexo clean && hexo g
会发现生成的网页名称不再是一长串字符,而是固定的字符串,访问路径也统一变成了posts/xxx.html,这种简单的访问路径比较利于搜索引擎收录。
4. 添加robots.txt
robots.txt(统一小写)是一种存放于网站根目录下的 ASCII 编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不应被搜索引擎的漫游器获取的,哪些是可以被漫游器获取的。
在 source 目录下增加 robots.txt 文件, 我的 robots.txt 代码如下,请将域名改为自己的网站
1 | # hexo robots.txt |
这样在下次部署博客(hexo d
)时,robots.txt 就会被上传至网站了。
5. sitemap 的生成
Sitemap 可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页。最简单的 Sitemap 形式,就是 XML 文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间、更改的频率以及相对于网站上其他网址的重要程度为何等),以便搜索引擎可以更加智能地抓取网站。
简言之, 网站地图(Sitemap)对于搜索引擎优化(Search Engine Optimization,SEO)非常重要,在网站中加入 Sitemap 有利于搜索引擎蜘蛛的抓取和收录。我们用安装以下两个插件来生成适用于谷歌和百度的 sitemap
1 | npm install hexo-generator-sitemap --save |
并在站点配置文件_config.yml中添加以下字代码
1 | #hexo sitemap |
之后每次在执行 hexo g
后,在public目录下都会生成了sitemap.xml
和baidusitemap.xml
两个文件。
Tips:
插件生成的 sitemap 的文章链接,都是以站点配置文件中的 url 为基础的,如果将博客绑定了域名,那最好将 url 字段填写为绑定的域名。
6. 验证网站
在我们向搜索引擎提交 sitemap 之前,搜索引擎需要先验证我们对网站的所有权。
谷歌和百度两个搜索引擎提交的入口分别为:
验证的方法很多,我两个搜索引擎均采用==文件验证==的方法。
Google 添加链接后,会自动跳转至验证页面,供我们下载 HTML 验证文件。
验证的方法很多,我两个搜索引擎均采用文件验证的方法。Google 添加链接后,会自动跳转至验证页面,供我们下载 HTML 验证文件。
谷歌验证示例
将下载的验证文件在 source 目录下。 为了使hexo不处理这两个验证文件,并且不生成关于这两个文件的 sitemap,我们需要打开验证文件,在最上面添加以下代码
1 | layout: false |
执行 hexo 部署命令
1 | hexo clean |
之后,就可以查看验证是否通过了。一般谷歌会很快给出验证结果,百度估计得等一天再去看。验证成功后的结果大致如下:
谷歌认证
百度认证
7. sitemap 的提交
7.1 向谷歌提交
向谷歌提交 sitemap 比较简单,登录 Google Search Console ,选择已经验证过的站点,在站点地图中添加 sitemap.xml的链接即可,谷歌效率较高,一般当天或者第二天就能搜到了。
我的不知道是什么原因,我使用sitemap.xml文件名提交显示无法读取,但是我把文件名换成sitemap-1.xml文件名后却可以成功?!不知为什么。
成功后的图如下:
到这一步,你可以等着谷歌对你的网页进行收录了。
7.2 向百度提交
7.2.1 主动推送
为使用主动推送,需要安装插件 , 参考官方说明 Hexo 插件之百度主动提交链接
首先,在你博客的根目录下,安装本插件:
1 | npm install hexo-baidu-url-submit --save |
然后,同样在你博客的根目录下,把以下内容添加到 _config.yml 文件中:
1 | baidu_url_submit: |
其次,记得查看 _config.ym 文件中 url 的值, 必须包含是百度站长平台注册的域名,比如我的就是我博客的地址https://wenkaiyan-kevin.github.io/
_config.ym 文件中 url 的值的位置
1 | # URL |
如果想查看你的秘钥,按照如下方式查看即可:
最后,加入新的 deployer:
1 | deploy: |
执行 hexo deploy 的时候,新的连接就会被推送了。主动推送是否成功会在执行 hexo deploy 时显示, success后的数字为主动推送成功的链接数
7.2.2 sitemap提交
与上一个方法相比较,这个方法更为简单,按照如下所示提交即可,不过需要等上个一两天时间才能看到结果,最初的状态是等待。填写的内容,例如我的是:https://wenkaiyan-kevin.github.io/baidusitemap.xml
过几天成功后如下图所示:
Hexo优化:提交sitemap