WordPress建站流程(四)速度优化
因为Wordpress程序注重扩展性与兼容性,执行过程中包含大量的钩子、判断、文件加载等操作,会导致系统资源占…
因为Wordpress程序注重扩展性与兼容性,执行过程中包含大量的钩子、判断、文件加载等操作,会导致系统资源占用高,执行速度缓慢的情况。 在访问量少的时候感觉不明细,一旦访问量较多的时候,Wordpress对CPU与内存的占用率是相当高的,所以Wordpress优化工作是必不可少的。
PHP Opcache
Opcache的全称是: Opcode cache,其前生是Optimizer+,它是PHP的官方公司 Zend 开发的一款闭源但可以免费使用的 PHP 优化加速组件。 Opcode cache 的目地是避免重复编译,减少 CPU 和内存开销。
在PHP 7中, Opcache 是默认安装的,无需另外安装,但需要手动开启。在PHP.ini文件中找到[opcache],参照以下内容进行开启。
[opcache]
;开启opcache
opcache.enable=1
;CLI环境下,PHP启用OPcache
opcache.enable_cli=1
;OPcache共享内存存储大小,单位MB
opcache.memory_consumption=128
开启成功后,在PHPinfo中能看到以下内容:
WP Super Cache缓存插件
WP Super Cache 是WordPress 最佳的缓存优化插件,另外的W3 Total Cache与它类似, W3 Total Cache虽然功能更强大,但一般的网站使用 WP Super Cache 足够了。相对于 W3 Total Cache ,WP Super Cache的配置更简单。
WP Super Cache的插件主页:https://wordpress.org/plugins/wp-super-cache/
在Wordpress后台插件 — 安装插件,输入WP Super Cache关键词进行查找,即可安装插件。
安装并启用插件后,在后台的设置菜单中会出现WP Super Cache选项,进入配置页面,参照下图进行设置。
开启专家模式后,如果是 Apache 环境, WP Super Cache 会自动修改 .htaccess文件,或者根据提示修改 .htaccess文件内容。如果是 Nginx 环境,需要用以下内容替换Wordpress的伪静态规则。
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
location ~ .*.(oft|eot|svg|ttf|woff|woff2)$
{
add_header Access-Control-Allow-Origin *; # 解决字体跨站问题
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,OPTIONS;
expires max;
error_log off;
access_log /dev/null;
}
# WP Super Cache rules.
# Designed to be included from a 'wordpress-ms-...' configuration file.
set $cache_uri $request_uri;
#POST请求和带有查询字符串的网址应始终转到PHP
if ($request_method = POST) {
set $cache_uri 'null cache';
}
if ($query_string != "") {
set $cache_uri 'null cache';
}
#不要缓存包含以下段的uri
if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links-opml.php|wp-locations.php|sitemap(_index)?.xml|[a-z0-9_-]+-sitemap([0-9]+)?.xml)") {
set $cache_uri 'null cache';
}
#不要将缓存用于登录的用户或最近的评论者
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in") {
set $cache_uri 'null cache';
}
# 移动设备支持
# 移动浏览器部分可将其存储为非缓存版本。 默认情况下,由于包括21个在内的大多数现代wordpress主题都具有响应性,因此被评论。 如果要使用WP-Touch之类的插件,请在本节中取消注释配置行
# if ($http_x_wap_profile) {
# set $cache_uri 'null cache';
#}
#if ($http_profile) {
# set $cache_uri 'null cache';
#}
#if ($http_user_agent ~* (2.0 MMP|240x320|400X240|AvantGo|BlackBerry|Blazer|Cellphone|Danger|DoCoMo|Elaine/3.0|EudoraWeb|Googlebot-Mobile|hiptop|IEMobile|KYOCERA/WX310K|LG/U990|MIDP-2.|MMEF20|MOT-V|NetFront|Newt|Nintendo Wii|Nitro|Nokia|Opera Mini|Palm|PlayStation Portable|portalmmm|Proxinet|ProxiNet|SHARP-TQ-GX10|SHG-i900|Small|SonyEricsson|Symbian OS|SymbianOS|TS21i-10|UP.Browser|UP.Link|webOS|Windows CE|WinWAP|YahooSeeker/M1A1-R2D2|iPhone|iPod|Android|BlackBerry9530|LG-TU915 Obigo|LGE VX|webOS|Nokia5800)) {
# set $cache_uri 'null cache';
#}
#if ($http_user_agent ~* (w3c |w3c-|acs-|alav|alca|amoi|audi|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd-|dang|doco|eric|hipt|htc_|inno|ipaq|ipod|jigs|kddi|keji|leno|lg-c|lg-d|lg-g|lge-|lg/u|maui|maxo|midp|mits|mmef|mobi|mot-|moto|mwbp|nec-|newt|noki|palm|pana|pant|phil|play|port|prox|qwap|sage|sams|sany|sch-|sec-|send|seri|sgh-|shar|sie-|siem|smal|smar|sony|sph-|symb|t-mo|teli|tim-|tosh|tsm-|upg1|upsi|vk-v|voda|wap-|wapa|wapi|wapp|wapr|webc|winw|winw|xda |xda-)) {
# set $cache_uri 'null cache';
#}
#END 移动设备支持
# 使用缓存或实际文件(如果存在),否则将请求传递给WordPress
location / {
try_files /wp-content/cache/supercache/$http_host/$cache_uri/index-https.html $uri $uri/ /index.php?$args ;}
如果网站没有开启https访问,最后的部分用以下代码替换:
location / {
try_files /wp-content/cache/supercache/$http_host/$cache_uri/index.html $uri $uri/ /index.php?$args ;}
如果开启了移动设备支持(非响应式主题建议开启,PC端和移动端将缓存不同的内容),需要在以上 Nginx 配置中将相应行的#去掉。
WP Super Cache 缓存预加载配置:
Autoptimize插件
插件的作用是通过优化CSS,JS,图像,Google字体等来使您的网站更快。
这个部分是优化js代码的,其中Aggregate JS-files选项勾选的话,有可能会造成部分主题或插件的兼容性问题,如果出错,可以去掉勾选,或者在排除脚本中排除相应的js代码。
CSS优化的部分如上图选择即可。
至于内联和推迟CSS的选项,可以酌情开启(限高级用户)。
开启 Memcached 对象缓存
首先需要安装Memcached服务器与PHP的Memcached扩展,这个步骤本文暂不介绍。
LNMP一键安装包添加Memcached的教程: https://lnmp.org/faq/addons.html
宝塔面板中在软件商店中安装Memcached即可。
Memcached服务器与PHP的Memcached扩展安装完毕后,进入Wordpress后台,搜索安装 MemcacheD Is Your Friend 插件。 MemcacheD Is Your Friend 插件的Github地址: https://github.com/wpbullet/memcached-is-your-friend 。
启用 MemcacheD Is Your Friend 插件后,可以在后台 工具 – Memcached 中查看到类似以下的信息。
如果 MemcacheD 服务器的IP地址与端口不是默认的 127.0.0.1:11211 ,可以在WP-config.php文件顶部添加以下内容(10.10.10.30:11211根据实际情况修改):
$memcached_servers = array(
'default' => array(
'127.0.0.1:11211',
'10.10.10.30:11211'
)
);
接下来请继续阅读: WordPress建站流程(五)SEO优化
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
评论功能已经关闭!