关于Hexo的一切 —— 我的Hexo专栏
零 前言
SEO,即Search Engine Optimization,译为搜索引擎优化。
它是一种利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名的方式。
继上篇域名绑定,这篇我们来聊聊如何才能在百度搜索到你的Hexo博客(依旧是超详细图文教程)。由于内容过长,分为上下两篇,主要讲述:
一 解决方案
因为百度无法爬取GitHub的内容,我们需要找一个可以被百度爬取到而且提供Pages服务的代码托管平台。
那么我们就只有国内的两家平台可供选择了:Gitee
和 Coding
🙈
虽然这两样都要花钱,但是Gitee自定义域名九十多都可以买服务器了,Coding则是前六个月免费,之后一个月可能才几毛钱(很少人访问的话),理所当然选择Coding平台。
并且我们可以使用Github + Coding双部署,国内IP访问国内Coding的地址,国外IP访问Github的地址,当然嫌麻烦可以只用Coding。
注册后新建Git项目,选择持续部署里的网站托管即可,具体可以查看帮助中心。
二 部署
- 将博客同时部署到两个仓库,在根目录配置文件
_config.yml
添加你的项目地址:
deploy: - type: git repository: git@github.com:username/username.github.io.git branch: master # 你的coding项目地址 - type: git repository: git@e.coding.net:username/username.git branch: master # 注意两个username可能不同,是你分别注册的用户名 复制代码
- 然后去域名控制台,配置两个
CNAME
解析,在百度项填入你的Coding
项目地址,在默认项填入你的github.io
地址: - 同样在Coding网站设置下绑定自己的域名。
- 之后测试百度是否能爬取到你的网站,在命令行输入:
curl -A "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)" -o example.html 你的域名 复制代码
- 在该命令行目录下会生成一个文件
example.html
:
三 百度收录
- 刚建完站百度是不可能搜索到的,我们可以在搜索
site:你的域名
然后提交网址给百度:
提交完成后,在百度站点管理中点击添加网站,输入域名,最后一步验证网站时使用 CNAME
验证:
在域名控制台解析添加以上记录:
- 完成验证即成功。
四 推送资源
上一步我们成功的让百度知道了网站的存在,但是百度还不知道我们网站上的内容,所以要向百度收录推送我们的内容。
这里有四种方式:API提交、主动推送、sitemap、自动推送、和手动提交。
因为手动提交就是把你博客内的所有链接都复制粘贴到此界面中进行提交,在此不赘述。
API提交
- API提交在此界面内找到该行根据提示运行命令:
- 执行后返回
success
字段即是成功。
主动推送
- 安装插件
npm install hexo-baidu-url-submit --save
。 - 打开站点配置文件,在末尾添加:
# 在deploy项中添加 deploy: - type: baidu_url_submitter # 百度主动推送插件 baidu_url_submit: count: 80 # 提交最新的一个链接 host: www.heeh.xyz # 你的域名 token: xxxxxxx path: baidu_urls.txt # 文本文档的地址,新链接会保存在此文本文档里 复制代码
- 其中
token
的获取在上一项API提交中:
- 这样每次执行
hexo d
的时候,新的链接就会被自动推送了。
sitemap
- 安装插件:
npm install hexo-generator-sitemap --save npm install hexo-generator-baidu-sitemap --save 复制代码
- 安装完成后,我们执行
hexo cl
和hexo g -d
后,会在public
目录下生成sitemap.xml
(其他搜索引擎用) 和baidusitemap.xml
(百度专用)文件。 - 有了这个
baidusitemap.xml
文件后,再去此界面提交:
- 提交后网页会有状态显示成功。
自动推送
- 有些主题支持百度搜索自动推送,只要在主题配置文件中修改即可,比如
matery
:
# 百度搜索资源平台提交链接 baiduPush: true 复制代码
- 如果没有的话,需要在每个需要被百度爬取的
html
页面加入:
<script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> 复制代码
五 总结一下
一般来说,自动方式比手动方式效果要好一点,效率也要更高。
- 自动方式中主动推送又是最快的一个,每天产出的新链接都可以通过此方式推送给百度收录。
- 自动推送最为便捷,当部署代码的页面被访问时就会被自动推送给百度收录。
- sitemap方式提交后,百度会周期性的抓取检查,因此收录速度是最慢的。
所以一般我推荐主动+自动配合着使用。
下篇会更新更多实用内容,求关注点赞收藏 ❤❤