全面加速Wordpress站点:从文章页到管理后台

发布于 — 2021 年 12 月 19 日

影响Wordpress站点访问速度的主要因素

  1. 页面上的图片、视频等媒体文件
  2. 一些较大的布局和外观资源,如字体、css
  3. 站点后台相关资源 上述资源大小普遍较大,当服务器带宽不足时,就会让加载速度明显变长。

文章中用到的服务与插件

服务

  1. 阿里云OSS
  2. 阿里云CDN
  3. 阿里云DCDN

插件

  1. WPJAM BASIC
  2. 超级缓存
  3. WP Admin Boost

优化部署过程

1. 部署全站加速

效果:

  1. 优化一些动态资源的访问速度
  2. 可以隐藏源站IP、并为没有IPv6的源站主机带来IPv6访问功能

过程:

  1. 在现有站点域名之外再新增一个源站域名(多为子域名),确保这两个域名均解析到源主机

    例:Nginx配置文件

    1
    2
    3
    4
    5
    
    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. 进入阿里云全站加速控制台,在“域名管理”中添加和配置全站加速域名 2021-11-04 07-33-36.png

    注意:如果你的源站开启了强制HTTPS,最好在全站加速配置中也全程采用HTTPS,至少要在源站信息处将端口设置为443端口。如果您的HTTPS部署在特殊端口,建议跳过这一步或发工单和客服沟通申请特定端口。

  3. 返回DNS控制台,将主域名(原来的站点域名)的A记录删除或暂停,新增CNAME记录,指向全站加速提供的CNAME 2021-11-04 07-36-42.png

  4. 返回全站加速控制台进行配置

    以图中配置为例,请重点关注红字注明的部分,其余部分可按需开启 2021-11-04 07-41-05.png 2021-11-04 07-44-21.png 2021-11-04 07-46-37.png 2021-11-04 07-47-45.png

    注:在“动静态加速规则-静态路径”中,可以将wp-content等存有静态资源的目录添加上去,具体添加格式可以参考相关页面的帮助文档

  5. 用原来的域名访问你的站点,检测可访问性。

    • 建议访问一次后刷新缓存再次访问,检测有无速度变化。
    • 建议打开F12后再次刷新,在console中检测有无加载异常的资源
    • 如果遇到ERR_TOO_MANY_REDIRECT,一般为回源配置问题,建议检查服务器站点配置中是否同时存在这两个域名的解析,必要时可以将全站加速-回源配置内将回源SNI/回源HOST切换为源站域名尝试。
    • 正常情况下:使用原域名能直接访问站点,且不会发生跳转。ping源域名得到的IP为阿里云DCDN节点IP(可在全站加速-管理工具-IP检测中进行检测)

2. 配置WPJAM Basic和阿里云OSS

效果: 加速公开的网页资源 步骤:

  1. 登录wordpress后台,安装WPJAM Basic插件

  2. 在插件页面启用高级功能

  3. 在WPJAM-优化设置中启用基本的前端加速服务(主要是Gravatar加速和Google字体加速)

  4. 进入阿里云OSS控制台,新建bucket

    2021-11-04 08-03-46.png 此外,服务端加密需选择无

  5. 进入创建的bucket,在基础设置-镜像回源中添加源站信息

    2021-11-04 08-07-21.png

  6. 进入CDN控制台,想一个加速域名(不同于主域名和源站域名),新建一个CDN 填入你起的加速域名,然后在源站信息中填写你的oss域名

    2021-11-04 08-45-30.png

  7. 进入DNS控制台,新建加速域名CNAME记录,将其解析至CDN服务提供的域名。

  8. (建议步骤)在你新建的CDN的设置(管理)中的回源配置-回源HTTP响应头中,增加Access-Control-Allow-Origin响应头,其值设为你的主域名,不允许重复。

    2021-11-04 08-58-34.png

  9. (可选步骤)如果要开启HTTPS,请在HTTPS配置中上传加速域名的HTTPS证书

  10. 在缓存配置-缓存过期时间中设置一个常用缓存过期时间

  11. 回到OSS控制台,在传输管理-域名管理中应该能看到CDN域名详情。

    2021-11-04 09-07-55.png

  12. 回到wordpress站点的WPJAM Basic-CDN加速配置页面,进行配置

    2021-11-04 09-09-29.png 2021-11-04 09-11-02.png 2021-11-04 09-11-25.png

  13. 保存设置

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 设置-预缓存中预缓存已发布的文章

优化结果

2021-11-04 09-23-58.png