最近发现无论是谷歌还是百度,都搜索不到自己的文章,这可愁坏我了。
于是查了查如何设置 hexo 博客 next 主题的 seo,便写下了这篇文章。
添加站点地图
安装插件
需要安装两个插件来生成sitemap
文件,前一个是传统的sitemap
,后一个是百度的sitemap
1
2npm install hexo-generator-sitemap --save
npm install hexo-generator-baidu-sitemap --save修改网站的
_config.yml
将sitemap
文件添加到网站的_config.yml
里面1
2
3
4
5#hexo sitemap
sitemap:
path: sitemap.xml
baidusitemap:
path: baidusitemap.xml
注意 url
记得修改为自己网站的网址
添加蜘蛛协议
robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它的作用是告诉搜索引擎此网站中哪些内容是可以被爬取的,哪些是禁止爬取的。
在网站的 source
文件夹内,新建文件 rotbos.txt
。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16User-agent: *
Allow: /
Allow: /archives/
Allow: /tags/
Allow: /about/
Allow: /categoires/
Disallow: /vendors/
Disallow: /js/
Disallow: /css/
Disallow: /fonts/
Disallow: /vendors/
Disallow: /fancybox/
Sitemap: https://blog.jiabinhell.com/sitemap.xml
Sitemap: https://blog.jiabinhell.com/baidusitemap.xml
注意Sitemap
改为自己网站的网址即可Allow
字段的值为允许爬虫搜索的内容, Disallow
字段的值为不允许爬虫搜索的内容。
提交站点到 Google
若未被搜索引擎收录,则需进行以下配置,首先要让搜索引擎先验证我们对网站的所有权,入口为:
Google Search Console
选择已经验证过的站点,在抓取 -> 站点地图 中,右上角可看到 添加 / 测试站点地图,添加 sitemap.xml 的链接即可,谷歌效率较高,一般当天或者第二天就能搜到微博了。如图:
提交站点到百度
入口为:
百度站长平台
与谷歌类似,我们可以直接向百度交 sitemap,登录 百度站长平台,点击 网页抓取-> 链接提交,在 自动提交中选择 sitemap,输入自己的域名加 baidusitemap.xml 即可,之后可查看 url 提取是否成功。
next 自动推送
在 next 目录下的 _config.yml
内找到 baidu_push
, 并把该选项设置为 true
即可.
URL 持久化
我们可以发现hexo默认生成的文章地址路径是 【网站名称/年/月/日/文章名称】。
这种链接对搜索爬虫是很不友好的,第一它的url结构超过了三层,太深了。
下面我推荐一种方式:
安装 hexo-abbrlink1
npm install hexo-abbrlink --save
然后配置_config.yml1
2
3
4
5# permalink: :title/
permalink: archives/:abbrlink.html
abbrlink:
alg: crc32 # 算法:crc16(default) and crc32
rep: hex # 进制:dec(default) and hex