让GitHub Pages博客支持百度搜索引擎收录
2015-07-16 11:18
316 查看
原文链接:http://tabalt.net/blog/make-blog-support-baidu-search-engine/
GitHub Pages搭建的网站,在百度搜索引擎访问的时候,经常性的会返回
要想解决这个问题,只有买个VPS自己撘一个jekyll解析博客了。但是我的域名没有备案,单纯用国外的VPS,用户访问起来也会有慢的问题,毕竟Github Pages的CDN还是很牛逼的(页面响应时间200ms左右)。那有没有什么办法,让百度爬虫去抓国外VPS上的内容,普通用户直接访问Github Pages呢?
现在科技这么发达,这玩意当然是小Case啦。一般大公司内的域名解析是可以按省、运营商等来做的;大家常用的DNSPOD也支持这么牛逼的功能,免费用户可以 按电信、联通、教育网、百度、搜索引擎等分别设置解析,付费用户可以分省、分国家、分大洲等等。对于我的小博客来说,免费的就非常够用了。
下面是我的折腾过程,记录下来备忘。
Jekyll是基于Ruby开发的,用到了Ruby的execjs方法来执行JavaScript代码,而这需要自己指定一个JavaScript runtime;这里我们选择安装Node.js。
安装Ruby、RubyGems
使用RubyGems安装Jekyll
定时更新博客代码
配置crontab 2分钟pull一下代码:
启动博客站点
Jekyll 2.4 版本之后,会关注文件的变动,自动重新生成静态文件。使用
绑host 测试,能正常访问则搭建完成。更多Jekyll的用法可以参考文档: http://jekyllrb.com/docs/usage/ 。
使用web服务器Nginx
使用前述方式启动的http服务,会独占这台服务器的
使用Nginx可以解决这个问题,配置一个Nginx的vhost,可以使用
我做完后第二天,原本剩下的8条收录,立马变成了1条。当然这个是可以理解的,毕竟是突然换了个ip,多发发文章和外链,恢复收录和权重是早晚的事。另外我这个vps在国内访问还是有点慢,首次请求返回要500ms左右,还是得把域名备案了,在国内弄个云主机才行。
原文链接:http://tabalt.net/blog/make-blog-support-baidu-search-engine/
GitHub Pages搭建的网站,在百度搜索引擎访问的时候,经常性的会返回
403 forbidden,从而百度会认为网站访问不稳定,对网站降权,甚至K站。
要想解决这个问题,只有买个VPS自己撘一个jekyll解析博客了。但是我的域名没有备案,单纯用国外的VPS,用户访问起来也会有慢的问题,毕竟Github Pages的CDN还是很牛逼的(页面响应时间200ms左右)。那有没有什么办法,让百度爬虫去抓国外VPS上的内容,普通用户直接访问Github Pages呢?
现在科技这么发达,这玩意当然是小Case啦。一般大公司内的域名解析是可以按省、运营商等来做的;大家常用的DNSPOD也支持这么牛逼的功能,免费用户可以 按电信、联通、教育网、百度、搜索引擎等分别设置解析,付费用户可以分省、分国家、分大洲等等。对于我的小博客来说,免费的就非常够用了。
下面是我的折腾过程,记录下来备忘。
安装Jekyll
编译安装Node.jsJekyll是基于Ruby开发的,用到了Ruby的execjs方法来执行JavaScript代码,而这需要自己指定一个JavaScript runtime;这里我们选择安装Node.js。
sudo yum install libtool automake autoconf gcc-c++ openssl-devel wget mkdir ~/soft/ cd ~/soft/ wget http://nodejs.org/dist/v0.12.4/node-v0.12.4.tar.gz tar -zxvf node-v0.12.4.tar.gz cd node-v0.12.4 ./configure --prefix=/usr make && sudo make install node -v npm -v
安装Ruby、RubyGems
sudo yum install ruby ruby-devel gem
使用RubyGems安装Jekyll
gem install jekyll
搭建博客站点
克隆博客代码sudo yum install git sudo mkdir -p ~/mydomain.com/ git clone https://github.com/username/username.github.io.git ./
定时更新博客代码
配置crontab 2分钟pull一下代码:
crontab -e # 添加下面的代码: */2 * * * * cd ~/mydomain.com/; git pull >> /tmp/github_blog_pull_record.log 2>&1;
启动博客站点
Jekyll 2.4 版本之后,会关注文件的变动,自动重新生成静态文件。使用
--detach参数指定在后台执行,
--p 4000 ort指定端口,
--host指定当前机器的外网ip。
cd ~/mydomain.com/ jekyll serve --port 80 --host 192.168.1.101 --detach
绑host 测试,能正常访问则搭建完成。更多Jekyll的用法可以参考文档: http://jekyllrb.com/docs/usage/ 。
使用web服务器Nginx
使用前述方式启动的http服务,会独占这台服务器的
80端口,如果这台机器还需部署其他的web站点,则不得不使用其他非80的端口。
使用Nginx可以解决这个问题,配置一个Nginx的vhost,可以使用
jekyll build --watch &生成博客的静态内容,并将站点根目录设置为
~/mydomain.com/_site/,这里不做具体介绍了。
配置智能dns
登录DNSPOD,进入域名解析的设置页面,添加一条针对百度的解析:后记
以上步骤做完后,再用百度的抓取工具测试,就能正常抓取到内容了。我做完后第二天,原本剩下的8条收录,立马变成了1条。当然这个是可以理解的,毕竟是突然换了个ip,多发发文章和外链,恢复收录和权重是早晚的事。另外我这个vps在国内访问还是有点慢,首次请求返回要500ms左右,还是得把域名备案了,在国内弄个云主机才行。
原文链接:http://tabalt.net/blog/make-blog-support-baidu-search-engine/
相关文章推荐
- Jekyll模板的使用
- 使用Jekyll和github搭建个人博客
- 两分钟急速创建一个Github Page【绑定个人域名】
- jldap实现Java对LDAP的基本操作
- mybatis代码配置文件记录
- eclipse+selenium+testNG+maven 学习二
- java 删除文件(删除空目录)
- Java中使用BASE64加密&解密
- vs插件 BabelLua的使用
- C语言查找数组里数字重复次数的方法
- 世界杯主题QQtoy项目总结
- tesseract api C++使用例子
- 用Eclipse开发Java程序入门
- Error 1 Inconsistent accessibility: parameter type C#错误原因
- Spring 3.1 M1: Unified Property Management(转)
- Windows Server 2012 R2 设置 smtp 服务器
- QTreeWidget 获取被双击的子项的层次路径
- Eclipse 编辑注释模板
- java for(int i:d)&nbs…
- Java,php,python,js 定义常量