Hexo网站百度谷歌收录注意事项
记录一下处理百度谷歌收录本网站时遇到的问题以及注意事项。
百度、谷歌收录验证文件问题
由于自己没有个人专属域名,直接使用Github Pages提供的username.github.io
域名方式,所以百度、谷歌收录时的验证方式都选择文件验证的方式,它们会有一个html验证文件让放在网站的根目录下。
错误做法
网上大多数的说法都是说直接把该文件放到Hexo博客根目录的source目录下,然后编译打包上传到远程仓库,但是事实上这种做法是有问题的,当执行hexo g
生成静态界面的时候,hexo会把多余的内容添加到source目录下的这个html验证文件中,导致百度、谷歌验证失败。
正确做法
验证文件存放在Hexo博客根目录的source目录下,在验证文件头部添加layout: false
,以谷歌验证文件为例:
1 |
|
这样hexo g
执行成功后,这个html验证文件中就不会有多余的内容,然后执行hexo d
上传到远程仓库,这样百度、谷歌都验证成功了,为了保证一直验证成功,建议不要删除这个验证文件。
百度、谷歌收录站点地图(sitemap)获取不到问题
虽然按照网上的教程使用npm
下载相关依赖后(npm命令如下),
1 |
|
执行hexo g
能够在public
目录下自动生成网站的sitemap,并且部署到Github上时直接通过url
也能访问到sitemap.xml
,但是百度、谷歌还是显示获取不到。
解决方法
首先,需要在hexo配置文件_config.yml中配置sitemap:
1 |
|
这样才不会生成多余的sitemap.txt
和baidusitemap.txt
。配置完sitemap可能还是不行,然后通过google搜索后发现,大家都有遇到类似的问题,根据大神的说法,可能不是Hexo
的问题,应该是Github Pages
的问题。Github Pages
默认是基于Jekyll
构建的,如果不是基于此方式构建的,Github Pages
会忽略掉一些文件和文件夹。
因此,在Hexo博客的source
文件夹下添加一个.nojekyll
空文件,该文件会告诉Github Pages
当前网站不是基于Jekyll
构建的,不要忽略掉一些文件和文件夹。然后打开根目录下的_config.yml
,找到include files
区域,修改成下面这样,
1 |
|
然后再**在deploy
区域,添加ignore_hidden
属性并设为false
**。
1 |
|
这样在hexo g
时就会把.nojekyll
文件添加到public
目录下,hexo d
时会把.nojekyll
文件推送到github上。
Hexo网站百度谷歌收录注意事项