本博客部署在github免费空间,也写了几篇文章,但是百度不能收录,谷歌只收录了首页,知道了问题的根源,但是一直没去解决,最近有空闲时间,于是打算处理一下这个问题。
利用github Pages搭建博客有两种方式:第一种是利用hexo等程序生成静态代码,部署到github仓库来生成页面,第二种是利用github issue然后利用github的api动态渲染出页面,两者各有优劣,本博客是采取的后者,因为简单方便,可以浏览器在线修改博文,带来的问题就是SEO不友好,写出来的东西他人无法检索。
原因分析
先来看一下百度和谷歌的收录情况:
可以看到百度直接没有收录,谷歌只收录了首页,我也在站长工具里面提交了sitemap.xml或者单篇文章地址提交,均没有效果,下面详细分析原因。
百度
虽然很多程序员对百度搜索不屑一顾,但是还是有相当多的技术人员使用百度搜索,所以还是有必要解决下。百度不收录的主要原因是Github禁掉了百度的爬虫,所以无论是hexo搭建的博客还是github issue建立的博客都无法被百度收录。
谷歌
谷歌的收录分两种,如果是hexo等程序生成的静态博客,收录是没有问题的,如果是github issue建立的博客,那么谷歌也无法收录。因为github issue生成的博客并不是静态的,需要调用github的接口实时获取数据。
解决办法
上面分析了不收录的几种原因,下面来谈一下解决办法。
-
将博客部署到vps,放弃github pages.
-
利用CDN,让百度蜘蛛从CDN的网址爬取博文
-
双写
本博客采取了第三种方案,所谓双写就是博客部署两份,一份国内,一份国外,然后将域名分别解析。一般网上的教程都是采取的国外部署到github,国内部署到coding,这么做确实能解决hexo等静态博客的问题,但是对于github issue搭建的博客却无能为力,只能另想他法。
本博最终采取的方案是将github issue博客双写到博客园网站,双写的一个好处就是不怕丢失文章。为何选择博客园?现在免费的博客平台有很多,CSDN、博客园、掘金、简书、知乎专栏,令人眼花缭乱。或许是因为博客园的稳定,专业,再加上没有乱七八糟的广告,最令人欣喜的还是可以自己定义js、css页面,除了不能自定义域名,其他的都很满意。
折腾博客园的过程让我想起了多年前自定义百度空间样式的往事,十年弹指一挥,百度空间已经不复存在,这么些年来博客也没有写多少,更多的是折腾,或许以后会把更多的精力放在内容的输出和沉淀上面,少一些浮躁,多一些专业的总结。至于github源网站,就不去管收录了吧,能将自己所写分享,对他人有用即可。
最后贴一下博客园的收录情况,基本当天发完就可以被收录。
参考文献
https://blog.whezh.com/baidu-collect-github/
https://www.playpi.org/2019010501.html