解决github-pages无法被百度抓取问题(octopress)
来源:互联网 发布:30多了能做网络主播吗? 编辑:程序博客网 时间:2024/05/16 03:05
原文地址:http://blog.bibitiger.cn/blog/2017/02/23/duel-github-cant-for-baiduspiders/
网上已经有很多关于这个问题的解决方案,例如CDN到七牛等的镜像缓存、修改ip代理、云服务器等等,例如知乎上的问答“如何解决百度爬虫无法爬取搭建在Github上的个人博客的问题?”,在此就不一一复述了。直接说一个方便的解决方案。
我在github-page上放的是个人博客,主要就是国内用用,实在是英文不怎么样。使用octopress搭建,其实就是静态网页。在这个前提下,那如果我们找一个支持静态网站的空间同步github,并且我们的域名支持智能DNS,那问题是不是很好解决。原来的gitcafe现在的coding.net就能很好的解决这个问题,而且他现在还支持jekyll。正好我的域名是用的万网,支持智能DNS。
好了,废话说完,开始干活。
首先注册一个coding.net的账号,老路数了。接着建立一个跟账号用户名同名的仓库,例如 https://git.coding.net/username/username.git
在terminal下打开原有octopress的地址(假定这个地址就是octopress,以后都是用这个地址为根目录),到octopress/_deploy目录下,添加coding.net的远程地址,并且新建分支。
cd octopress/_deploygit remote add coding https://git.coding.net/username/username.gitgit checkout -b coding-pagesgit checkout mastergit branch> coding-pages> * mastergit push coding master/coding-pages
在coding.net的仓库里设置pages的分支
保存了分支之后,打开http://username.coding.me/username
就能看到我们的博客了。
接着去万网设置域名解析,将原来的github设置为海外,新加一个CNAME类型的记录为pages.coding.me设为默认。
一般十分钟之内生效,生效后回到coding去设置自定义域名
,输入刚才解析的二级域名,绑定完成。
告一段落,这个时候你ping自己的域名地址,同步到coding已经完成,会发现和原来的ip不一样了。
但是如果我们每次deploy之后,都要去手动再给coding提交一次,很麻烦,所以索性直接写到rakefile里去。
multitask :push do puts "## Deploying branch to Github Pages " puts "## Pulling any updates from Github Pages " cd "#{deploy_dir}" do Bundler.with_clean_env { system "git pull origin #{deploy_branch}" } end (Dir["#{deploy_dir}/*"]).each { |f| rm_rf(f) } Rake::Task[:copydot].invoke(public_dir, deploy_dir) puts "\n## Copying #{public_dir} to #{deploy_dir}" cp_r "#{public_dir}/.", deploy_dir cd "#{deploy_dir}" do system "git checkout #{deploy_branch}" system "git add -A" message = "Site updated at #{Time.now.utc}" puts "\n## Committing: #{message}" system "git commit -m \"#{message}\"" puts "\n## Pushing generated #{deploy_dir} website" Bundler.with_clean_env { system "git push origin #{deploy_branch}" } puts "\n## Github Pages deploy complete" Bundler.with_clean_env { system "git push coding master:coding-pages" } puts "\n## coding.net Pages deploy complete" endend
以后运行rake deploy
时,就会自动同步到coding里去了。
最后再说说百度抓取的事,本来到这里就应该结束了,但是百度好死不死的反应慢,就跟大家说说吧。在站长工具的抓取诊断测试一下,是否可以抓取成功,如果没有成功的话查看抓取状态下的抓取失败,如果网站IP和没有修改之前的一样,点击后面的报错,隔上大概半个小时再来试下,如果还是这样的话,在右下角的反馈中心反应一下,我是反应了才通过的。。。
百度链接提交的自动方式有三个:主动推送、自动推送、sitemap。
主动推送:我没怎么用,在工程底下建一个txt,将已有想提交的网页地址逐行写入,然后curl一下就好了,但是有条数限制,我是懒得搞这个了,想起来提一下,主要靠自动推送和sitemap。
自动推送:将百度提供的工具代码,放到一个合适的位置就好,然后每次打开网页的时候都会使用百度的push.js。我是放到了octopress/source/_includes/custom/footer.html里,大家可以参考。
sitemap:由于octopress已经require了 jekyll-sitemap,我们只需要保证_config.yml里的url是我们上面解析的二级域名就好,每次generate的时候会自动生成,提交之后在根目录就有一个sitemap.xml,将这个文件的地址提交给百度就好了,百度会不定时的去更新这个文件。
ok,大功告成
- 解决github-pages无法被百度抓取问题(octopress)
- 百度爬虫无法抓取GitHub Pages
- Octopress创建GitHub Pages Blog
- OctoPress搭建Github Pages备忘
- 利用GitHub Pages安装部署Octopress博客
- github Pages上部署octopress个人博客
- 使用github与Octopress 搭建GitHub Pages博客
- 百度无法爬取Github Pages静态网站解决方案
- 解决GitHub Pages屏蔽百度爬虫的方法
- 在github Pages上部署octopress搭建个人博客系统
- 使用Octopress和Github Pages搭建博客的高级技巧
- 解决GitHub上的博客无法被百度收录的问题
- Troubleshooting GitHub Pages build failures——解决GitHub Pages部署失败问题
- 解决GitHub Pages自有域名二级目录无法访问问题
- octopress github 404
- Github Page + Octopress
- Octopress+Github博客搭建
- GitHub Pages + Hexo构建博客及问题
- 19-20 xshell/quagga开发流程案例
- Java中的private、protected、public和default的区别
- Java动态代理模式理解和实现
- DMIS Vector variable values / DMIS语言中向量变量用法介绍
- centOS7查看runlevel
- 解决github-pages无法被百度抓取问题(octopress)
- Android系统中打印堆栈的方法
- Xcode8制作.a静态库和存放xib和图片的.bundle
- [CF765F]Souvenirs
- 物理层协议有哪四大特性
- 关于Vue的一些小用法(记录)
- 前端构建工具gulpjs
- 在linux上用RPM包安装mysql
- android之AIDL跨进程通信详解