解决github博客不被百度蜘蛛采集的办法

作为一个喜欢用文字记录的人,我也和其他朋友一样,也都有着相同的经历。从各大博客平台开始,辗转到自己使用VPS假设博客,一直在寻找一种更为简单且低成本的记录方式,以免受一些推广和臃肿的博客系统造成的困扰。

自从接触Markdown以来也就深深的被她吸引,再加上朋友的推荐也就将自己的博客换到了Github上,可是问题也随之而来,发布在Github上的信息是不会被百度收录的,这对于一个喜欢分享的博客来说是一个致命的问题,也确确实实通过百度的工具看到了索引量直线下降,也特意从网上找到了大家的一些解决办法,并实践归纳如下。

问题介绍

使用纯静态的方式来写博客并部署在Github上已经是大家广为使用的一种方法,但是一个网站的SEO也是值得关注的,Github对百度蜘蛛的限制就是一座无法翻越的大山。简单来说就是部署在Github中的博客内容是不会被百度搜索引擎采集到的,不是百度不采集,而是Github限制了百度蜘蛛对服务器的访问。经过测试:
百度Spider抓取详情
上图可以看到访问结果是403,怎么办呢?Github的限制我们是无法修改的,难道就要放弃百度的搜索引擎么?同时也在网上找了一些其他博主的解决办法,经过测试验证其实没有那么麻烦,特意将思路和方法整理了一下。

解决办法

这个应该称作不是办法的办法,关于Github的限制这个是真的没办法解决的,除非有人能黑进去。这就是一座不可逾越的大山,所以我们只能退而求其次,绕道而行。

解决问题的思路其实也就是一点:这不是百度蜘蛛访问受限么,那么我们就为百度蜘蛛的采集,开辟一个可以供其访问的线路,而这个线路就是放到其他可被访问的空间。这里苦笑,最简单还不就是直接买个服务器,一切搞定。确实,想节省成本那就要遵守”游戏规则”。

解决办法归纳起来如下:

  1. 将博客部署到不被限制的仓库空间中。如果不想放弃Github,那么可以使用Hexo的多仓库部署的方式,只需要配置一个仓库地址就行。
  2. 修改域名解析,为百度蜘蛛的访问指向到可访问的从仓库地址。

详细过程介绍

  1. 选择新的仓库空间

    这里我看网上使用的都是码市,也就不挑剔了,主要是供采集使用,简单注册、验证通过后就注冊成功了,成功以后我们需要建立一个和个人注册时填写的个性后缀(Global Key)同名的仓库,比如我的个性后缀是danielyim,那么仓库的名称就是danielyim。
    创建好项目

  2. 配置Git仓库的SSH访问

    这里就不过多介绍了,大家使用过Git仓库的SSH方式后几乎都有创建公钥,我们只需要打开本地的公钥文件id_rsa.pub,将内容配置到新的仓库中就行。
    添加好SSH公钥

  3. 部署博客到新的仓库空间

    由于我的博客使用的Hexo,所以直接配置新的仓库地址就行。打开项目根目录中的_config.yml,修改部署配置添加新的地址。
    添加Hexo部署配置

  4. 开启仓库的页面访问服务

    在码市的项目中开启Pages服务,这里开启服务时,需要配置部署来源为master,并添加自定义域名。注意:如果是单独使用码市的服务的时候,自定义域名需要添加CNAME文件,和Github的一样。
    开启pages服务

  5. 配置域名解析线路

    这一步我认为是最亮眼的一步,以前使用解析的时候还真没注意过,网上文章中写的都是使用DNSPod做的解析,其实一般的域名服务商都有提供这个线路功能,我的域名在阿里云(万网),所以就以这个为例。这里抓取到一些百度蜘蛛的来访信息
    百度Spider来访信息
    经过测试IP确认为联通线路,所以我们可以在域名的解析中添加一组联通的解析记录
    域名解析记录

  6. 完成校验

    最后我们来校验下抓取的情况,结果如下:
    抓取结果
    抓取详情