• 之前在百度上搜索不到自己博客的内容,原来是百度爬虫被 github 屏蔽了。
  • 本文介绍让百度爬虫爬取自己博客的方法,同时兼顾国内外访问,兼顾 google 和 baidu 爬虫收录网站。

正文

  • github pages 百度不能爬取,因为 github 屏蔽了百度爬虫。
  • 在继续使用 github pages 的前提下,通过使用 coding.net 的静态网站(之前也叫 pages)让百度爬取。
  • 这需要配合域名解析实现,实现之后,百度爬取时实际上访问的是 coding.net 的静态网站。
  • 不过,coding.net 的静态网站不够稳定,后来我还是把解析线路的默认指向了 github.com。访问网站时慢点儿,但稳定,总比直接不能访问要强。

操作步骤

  1. 将 hexo blog 编译好的版本提交到 github.com 的同时,也提交到 coding.net,coding.net 可以设置有代码更新自动部署,github.com 是自动的,不需要设置。
  2. coding.net 绑定自定义域名。
    • 在绑定之前,需要添加域名 CNAME 记录,指向 coding.net 的静态网站域名,比如我的是:y5561p.coding-pages.com
    • 停止之前设置的 github.com 的解析。
    • 过大概10分钟,再绑定,绑定时开启强制 HTTPS 访问,强制 HTTPS 访问需要申请证书,如果显示申请失败就再申请就是了。
    • 待证书状态为【正常】之后,再将之前停止的 CNAME 启用,即启用解析到 github.com 的 CNAME。
  3. 域名解析注意事项,这里以阿里云的域名为例。
    • 解析到 github.com 的 CNAME,解析线路选择【境外】
    • 解析到 coding.net 的,解析线路选择【默认】
    • 设置搜索引擎解析。
      • 谷歌和必应的解析项,指到 github.com。
      • 百度的解析项,指到 coding.net。

域名解析

  • 域名设置部分,因为顶级域名(taobantech.com)设置了 MX 记录,所以顶级域名(taobantech.com)不能再设置 CNAME 了(会冲突),所以,我设置了各大运营商(电信、联通等)的线路,不清楚是否管用。

如此折腾的好处

  • 如此设置之后,百度就可以正常爬取博客内容了。
  • 只有在境外访问才会解析到 github.com。
  • 兼顾了国内外访问,同时兼顾了 google 和 baidu 爬虫,可谓一举多得。至少在国内访问的速度比之前快了非常多,有飞一般的感觉(可惜并不稳定,慢的时候就是直接不能访问)。