凤凰山笔记

将hexo博客(github pages)同时同步托管到github和coding.net,解决百度不收录问题

背景:

由于github禁止百度爬虫访问,造成托管在github Pages上的博客无法被百度收录。相关问题可以通过百度站长平台的抓取诊断再现,每次都是403 Forbidden的错误…

解决方案:

将hexo同时同步到github和coding.net

(1)在github使用hexo可以参见相关文章:

http://blog.jarjar.cn/write-blog-with-github/

(2)在coding.net开启pages功能

在coding.net上注册后,创建一个与用户名相同的项目,如用户名是cloudroc,则项目名称也是cloudroc。创建项目后,在项目的Pages页面里,修改Pages服务的关联分支为master,然后开启Pages服务。再填入你要绑定的域名。注意项目类型我这里设置的是共有。

(3)在本机建立coding.net的ssh key

首先本地需要安装git客户端,在任意路径右键->git bash here
输入:

1
ssh-keygen -t rsa -C "yourmail@domain.com"

可以一路按enter键,然后可在C:\Users\主机名.ssh下找到,文件名:id_rsa(私钥),id_rsa.pub(公钥)

最后在coding.net,刚建立的pages项目中维护这个公钥,如下图:
rsa public key

(4)修改hexo目录的_config.yml,设置多个仓库同步

示例:

1
2
3
4
5
6
7
deploy:
type: git
repo:
github: https://github.com/cloudroc/cloudroc.github.io.git
coding: git@git.coding.net:cloudroc/cloudroc.git
branch: master
message: a little wroks

这里github好像只能是https,ssh是不行的,但是coding.net的ssh没有问题

在DNSPOD设置CNAME

首先要在coding里你的pages项目绑定一个域名,然后会提示你需要将你的域名cname到pages.coding.me,照着做就好。
我使用的dnspod,设置完之后讲这个cname的线路类型选择为百度,这样百度爬虫就会去找你在coding上面的镜像了。这个过程可能很慢,百度嘛,呵呵

cloudroc wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
很惭愧,只做了些微小的工作,您的支持将鼓励我继续努力创作!