影响Wordpress站点访问速度的主要因素
- 页面上的图片、视频等媒体文件
- 一些较大的布局和外观资源,如字体、css
- 站点后台相关资源 上述资源大小普遍较大,当服务器带宽不足时,就会让加载速度明显变长。
文章中用到的服务与插件
服务
- 阿里云OSS
- 阿里云CDN
- 阿里云DCDN
插件
- WPJAM BASIC
- 超级缓存
- WP Admin Boost
优化部署过程
1. 部署全站加速
效果:
(1)优化一些动态资源的访问速度
(2)可以隐藏源站IP、并为没有IPv6的源站主机带来IPv6访问功能
过程:
(1)在现有站点域名之外再新增一个源站域名(多为子域名),确保这两个域名均解析到源主机
例:Nginx配置文件
server {
listen 80; listen 443 ssl http2;
server_name [此处填写主域名(原来的域名,将作为全站加速域名使用)] [此处填写你新增的源站域名];
# 添加域名后,请在DNS控制台中添加解析,将其解析至您主机IP
index index.php index.html index.htm default.php default.htm default.html;
(2)进入阿里云全站加速控制台,在“域名管理”中添加和配置全站加速域名
注意:如果你的源站开启了强制HTTPS,最好在全站加速配置中也全程采用HTTPS,至少要在源站信息处将端口设置为443端口。如果您的HTTPS部署在特殊端口,建议跳过这一步或发工单和客服沟通申请特定端口。
(3) 返回DNS控制台,将主域名(原来的站点域名)的A记录删除或暂停,新增CNAME记录,指向全站加速提供的CNAME
(4) 返回全站加速控制台进行配置
以图中配置为例,请重点关注红字注明的部分,其余部分可按需开启
注:在“动静态加速规则-静态路径”中,可以将wp-content等存有静态资源的目录添加上去,具体添加格式可以参考相关页面的帮助文档
(5) 用原来的域名访问你的站点,检测可访问性。
建议访问一次后刷新缓存再次访问,检测有无速度变化。
建议打开F12后再次刷新,在console中检测有无加载异常的资源
如果遇到ERR_TOO_MANY_REDIRECT,一般为回源配置问题,建议检查服务器站点配置中是否同时存在这两个域名的解析,必要时可以将全站加速-回源配置内将回源SNI/回源HOST切换为源站域名尝试。
正常情况下:使用原域名能直接访问站点,且不会发生跳转。ping源域名得到的IP为阿里云DCDN节点IP(可在全站加速-管理工具-IP检测中进行检测)
2. 配置WPJAM Basic和阿里云OSS
效果: 加速公开的网页资源
步骤:
- 登录wordpress后台,安装WPJAM Basic插件
- 在插件页面启用高级功能
- 在WPJAM-优化设置中启用基本的前端加速服务(主要是Gravatar加速和Google字体加速)
- 进入阿里云OSS控制台,新建bucket
此外,服务端加密需选择无
- 进入创建的bucket,在基础设置-镜像回源中添加源站信息
- 进入CDN控制台,想一个加速域名(不同于主域名和源站域名),新建一个CDN 填入你起的加速域名,然后在源站信息中填写你的oss域名
- 进入DNS控制台,新建加速域名CNAME记录,将其解析至CDN服务提供的域名。
- (建议步骤)在你新建的CDN的设置(管理)中的回源配置-回源HTTP响应头中,增加Access-Control-Allow-Origin响应头,其值设为你的主域名,不允许重复。
- (可选步骤)如果要开启HTTPS,请在HTTPS配置中上传加速域名的HTTPS证书
- 在缓存配置-缓存过期时间中设置一个常用缓存过期时间
- 回到OSS控制台,在传输管理-域名管理中应该能看到CDN域名详情。
- 回到wordpress站点的WPJAM Basic-CDN加速配置页面,进行配置
- 保存设置
3. 使用WP Admin Boost加速后台
WordPress后台一般开放于权限更高的用户,当然有些WordPress网站后台也会直接对普通用户开放。WordPress后台与前台的不同在于后台是动态的。由于WordPress后台可以对整个网站进行调整,因此后台作为动态页面亦无可厚非。但问题就在于,即便使用了全站CDN,在访问WordPress后台时,为了保证动态访问,所有的js、css等小文件都是根据每次访问而请求一次的。这无疑加剧了网站服务器的开销。
那么有没有办法把一些小文件不再从源服务器请求?当然是有的,但这里要考虑一些问题:
从CDN请求后,小文件能不能随着WordPress的版本更新而即时更新?
这些小文件对WordPress后台的运行至关重要,CDN是否有被投毒的风险?
——来源:潘羿《WordPress后台加速 – 使用CDN替代本地小文件》,无主界。(注:该文章作者也是这个插件的作者)
安装插件之后直接启用,然后在插件设置中开启“加速管理后台”即可。
4. 使用超级缓存生成静态缓存页面
(1)进入wordpress后台插件页面,安装wp super cache(超级缓存)
(2)在设置-wp super cache中启用缓存功能(启用时若遇到问题,请参照插件提示进行站点配置)
(3)在WP Super Cache 设置-预缓存中预缓存已发布的文章