使用Github和Coding共同托管hexo博客解决无法被百度收录的问题

1、之前在阿里云注册的.top域名一直不受百度待见,遂重新申请了.cn域名。更换域名大致流程如下:

  • 在新申请的域名下添加域名解析:主机记录添加@www两种
    png
  • 修改CNAME文件写入新域名www.ihoge.cn
  • Github Pages中更新新域名并save

2、更换域名发现仍不能被收录,原因是Github嫌弃百度蜘蛛爬取太频繁,屏蔽了百度。作为国内的小伙伴无非是一种很麻烦的事。这里我选择用CodingGithub双线托管,默认解析到Github,并给百度设置专线解析到Coding

3、使用Coding作为hexo博客的第二托管平台。

4、设置CodingPages服务

  • 部署来源选择master分支
  • 绑定购买的域名
  • 放置Hosted by Coding Pages文字版到首页提交审核(方便后面的seo优化)方法是找到themes\next\layout\_partials\footer.swig添加代码如下:
    png

  • 这里要注意上传的CNAME文件,上面填入购买的域名

5、绑定域名并指定百度专线:
png

6、由于之前用Github托管造成百度站长抓取网站一直失败,显示服务器被拒绝。后来利用给百度指定Coding专线的方式才解决该问题。
png

7、将网站链接提交到百度
百度提供三种验证方式,以Html标签为例,在themes\next\layout_partials\head.swing中添加验证代码:

name
1
2
3
4
5
同理将链接提交到Google和搜狗

8、给站点添加sitemap

- hexo安装sitemap

npm install hexo-generator-sitemap –save #sitemap.xml适合提交给谷歌搜素引擎
npm install hexo-generator-baidu-sitemap –save #baidusitemap.xml适合提交百度搜索引擎

1
2

- 在主题配置文件`_config.yml`中找到`sitemap`添加以下代码

自动生成sitemap

sitemap:
path: sitemap.xml
baidusitemap:
path: baidusitemap.xml

1
2

- 修改站点`_config`

URL

If your site is put in a subdirectory, set url as ‘http://yoursite.com/child' and root as ‘/child/‘

url: http://www.ihoge.cn

1
2
3

9、添加蜘蛛协议robots.txt
新建robots.txt文件,添加以下文件内容,把robots.txt放在hexo站点的source文件下。

User-agent: *
Allow: /

Sitemap: http://www.ihoge.cn/sitemap.xml
Sitemap: http://www.ihoge.cn/baidusitemap.xml

1
2
3
4
5

hexo d -g 提交后到百度站长平台找到Robots检测并更新查看是否生效。

10、keywords 和 description
在\scaffolds\post.md中添加如下代码,用于生成的文章中添加关键字和描述。

keywords:
description:
`
(这里未操作)

11、修改文章链接
HEXO默认的文章链接形式为domain/year/month/day/postname,默认就是一个四级url,并且可能造成url过长,对搜索引擎是十分不友好的,我们可以改成 domain/postname 的形式。编辑站点_config.yml文件,修改其中的permalink字段改为permalink: :year/:title/即可。