WP Super Cache 安装与设置方法

  • 发表于
  • WordPress

wordpress 的插件越来越多,速度也越来越慢,咋整?

静态化!

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

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

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

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

OK, let's gou

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

安装:

首先你应该已经安装Apache mod mime以及mod rewrite模块,并启用WordPress fancy permalinks。 禁用PHP安全模式。 如果上述条件有任何一个缺失或是关闭,你仍然可以使用此插件较慢的WP-Cache部分。
如果你已经安装了WP-Cache插件,请先将它禁用。 编辑wp-config.php文件,确认WP_CACHE定义已删除,并移除wp-content目录下的wp-cache-config.php文件和advanced-cache.php文件。 这些内容会在安装WP-Super-Cache后重新生成。
上传WP-Super-Cache目录到你的插件目录。它会创建一个“wp-content/plugins/wp-super-cache/”目录。

访问你的管理页面中的插件页面,激活“WP Super Cache”。
激活后,访问 “设置” →WP Super Cache,然后启用缓存。 如果你看到错误信息提示,或是空白页面,你可能需要修正它。 查看本文“常见问题”区域获得解决方案。

mod_rewrite规则会自动插入到你的.htaccess文件中。此文件位于你的空间可访问的根目录。 这个文件应该看起来和下面的内容类似:


# BEGIN WordPress


RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{HTTP_COOKIE} !^.*(comment_author_|wordpress|wp-postpass_).*$
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{HTTP_user_agent} !^.*(2.0\ MMP|240x320|AvantGo|BlackBerry|Blazer|Cellphone|Danger|DoCoMo|Elaine/3.0|EudoraWeb|hiptop|IEMobile|iPhone|iPod|KYOCERA/WX310K|LG/U990|MIDP-2.0|MMEF20|MOT-V|NetFront|Newt|Nintendo\ Wii|Nitro|Nokia|Opera\ Mini|Palm|Playstation\ Portable|portalmmm|Proxinet|ProxiNet|SHARP-TQ-GX10|Small|SonyEricsson|Symbian\ OS|SymbianOS|TS21i-10|UP.Browser|UP.Link|Windows\ CE|WinWAP).*
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz -f
RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz [L]

RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{QUERY_STRING} !.*attachment_id=.*
RewriteCond %{HTTP_COOKIE} !^.*(comment_author_|wordpress|wp-postpass_).*$
RewriteCond %{HTTP_user_agent} !^.*(2.0\ MMP|240x320|AvantGo|BlackBerry|Blazer|Cellphone|Danger|DoCoMo|Elaine/3.0|EudoraWeb|hiptop|IEMobile|iPhone|iPod|KYOCERA/WX310K|LG/U990|MIDP-2.0|MMEF20|MOT-V|NetFront|Newt|Nintendo\ Wii|Nitro|Nokia|Opera\ Mini|Palm|Playstation\ Portable|portalmmm|Proxinet|ProxiNet|SHARP-TQ-GX10|Small|SonyEricsson|Symbian\ OS|SymbianOS|TS21i-10|UP.Browser|UP.Link|Windows\ CE|WinWAP).*
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html -f
RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]


# END WordPress

在你启用这个插件之后,在wp-content/cache/目录下找到.htaccess文件,如果此文件不存在,你需要手动创建。 内容如下:

# BEGIN supercache


ForceType text/html
FileETag None

AddEncoding gzip .gz
AddType text/html .gz


SetEnvIfNoCase Request_URI \.gz$ no-gzip


Header set Cache-Control 'max-age=300, must-revalidate'


ExpiresActive On
ExpiresByType text/html A300


# END supercache

Apache必须设置为允许上述模块工作。 如果当响应匿名访客请求时出现“500 internal error”,你需要调整你的Apache设置。下述设置在我的虚拟主机上有效:


AllowOverride All

全都搞定后去前台页面,右键查看源代码,拉到最下面,会有三行状态告诉你已经搞定鸟
WP Super Cache 安装与设置方法