博客从WordPress搬家到Typecho

WordPress虽然功能强大,但是排版真的太繁琐了,每次写文章花在排版上的时间比写文章的时间还多,导致博客两年多了才40几篇文章(当然,更主要的原因还是懒^^)。
某日偶然看到Typecho的介绍:新版支持Markdown语法。在查阅了一些相关的资料后,发现这种以文章内容为中心的博客平台才是我需要的啊!主题、插件、排版那些都不用折腾了!在估计了一些搬家成本之后果断决定将博客从WordPress搬到Typecho。
博客搬家其实也就是转移数据库和文件了,Typecho有专门的WordPress导入插件,所以搬家过程不会很繁琐。

阅读更多

禁止百度统计、Google Analysis统计自己的访问

今天查看百度统计数据时无意中发现有不少流量是自己访问产生的。由于我每次写文章的时候都会预览十几次,这些访问也都算进去了,导致统计结果非常不准确。

visit statistics

如果代码能够针对不同用户决定是否启用统计就可以避免这种情况了:普通用户访问的页面包含统计代码,如果是管理员或其他可以编辑帖子的用户登录就包含统计代码。

在 WordPress Codex 翻了一遍,发现_current_user_can()_这个函数可以实现这个功能,在输出统计代码时加一个判断就行了:

1
2
3
<?php if(!current_user_can( 'edit_post' )) { ?>   
//百度、Google等统计代码
<?php } ?>
阅读更多

利用phpCloud代发邮件解决WordPress不能发送邮件的问题

由于担心用户群发垃圾邮件,有些空间服务商禁用了php的mail()函数,甚至连gmail IMAP常用的465端口也禁用了,导致SMTP方式也不能发送邮件。

这种限制在PaaS中特别常见,比如cloudControl禁用了mail()函数,OpenShift禁用了SMTP端口。虽然这种方式能非常有效地阻止垃圾邮件发送者,但也给普通用户带来了一些不便,比如WordPress的密码找回功能和留言通知都不能使用。

解决这个问题的一个简单有效的方法就是用别的服务器来代发邮件。简单地说,就是当WordPress有一个发送邮件的请求时,将这个请求的内容(发件人、收件人等)POST到另一个支持发送邮件的服务器,转发服务器收到这个请求后将邮件发出,并返回发送结果。示意图如下:

net connection

这种方法实现需要同时在WordPress服务器和转发服务器上做一些更改。

阅读更多

禁止某些搜索机器人和特定IP用户访问网站

最近发现一个叫AhrefsBot的机器人特别勤快,每天都数次访问我的网站,并且不遵守robotx.txt规则,几乎采集了网站的每个页面,但却没带来任何流量。上官网去看了下发现Ahrefs貌似是一家做搜索引擎优化的网站,对于小站来说,只会增加带宽和服务器负担,没有任何好处。基于节能环保的原则,完全可以把AhrefsBot屏蔽掉。

Ahrefsbot visit log

屏蔽方法很多,比如最简单的robots.txt规则:

user-agent: AhrefsBot
disallow: /

阅读更多