Hexo网站百度谷歌收录注意事项

记录一下处理百度谷歌收录本网站时遇到的问题以及注意事项。

百度、谷歌收录验证文件问题

由于自己没有个人专属域名,直接使用Github Pages提供的username.github.io域名方式,所以百度、谷歌收录时的验证方式都选择文件验证的方式,它们会有一个html验证文件让放在网站的根目录下。

错误做法

网上大多数的说法都是说直接把该文件放到Hexo博客根目录的source目录下,然后编译打包上传到远程仓库,但是事实上这种做法是有问题的,当执行hexo g生成静态界面的时候,hexo会把多余的内容添加到source目录下的这个html验证文件中,导致百度、谷歌验证失败。

正确做法

验证文件存放在Hexo博客根目录的source目录下,在验证文件头部添加layout: false,以谷歌验证文件为例:

1
2
3
4
---
layout: false
---
google-site-verification: googlexxxxxx.html

这样hexo g执行成功后,这个html验证文件中就不会有多余的内容,然后执行hexo d上传到远程仓库,这样百度、谷歌都验证成功了,为了保证一直验证成功,建议不要删除这个验证文件。

百度、谷歌收录站点地图(sitemap)获取不到问题

虽然按照网上的教程使用npm下载相关依赖后(npm命令如下),

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

执行hexo g能够在public目录下自动生成网站的sitemap,并且部署到Github上时直接通过url也能访问到sitemap.xml,但是百度、谷歌还是显示获取不到。

解决方法

首先,需要在hexo配置文件_config.yml中配置sitemap:

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

这样才不会生成多余的sitemap.txtbaidusitemap.txt。配置完sitemap可能还是不行,然后通过google搜索后发现,大家都有遇到类似的问题,根据大神的说法,可能不是Hexo的问题,应该是Github Pages的问题。Github Pages默认是基于Jekyll构建的,如果不是基于此方式构建的,Github Pages会忽略掉一些文件和文件夹。

因此,在Hexo博客的source文件夹下添加一个.nojekyll空文件,该文件会告诉Github Pages当前网站不是基于Jekyll构建的,不要忽略掉一些文件和文件夹。然后打开根目录下的_config.yml,找到include files区域,修改成下面这样

1
2
3
4
5
6
# Include / Exclude file(s)
## include:/exclude: options only apply to the 'source/' folder
include:
- .nojekyll
exclude: null
ignore: null

然后再**在deploy区域,添加ignore_hidden属性并设为false**。

1
2
3
4
5
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
# 上面部分省略
ignore_hidden: false

这样在hexo g时就会把.nojekyll文件添加到public目录下,hexo d时会把.nojekyll文件推送到github上。

Hexo网站百度谷歌收录注意事项

https://chengzhy.github.io/2022/hexo-seo-note/

作者

chengzhy

发布于

2022-03-30

更新于

2022-05-06

许可协议

评论

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×