玩转wp-super-cache,为站点提速

1.配置

wordpress 的插件越来越多,速度也越来越慢,咋整?(原文出处:http://bigc.at/wp-super-cache.orz)

静态化!

今天主要是把流程 Step by Step 一下,不用理解为啥这么设置, 只需要知道设置后会变的很快

所谓提前优化是万恶之源的意思就是说,之前网站做的越烂,优化的空间就越多
和老板说看,之前多烂多烂,俺给你省了多少多少钱,一般都能拿奖金
静态化也一样,之前一大堆插件,开个页面上百次MYSQL查询,或烂人写的没效率SQL会让人不禁抓栏杆撕床单

WP Super Cache 并不是100%静态化,不过这个不重要,他把最卡的部分搞定了即可

WP Super Cache 他唯一的缺点就是如果你在改主题或搞啥插件,后台设置了前台看不出变化,为毛?下面有解决方案

OK, let’s gou

  1. 首先,永久连接不能使用默认格式
  2. 修改永久链接格式,中文推荐采用 /%post_id%.html (这下你知道我的.orz哪里来了吧)
    如果你和我一样蛋疼愿意为每篇文章写一个英语的post slug
    建议采用这样的格式:/%postname%.html (百分号外面的随意写)

supercache1
这里我一二三四五六七都标注了就不介绍了吧,常规装插件也是这个套路

那些个神马ftp时代都已经过去鸟过去鸟

supercache2
装完后激活一下

supercache3
激活了,但他说还需要去设置一把, Rock it

supercache4

凡是推荐的都打钩,无脑输出嘛

 

需要注意的是Don’t cache for known users的意思是对已经登录的用户不缓存

这就解决的后台改主题无法更新的缺点

也就是说,平时的时候这个选项不打钩,当你需要改主题或调试插件什么时候就打他,改完了再去掉

supercache5

因为我们选择了最快的mod_rewrite 方式,所以继续往下拉,会看到一坨螺旋状大黄色的容器,点里头的update mod_rewrite rules

supercache6

不出意外会给个绿色的确认,某某.htaccess被插了…

supercache7

有个激动人心的功能上几个版本才加进来的叫Preload,具体有兴趣可以看我写过的Preload 就不累赘再说一次了

supercache8

全都搞定后去前台页面,右键查看源代码,拉到最下面,会有三行状态告诉你已经搞定鸟

FAQ:

Q: 我流量那么小,有必要搞这个么?
A: 搞这个纯粹为了自High,和流量没关系,例如打开自己的网站快个两三秒不是一键很爽的事咩?

Q: 那个过期时间我能改咩?
A: 建议用默认的

Preload 模式下更改过期时间,会导致全站文件一遍遍的重新生成,这是完全没必要的
普通模式下更改过期时间,太短或太长都会导致CPU飙升,得不偿失,除非你流量大一个月五六千才有必要

Q: 我发表新日志,或访客留言后他会全站再静态化一次么?
A:不用担心,使用起来和没有装是一样的,有内容更新它会重新生成对应的页面的静态文件,没有更新的就没必要再去重新生成一次

Q: 这个对SEO有没有影响?
A: 有,SEO里爬虫对页面打开速度比较敏感,

常规模式下第一次访问才生成,到期后回收掉,也就是说第一次比较慢
Preload模式先给你都静态了,不管何时访问都快,对SEO更好

Q: 乱码啦乱死人啦~~~

A: 关掉 Compress pages so they’re served more quickly to visitors. (Recommended)

2.预缓存

下面是翻译自官方blog的预缓存(Preload cache) 介绍
Preload the cache in WP Super Cache

cpu

看到本周帅气的下垂了么? 我上周日启用了 WP Super Cache 的预缓存(preload cache),这玩意儿明显的降低了服务器的负载,创建缓存时会有个峰值,很黄很暴力

我一直不鼓励用户使用预缓存,主要是因为文件数量会导致一些问题,如果你有几千个缓存文件,硬盘挂了会需要很长时间才能恢复.
(注: 有些主机商会限制文件数)
但反过来说,Google把速度作为一个网站的衡量标准之一.在过去,这个插件会忽略爬虫,因为爬虫每次只访问每个页面一次,缓存相对它们是毫无意义的.所有的页面都应该在 Google 还没开始爬过来之前就缓存好
(注: WP Super Cache 工作流程是第一次请求页面时把PHP+MySQL处理结果生成静态页面,再次访问时甚至都不用执行一行代码 )

preload-screenshot

如图所示,一旦你启动预缓存,它会挂载在 wp-cron 去获取100 个帖子, 过10秒后再去获取100个帖子 直到读完所有帖子. 它同时会禁止掉老帖子的垃圾回收机制,但有评论和新帖子的时候还是会干掉一些适当的缓存文件
目前它只缓存 文章页 (注:is_single()那种,中文差不知道咋翻译),貌似没啥必要去缓存 archive 或 tag 页,因为很多站已经写了 robots.txt去忽略这些页面

这次 WP Super Cache 的更新包括了

  1. 更好的支持移动设备插件,例如 MobilePress (注:之前会有电脑访问出现手机界面的bug,不知道现在如何,有遇到问题的朋友请留言)
  2. 增加了缓存测试功能(注:之前只能通过查看页面源代码最底下的注释了解情况)
  3. 可设置只在评论更新的时候更新缓存,而不是前台或相关页面
  4. Works in WordPress 3.0.

它还有一堆 bug 要修, 和其他功能要增加

愿意当小白鼠的可以尝试开发版本 from the download page ,有问题就反馈到 support forum

=====补刀======================

如何安装 WP Super Cache ?
答: 进入后台,选择左侧 plugins -> Add New ->输入 WP Super Cache 点 Search Plugs -> Install Now

小博客很适合开启全站预缓存
个人觉得没必要设置定时重新生成全站缓存,如果你老帖子变动不频繁的话
因为即使老帖子变动了,对应的也会自动生成

有同学问,我网站规模太小,是不是不需要缓存?
答: 缓存是为了自己爽, 提速不是一个段位

3.结合七牛云存储,进行CDN加速;

如果你的博客使用 WP Super Cache 进行静态缓存加速的话,我们也可以使用 WP Super Cache 后台自带的 CDN 功能,更加完美实现博客整站的静态文件 CDN 加速。

在 WP Super Cache 中使用七牛镜像存储

在 WP Super Cache 中使用七牛云存储的前面三步都是一样的:

1. 登陆七牛,选择你的空间,然后点击 空间设置 > 域名绑定,输入自定义的域名,或者直接使用七牛提供的域名:
60

2. 然后点击 镜像存储 菜单,点击一键加速按钮:
600

3. 输入源站的地址,点击确定加速:
600

4. 最后登陆 WordPress 后台,点击 设置 > WP Super Cache,选择 CDN Tab,在 off-site url 里面输入前面第一步获取的 url(注意要带 http://),如果你的 WordPress 安装子目录,这里还要带上子目录,并且实际测试下,其他设置如下图:

600

关于在 WP Super Cache 中使用七牛云存储就介绍这么多,需要强调的是七牛是有免费套餐的,每个月 10G 流量,总空间 10GB,所以你可以来先体验下七牛加速之后的博客速度

 

2 条回复

发表评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注