最近没事找事,又看了会关于博客主题的东西,之前的sitemap一直没有弄上去,现在有时间就弄一下。

1.hexo安装sitemap插件

在你的hexo路径下执行如下命令,安装sitemap生成插件

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

实测在windows11的node v16.20.2npm 9.8.1下可以正常安装,但是安装baidu-sitemap插件的时候可能会有警告(不影响使用)

安装完毕插件后,在你的hexo配置文件_config.yml中添加如下内容,指定站点地图的文件名字即可。

1
2
3
4
5
6
7
# 百度和谷歌的sitemap
# npm install hexo-generator-baidu-sitemap --save
# npm install hexo-generator-sitemap --save
baidusitemap:
path: baidusitemap.xml
sitemap:
path: sitemap.xml

请注意,需要修改的是hexo的配置文件,并非主题配置文件!

2.如何修改hexo主题生成的index.html文件?

一般情况下,站点平台都会让你在index.html<head>里面加一个html语句,来验证站点的所有权。比图百度的验证html语句如下

1
<meta name="baidu-site-verification" content="验证码" />

部分hexo主题可能提供了自定义<head>的选项(比如butterfly主题就有)

如果你使用的主题没有提供自定义<head>,可以尝试在主题文件夹下搜索index或者head关键字,来找到当前主题使用的index.html生成源文件

该方法适用于将主题文件直接下载到themes文件夹下的情况,因为如果你用的是npm安装的主题,那么修改的主题文件是不会对其他地方的部署生效的,下一次更新主题还会覆盖掉。

比如下图是keep主题v3.6.1版本中的head.ejs,你只需要把提供的meta标签加到这里面,下一次部署的时候的index.html中就会带上这个标头了。

1
themes\keep\layout\_partial\head.ejs

image-20231208205004240

3.站长平台添加sitemap

百度

百度资源搜索平台 https://ziyuan.baidu.com/site/index#/

百度实在是无语,之前安装了hexo-baidu-url-submit插件,主动调用百度api给他推送url,结果弄了已经快一年了,还没有收录我的站点。

实话说,百度不收录站点,网站看的人就很少。百度我自己博客的关键词,结果是一堆被百度收录的爬虫站点用我的文章赚流量。唉……

在资源搜索平台的站点管理中添加你的站点,用第二点提到的方式进行验证

image-20231208205611557

添加完毕后,在普通收录中可以找到sitemap提交的区域。但是不知道为什么我这里的提交配额是0,搜索了一下也没有找到原因。

image-20231208205652153

百度资源平台提交sitemap是取消了还是我被限制了?

有人说是站点质量太低被百度屏蔽了,但是这个情况也是很多人都遇到过的。估计是百度策略更新什么的,不允许你添加了吧!

如果你已经添加了sitemap,请不要将其删除,免得到时候又没有办法添加了。

bing

bing的站长平台直接搜就行:https://www.bing.com/webmasters/about?setlang=zh-cn

国内裸连可能不稳定,需要用点方法。

不过bing即便不提交sitemap也咔咔收录了我的博客,主打一个主动+来者不拒。

进去之后,用微软账户登录,然后点击新增站点,输入你博客的域名

image-20231208203803163

bing会让你验证站点所有权,根据下面三种方式的指引,选择一种就行了。如果你不知道如何修改hexo的源文件,使用CNAME验证方式是最简单的(只要你有域名有权就行了)。

image-20231208204120311

不过估计有很多老哥都是白嫖的github pages或者netlify/vercel的二级域名,在没有域名所有权的情况下,你可以用前两种方式来验证。

  • XML文件方式:将bing提供的XML文件下载,然后放到你hexo源目录的source文件夹下,就可以了。
  • HTML MATE标记验证:部分hexo主题可能提供了自定义header的选项(比如butterfly主题就有)其他主题可以参考上文第二点操作

域名验证完毕后,在左侧可以提交网站地图(即sidemap)

直接点击按钮提交你的站点地图的url就可以了。bing会自动进行处理,如下图我的第一个sitemap已经成功处理出来了383个链接,非常完美。

image-20231208204707769

谷歌

实话说,一个纯中文且面向国内读者的站点,在谷歌上面收录了估计也没多大用处,但是可以没用,但不能没有。也给他弄一下吧。

https://search.google.com/search-console/welcome

首先是输入站点网址,因为我不需要验证所有站点,只把博客收录了就行,所以这里我选的是网址前缀。输入站点的时候需要把http也带上

image-20231208210159103

谷歌的验证方式也有很多种,这里的操作和bing是一样的,把它发给你的文件直接放到hexo的source路径下就可以了,或者采用html标签的方式验证。

image-20231208210317624

验证成功后,选择前往资源界面,即前往当前站点的控制台。

如果你不小心点了完成,站点资源界面在站长工具的左侧边栏里面,在里面可以找到你已经添加了的站点。

image-20231208210604314

在左侧选择站点地图,点击添加即可

image-20231208210802621

image-20231208210849226

搞定!

有什么问题,欢迎评论区提出!