提供用户需要的信息
还记得去年做了两个网页,方便国外华人朋友在网上看国内电视直播,深受海外华人喜欢。后来被FIFA投诉说侵犯了版权,无奈将那两个网页下线。
最近遇上2014年巴西世界杯足球大赛。在国外看CCTV5直播世界杯中文解说很不容易,同样是因为版权问题。但球赛总要看,需求在那里摆着。
我搜罗了一些网页版的CCTV5世界杯直播服务,将它们嵌入到网页中,做成了与赌球网站满屏广告不一样的直播服务,方便自己看看球赛。技术上来讲,没有什么技术含量。

为了方便海外有需要的朋友,我将国外如何看世界杯的信息公布在网上。没想到,海量的访客从全世界各地蜂涌而至(主要是其它网站分享链接),开始使用这些直播服务。虽然在高峰时期直播有些卡,但只要有耐心,总还能看到比赛直播,能够解决一定的问题。
应该说,是版权问题导致了这种现象的出现。严格讲,海外CCTV5直播服务都不合规定,可是我并不认同这种“不合规定”的合理性,不是海外用户不愿意为版权付费,而是CCTV5无法让海外用户付费观看它的垄断性的中文解说直播服务。不合理的规定就可以打破它,当然这是另外一个话题。
考虑到来的访客有些多,我又不想再次收到FIFA的投诉,只好将直播服务取消,直播服务由另一匿名域名提供服务,只在我的网页上提供相应的链接,算是将风险尽可能小地降低。
我看了一下世界杯开赛以来的访问统计,来自全球各地总共将近80万人次访问了直播页面(不是本博客),这数字确实让我吓了一跳,我博客一年的访问量也不过如此。这让我脑海里冒出一个问题:在网络上要提供什么样的信息?我想答案不言自明:提供用户需要的信息。另一个问题又来了:什么是用户需要的信息?
搜索引擎是否收录HTTPS SSL网站?
Update(2014年8月7日): Google官方博客发布公告,称已经调整其搜索引擎算法,采用HTTPS加密的网站在搜索结果中的排名将会更高。
网络安全越来越重要,HTTPS SSL加密网络传输成为一个重要的手段。可是,许多网站依然没有或者不愿意采用HTTPS SSL证书,一方面会增加成本——布置SSL需要购买证书和独立IP,大型网站全面采用HTTPS SSL带来的加密也会增加服务器系统开销。更重要的一方面,小型网站比如博客等会关注搜索引擎是否收录HTTPS SSL网页。
绝大部分搜索引擎支持HTTPS SSL收录
人们普遍的印象是Google全面支持甚至偏爱HTTPS SSL网页,而国内的百度不支持收录HTTS SSL页面。那么众多其它的搜索引擎呢?国际上的Bing, Yahoo, 国内的360, 搜狗、有道呢?我对这个问题比较好奇。
刚好我的博客是全站强制HTTPS SSL加密,并且HTTP页面在国内是完全无法访问的状况,成为一个很好的测试对象,我以我的博客网址 https://tumutanzi.com 作为搜索对象,在国内外的搜索引擎中进行了测试。
测试结果表明:
- 国内的搜索引擎中,360搜索(有道)、搜狗(含腾讯搜搜)都收录了我的博客页面,完全支持HTTPS SSL加密网页。中文搜索中的龙头百度没有收录土木坛子任何HTTPS SSL页面。
- 国外搜索引擎中,Google.com, Bing.com, Yahoo.com都收录了 https://tumutanzi.com, 但是必应Bing存在HTTP和HTTPS页面都收录的情况——不过这有可能是网站的HTTP页面过去没有使用301重定向的原因。
No Baidu!
事实上,我过去查看网站服务器日志时发现,百度蜘蛛在我的博客被墙后一直在爬行,但就是在搜索结果中不放出任何结果,并提示网站不存在。至于收录HTTPS页面方面,也没有证据表明百度支持HTTPS:甚至对国内最知名的HTTPS网站支付宝首页都没有收录。
我认为,为了保护网络隐私,采用HTTPS SSL加密网站传输将日益成为网站的标配,国外知名搜索引擎和国内几大主流搜索引擎也都已经支持收录HTTPS SSL加密网页,担心搜索引擎不收录HTTPS SSL网页没有必要。此外,我相信百度在技术上收录HTTPS网页完全不存在问题。个中原由,任由读者们猜测。对于百度的这种行径,我也直接亮明土木坛子的态度:No Baidu!
2015年5月25日更新:百度发布公告称:从今天开始,百度放开对https站点的收录,https站点不需要再做任何额外的工作就可以被百度顺利抓收。
Update: 百度本身已经支持 HTTPS, 但是不收录 HTTPS: https://www.baidu.com/s?wd=https://tumutanzi.com
Update: 一称BAIDU罗成的百度工程师撰文称:百度无线搜索目前已经支持https,手机访问地址 https://m.baidu.com
修改.htaccess强制HTTP重定向为HTTPS链接
土木坛子采用HTTPS SSL加密链接形式访问网站有几年了,但一直也可以通过HTTP明文形式访问(国内用户现在无法),我知道这样对于SEO不太好,但也没有去采取措施强制统一两者。
最近,勺子兄和燕渡寒潭两位博主都加入了ICDSOFT主机,并使用独立IP和HTTPS SSL加密访问。我想既然使用HTTPS就全站使用吧:把所有HTTP请求强制性重定向为HTTPS。我决定帮助他们设置一下。没想到在土木坛子上使用Google中英文搜索的结果修改.htaccess文件后,无论如何都不行。情急之下询问ICDOSFT客服人员,十分钟不到技术人员就帮我修改好了,只在.htaccess文件里添加了两行规则:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
看来是将所有HTTP 80端口请求自动跳转成HTTPS(这里的example.com需修改成你的域名)。网上那么多人的方法都不是这样,所以我觉得有必要把它贴到这里,供不是太懂Apache服务器的人参考,总不至于为了添加这么一条规则学习所有的正则表达式和Apache指令。
其实ICDSOFT的客服人员给我修改的规则最后一行里没有301参数,因此只是302临时性转移,对搜索引擎不友好。添加301参数后,就变成了永久性转移——传递原来的权重。此外,将HTTP链接强制301重定向为HTTPS后,点击域名在其它网站留下的HTTP链接也会自动变成HTTPS,有利于用户体验,充分利用好HTTPS保护好访问者的隐私——哪怕TA在你的网站浏览了成人内容也无法被裸奔的网络嗅探。
用HTTPS会有一些与HTTP不一样的地方,需要一点点积累,见招拆招。
欢迎勺子入住ICDSoft
低调而著名的博客主勺子最近换空间和域名了,并且在他的新地址顶上挂着公告:
从此,走向高端,HTTPS,WhoisGuard,独立IP,ICDSoft主机,快速度大流量和好服务,于个人网站配置几无再提高的空间…
公告里还留下了我的链接,我就此说明一下。
他原来使用 JUSTYY.COM 域名,托放的美国空间不稳定。最近空间出问题后问我怎么办,我毫不犹豫地说:搬到ICDSoft来吧,贵是贵些,但值得你这样的博主拥有。
一番折腾,在我名下买的打折主机,原价15美元一个月,打完75折后倒也便宜不少。他又看上自己的大名域名,我一看居然还在,于是从NameCheap上帮他拿下——附送WhoisGuard域名隐私保护,我又索性给他配齐了,直接装上SSL证书,全站HTTPS链接加密访问——以防我过去未这样做导致整个域名被机器过滤而墙,为了安装SSL证书,又购买了独立IP。所谓“几无再提高的空间”。
ICDSoft香港主机位于香港,企业级虚拟主机服务,特点就是贵,但用它的人都会觉得它的好。我所在的这台ICDSoft服务器上线11年,在线率几乎达到5个9:99.994%,一年宕机下线总时间约30分钟,值得像勺子和我这样的博主拥有它:不必折腾VPS却拥有和VPS一样的性能,还有更好的不用担心的售后服务,至于不用主机的静态博客Jekyll之流,对于我们这种非程序员博客主来说更是无爱。
记得两年前未使用ICDSoft时,奥运会开幕式当天几千的日访问流量直接使得土木坛子宕机下线,现在托放在ICDSoft上后,世界杯期间高峰值瞬时流量过千时也依然轻松应对。
据我所知,目前国内使用ICDSoft香港主机的博主有:
- 中文标杆性博客主阮一峰 http://www.ruanyifeng.com/
- 经久不衰的博客主佐仔志 http://www.jinbo123.com
- 中青报著名国际报道记者张兴慧 http://www.zhangxinghui.com/
- 博客圈中大龄文艺青年勺子 https://chenghouwen.com/
- 知性文艺女博主燕渡寒潭 https://hisherry.com/
- 墙内无法访问的土木坛子 https://tumutanzi.com/
- 根特大学博士生 Ether Scope http://www.etherscope.org/
- 竞彩鸿鹄,一个关于足“球”和玉石研究的网站 Ether Scope http://www.hanselli.com/
除我以外,都是“资深博主”。就像买房看邻居,你的邻居决定了社区的品味,也见证社区的质量,博客和主机也一样,我们需要一个值得信赖的网络虚拟空间。
欢迎勺子入住ICDSoft。
禁用Google网络字体提高网站加载速度
Update: WordPress 技巧:禁用 Google Fonts,加快 WordPress 后台打开速度:将下面的代码放到当前主题的 functions.php 文件:
add_filter( 'gettext_with_context', 'wpjam_disable_google_fonts', 888, 4);
function wpjam_disable_google_fonts($translations, $text, $context, $domain ) {
$google_fonts_contexts = array('Open Sans font: on or off','Lato font: on or off','Source Sans Pro font: on or off','Bitter font: on or off');
if( $text == 'on' && in_array($context, $google_fonts_contexts ) ){
$translations = 'off';
}
return $translations;
}
最近,Google在国内访问拜GFW神威而抽风,不仅仅是Google的搜索和GMail邮件服务,其它的Google相关服务也受到影响,比如Google Font网络字体。
如果有网页使用了Google网络字体,现在加载网页会变得异常缓慢,原因就在于Google网络字体无法加载。对于使用了Google字体的WordPress博客主题,有人建议使用插件禁止使用Google网络字体,也有方法建议使用替代网络字体加载。
我直接用非插件的方法,在主题函数中将Google网络字体注释掉,这样就网页加载时就不再产生Google网络字体请求,速度也就不会受到Google被墙的影响。注释方法很简单,例如,在Twenty Twelve主题函数functions.php中找到googleapis一行,在最前面和最后面各加上 /* 和 */ 即可,注释后的样子如下所示:
网络广告屏蔽与反屏蔽
Reddit上有人建议AdBlock Plus开发者接收比特币捐赠,有人认为这么做不对,应该捐赠优秀内容创作者,那样网站才会尽量减少广告。
这事就像共产主义一样,理论上很好,现实很残酷。愿意捐赠给博客主的人太少,不通过广告收入维持的网络也不太多。何止是普通网站,即使网络巨头Google,也几乎全部靠广告收入来运营。
屏蔽广告固然是网民的自由,但反屏蔽广告也是网站的自由,屏蔽与反屏蔽是双方的自由。这可能是Google为什么容忍AdBlock广告过滤等插件,一直让它驻留在Chrome浏览器应用商店里,虽然每年为此损失数亿美元的广告收入。
听说360安全卫士等国内浏览器和软件强制性过滤广告,这种行为极大地损害了小网站、博客主们的广告收入——这几乎是唯一的广告收入来源,敢怒不敢言的情况令人厌恶。我看到这强制广告屏蔽的事情后,就分享了一个网站主动阻止广告屏蔽的方法。采用技术手段反抗一下广告屏蔽,为了表明一种态度。
但是,投放了AdSense广告的土木坛子,本身并没有阻止广告屏蔽。我为什么不阻止广告屏蔽?
原因很简单,阻止广告屏蔽,对于普通的博客主没有什么效果。读者来访问网站已经不错了,算是看得起网站了。使用阻止屏蔽广告手段,导致用户体验很不好,好心过来访问,却被反屏蔽广告页面拦住,你以为你谁呢?
而且,访客被强制不过滤广告,他们也一样不会点击广告。这些网络高级用户们既然知道安装广告过滤——像访问土木坛子的网友好多都是使用Google的高端网民,那么看到广告再点击的可能性也极低。
再有一点,中文AdSense广告单价很低,点击率本身也不高,因此广告收入本身也很低,所以不必指望中文广告收入维持网站,退一步海阔天空。
信息应该自由分享流动,在博客上分享故事和思想,这本身就是一件很美好的事情,与钱关系不大。有如RSS这种技术一样,商业上来讲是失败的,没有赢利模式,但技术上来讲很优秀,方便了信息收集传播。所以即使博客不流行的今天,RSS订阅依然是许多人的最爱,所以我一直坚持在RSS里全文输出,目的就是要让信息自由流通。
自我广告一下:你愿意捐赠土木坛子吗?比特币接收地址:1F6k7u8Xkyg5B58T4x2QDNaCQHdng5RDGN
阻止AdBlock用户屏蔽网站AdSense广告
对于投放了Google AdSense广告的博客主或者站长而言,AdBlock之类的广告过滤最不讨人喜欢,因为过滤减少了潜在的广告收入。然而,用户安装广告过滤插件也是无奈之举,没有谁愿意网页上满屏广告、甚至弹出式广告。
世上本没有广告,广告不过是放错地方的信息。如果你觉得你网站上的广告值得访客浏览,你可以采取技术手段阻止广告过滤用户访问你的网站,迫使用户停止过滤你网站上的广告,将你的网站加入过滤白名单,类似优酷通过黑屏的方式来强迫用户停止广告过滤一样,天下没有免费的午餐。网站主靠广告点击有些收入也无可厚非。
如何阻止安装比如AdBlock Plus插件的浏览器屏蔽网站上的AdSense广告呢?WordPress博客有相应的插件No Adblock可以实现这样的功能。我这里介绍一种非插件纯代码的实现方法,理论上适应所有网站阻止广告过滤插件屏蔽AdSense广告(原始代码来自这篇博文)。
1. 将下列代码放到主题的footer.php中的之前:
<script>(function(w,u){var d=w.document,z=typeof u;function g207(){function c(c,i){var e=d.createElement('i'),b=d.body,s=b.style,l=b.childNodes.length;if(typeof i!=z){e.setAttribute('id',i);s.margin=s.padding=0;s.height='100%';l=Math.floor(Math.random()*l)+1}e.innerHTML=c;b.insertBefore(e,b.childNodes[l-1])}function g(i,t){return !t?d.getElementById(i):d.getElementsByTagName(t)};function f(v){if(!g('g207')){c('<p>请暂停广告过滤。Please disable your ad blocker!<br/>此网站由广告收入维持。This site is supported by the advertisement <br/> 请暂停过滤此网站广告支持我们,谢谢!Please disable your ad blocker to support us!!! </p>','g207')}};(function(){var a=['Adrectangle','PageLeaderAd','ad-column','advertising2','divAdBox','mochila-column-right-ad-300x250-1','searchAdSenseBox','ad','ads','adsense'],l=a.length,i,s='',e;for(i=0;i<l;i++){if(!g(a[i])){s+='<a id="'+a[i]+'"></a>'}}c(s);l=a.length;for(i=0;i<l;i++){e=g(a[i]);if(e.offsetParent==null||(w.getComputedStyle?d.defaultView.getComputedStyle(e,null).getPropertyValue('display'):e.currentStyle.display)=='none'){return f('#'+a[i])}}}());(function(){var t=g(0,'img'),a=['/adaffiliate_','/adops/ad','/adsales/ad','/adsby.','/adtest.','/ajax/ads/ad','/controller/ads/ad','/pageads/ad','/weather/ads/ad','-728x90-'],i;if(typeof t[0]!=z&&typeof t[0].src!=z){i=new Image();i.onload=function(){this.onload=z;this.onerror=function(){f(this.src)};this.src=t[0].src+'#'+a.join('')};i.src=t[0].src}}());(function(){var o={'http://pagead2.googlesyndication.com/pagead/show_ads.js':'google_ad_client','http://js.adscale.de/getads.js':'adscale_slot_id','http://get.mirando.de/mirando.js':'adPlaceId'},S=g(0,'script'),l=S.length-1,n,r,i,v,s;d.write=null;for(i=l;i>=0;--i){s=S[i];if(typeof o[s.src]!=z){n=d.createElement('script');n.type='text/javascript';n.src=s.src;v=o[s.src];w[v]=u;r=S[0];n.onload=n.onreadystatechange=function(){if(typeof w[v]==z&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){n.onload=n.onreadystatechange=null;r.parentNode.removeChild(n);w[v]=null}};r.parentNode.insertBefore(n,r);setTimeout(function(){if(w[v]!==null){f(n.src)}},2000);break}}}())}if(d.addEventListener){w.addEventListener('load',g207,false)}else{w.attachEvent('onload',g207)}})(window);</script>
2. 再将以下代码放到主题文件CSS样式表style.css中,定义提示文字样式:
#g207{position:fixed!important;position:absolute;top:0;top:expression((t=document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop)+"px");left:0;width:100%;height:100%;background-color:#fff;opacity:0.9;filter:alpha(opacity=90);display:block}#g207 p{opacity:1;filter:none;font:bold 16px Verdana,Arial,sans-serif;text-align:center;margin:20% 0}#g207 p a,#g207 p i{font-size:12px}#g207 ~ *{display:none}
OK,实现效果可点击这里(已取消效果)查看:
真正打往国内的免费国际长途电话
Update:易信早已转型,不再提供本文提到的传统电话功能。
一般来说,免费的东西往往质量不高。在网络电话这件事情上也一样,免费的要么通话质量不高,要么有诸多限制。通话质量较好的,像Skype则需要付费——虽然几分钱一分钟也不贵。
现在,有一款产品,能实现真正从国外往中国打电话,真正免费,通话质量还非常好。这是什么神器?它的名字叫:易信!海外留学生党、华人们,你们有福了。
易信早已对其海外用户开通免费国际电话功能,在智能手机上安装易信APP,注册一个账号,只要是在中国大陆区域以外的地方登录易信,即可实现免费打给中国的手机和固定电话。由于是网易和中国电信开发的产品,所以提供的电话服务质量异常可靠稳定,不会令你失望。
易信的免费国际电话有没有缺点?
- 目前没有电脑客户端实现电话功能。但是,我相信大家都有智能手机或者平板电脑上(iOS苹果 , Android安卓),安装易信应用即可。
- 每个用户一个月只能拨打60分钟电话,即使你愿意付费也不会再多。不过,你完全可以多注册几个账号就是了。再说了,无限免费的东西未必好。
- 通过易信打电话无法实现真实来电显示。事实上,限于政策原因,打往中国的网络电话大部分都无法透传电话号码。
其实,易信还可以实现免费发短信给中国所有的手机号,并且支持对方以普通资费直接回复,唯一的限制是每个用户每天只有50条,我想这个数字够了吧。
说起来挺悲哀的,易信这么好的免费电话服务,只能提供肉身在国外的用户使用。我又想起了中国移动在香港提供的比大陆还优惠的资费,难道说在国内的人真的不配使用好的东西吗?好吧,我不是来拉仇恨的。
Android安卓手机共享Ubuntu电脑WiFi
曾经在本博分享过一个教程:如何在Ubuntu笔记本电脑上共享有线网络给无线WiFi手机设备。那种方法由于是建立Ad-hoc热点,对iPhone, iPad, iPod, 笔记本电脑等有效,但目前的安卓Android手机并不支持这种方法。
许多网友问我如何设置Ubuntu作WiFi热点方便安卓手机Android无线上网的问题,现在分享一个非常简单的方法,通过建立 Access Point (AP) 的方法共享Ubuntu笔记本电脑的有线网络给Android安卓手机或平板。
在命令行里运行以下命令安装"ap-hotspot":
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install ap-hotspot
sudo ap-hotspot configure
开启WiFi共享:
sudo ap-hotspot start
即可以分享Ubuntu笔记本电脑上的有线网络信号给安卓设备。
停止WiFi共享:
sudo ap-hotspot stop
具体技术细节可参考这篇文章。
域名从Godaddy转移到NameCheap
最终,我把域名从Godaddy转出到了NameCheap。我打算有空将所有的域名都转移到NameCheap。我为什么要转出Godaddy投向NameCheap?
Godaddy域名虽然注册时费用较低,但续费费用不低。这是域名商历来的鬼把戏,初次低价拉你进店,以后就没有那么低价。最可惜的是,现在Godaddy的续费优惠码也越来越少,最近帮朋友的域名续费居然要12欧元一年,比起NameCheap的7欧元多(还送免费的WhoisGuard域名隐私保护,SSL证书也非常便宜),还是要贵上不少。域名一多,算起来节省下来的费用也不算小数目。
Godaddy的后台管理界面太混乱,用户体验太差。在Godaddy上购物,付款结账时有太很多的“陷阱”,一不小心就会选上许多不必要的服务。就算不购物,其管理界面也不如NameCheap清爽。实在不理解世界排名数一数二的域名注册商做成这样的界面,好一个美国IT公司。
最重要的一个原因,NameCheap支持Bitcoin,直接用比特币充值,非常方便快捷。如果不愿意使用或者没有信用卡,以及不愿意使用PAYPAL的情况下,使用Bitcoin对我来说是再好不过的选择。相比之下,Godaddy支持支付宝,但不支持比特币(我相信它不久的将来一定会支持),我想还是NameCheap支持比特币更为先进与方便。
整个转出过程非常方便简单,详细细节可以参考NameCheap官方写的一篇教程——NameCheap挖Godaddy的墙脚可谓用心良苦。
但愿在NameCheap的怀抱中,我不会再次像离开Godaddy一样离开它。