我的WordPress设置


这篇文章详细介绍了为了取得最好的性能,我WordPress使用的设置

处于安全考虑,有部分设置、插件将不会介绍。

服务器

我服务器以全面使用Docker,所以你的部署设置可能会有所不同。

CDN

长期Cloudflare用户在此。

Docker镜像

服务镜像
代理自定义构建的caddy。Caddy能够自动获取SSL证书,提供HTTP/2等功能,比NGINX和Apache高到不知道哪里去了。
数据库mariadb. MariaDB在我服务器上的性能比MySQL好了很多倍。
WordPresswordpress

Caddy设置

:443 {
    ... # 一些个人设定
    ... # 代理设定

    # 移除部分不必要的Header
    header {
        -X-Powered-By
        ... # 一些个人设定
    }

    # 将图片导到webp版本
    @acceptsWebp {
        header Accept *image/webp*
	    path_regexp webp ^(.+)\.(jpg|jpeg|png)$
    }
    handle @acceptsWebp {
        try_files {re.webp.1}.{re.webp.2}.webp {re.webp.1}.{re.webp.2}
    }

    # 禁止部分地址的访问
    @forbidden {
        path /xmlrpc.php
        path *.sql
        ... # 一些个人设定
    }
    respond @forbidden 404
}

PHP设置

这个 upload.ini 移除了 Docker 镜像内默认的PHP上传限制。

文件位置: upload.ini:/usr/local/etc/php/conf.d/uploads.ini

file_uploads = On
memory_limit = ???M
upload_max_filesize = ???M
post_max_size = ???M
max_execution_time = ???

WordPress插件

PluginReason
Autoptimize试了很多类似的插件,只有这个能够很好的优化性能。有一些优化插件甚至拖慢了整体的加载速度。
Code Snippets在不修改PHP文件的情况下添加PHP代码。
Disable Comments嘘。
EWWW Image Optimizer图片优化和webp转换。
LuckyWP Table of Contents找了一圈,这是最好的目录插件。没有jQuery,没有付费,没有奇怪的CSS。
Polylang多语言
Prismatic代码高亮,虽然有时候挺傻的😔
Remove jQuery MigratejQuery爬。
Simple Local Avatars不要第三方的Gravatar.
SmartCrawlSEO
Two Factor安全,安全,安全.
WP StatisticsGoogle Analytics不要.

结论

用了这堆设置之后,这个页面以及博客首页在 GTmetrix 上均取得了A。详情可以在这里这里看到。

作者:halyul

Never be a dreamer.

发表评论

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