用cloudflare为WordPress博客免费CDN加速
CDN,全称Content Delivery Networks,即内容分发网络。其原理很简单,即用户访问时内容不是从原始服务器上获得的,而是从CDN智能解析的服务器上获取的,内容是缓存到CDN服务器上的。通常CDN服务商会有多个机房,而智能解析总是到访问最快的机房,所以通过CDN能显著地加快访问速度。另外还有一个好处是CDN加速可以减轻服务器的流量压力。
但是CDN也不是没有缺点,对于动态网页,由于有缓存,所以会造成延迟,很可能获取的的页面不是最新的,或者一些带有query的页面无法执行。
但是对于静态内容效果还是十分显著的。对于WordPress来说,最大的静态内容的来源就是上传文件夹了。
由于CDN实现的是域名级别的加速,所以我们得让上传文件夹单独使用一个域名。虚拟主机一般支持子域名,我们只要添加一个子域名就行了(比如我添加的就是uploads.tsukkomi.org)。有的虚拟主机可以选择子域名对应的文件夹,这样只要指向WordPress目录下的wp-content/uploads目录就行了;有的虚拟主机不能选择子目录,而是默认在站点的根目录下面的同名文件夹(比如我的就是根目录下的uploads文件夹),这种情况就需要把wp-content/uploads目录移动到根目录下。至于VPS等独立服务器的,只要配置httpd的设置就行了,相信玩VPS的都会配置的,就不祥说了。
如果不能选择子域名对应的目录的情况,由于上传目录被移动了,我们还要修改WordPress的上传目录。进入WordPress的后台控制版,左边的“设置”下的“媒体”选项中的“默认上传路径”,改成相对于WordPress目录的路径。比如我的WordPress直接放到站点根目录下,子域名对应的uploads目录也在站点根目录下,那么直接改为“uploads”就行了。如果子域名对应的目录在WordPress的上一级目录下,就需要改为“../uploads”(“../”表示向上一层目录)。
由于我们要让上传目录使用独立域名,所以同样在媒体选项下的“文件的完整 URL 地址”也得修改,否则WordPress还是使用相对于原域名的地址。把完整的域名URL填进去就行了(注意最后不要加“/”),比如我的就是“http://uploads.tsukkomi.org”。
还有一个问题——原来发布的日志使用的是老地址,无法获得加速效果,而且如果上传目录移动了的话还会使原来的文件无法访问,得改成新地址才行,但是一篇一篇日志地改实在太麻烦。如果会使用SQL修改的可以直接登入phpMyAdmin之类的工具用SQL命令修改,如果不会使用SQL或者没有办法使用SQL修改的话,只有通过插件了。Search & Replace,就是我们要使用的插件。
下载安装好并启用Search & Replace后,在WordPress控制版的“工具”下会出现“Search & Replace”选项。进去之后可以看到有两部分,上面的是“Information Search & Replace”,用来检索数据库里的信息;下面是“Search In”,