![[WordPress] PageSpeed Insightsで99点](https://www.dobusarai.net/blog/wp-content/uploads/2019/04/20190414-1.png)
以前、職場でこの手の話が出たので自分でも実装してみたのだが、WordPress環境では試していたなかったのでやってみた。テーマから書き直したので随分と殺風景なデザインになったが、99点(analytics入れてると100点無理ゲーっぽい)になったのでまあいいだろう。とはいえ、早速新規で上げた画像の最適化コマンド(シェルで書いたやつ*後述)を実行したらモバイル97点、PC100点だったりするのでなんとも言えない。
テーマ
Bonesというブランクテーマをベースにしていたのだけど、オワコンというか公式が閉じてしまったので_scoreをベースに書き直した。死ぬほどシンプルなサイトになったけどな。昔はマテリアライズとかいうやつで書いてみたのだけど、デザインなのにjs必須だったのでうーんって感じだったのだが。とにかくデザインにjs使わない、cssは最小にってことでwater.cssをベースに作り直した。あと不要なjsを読み込まないように、テーマのheader.phpに書いた。
// disable script
wp_deregister_script('jquery');
wp_deregister_script('wp-embed');
wp_deregister_style('wp-block-library');
if (!(is_admin())) {
// emoji disable
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
}
テーマのfunction.phpで絵文字を読み込まないように改修。
nginx
gzip on;
gzip_types text/css text/javascript application/javascript application/json application/xml application/font-woff image/svg+xml;
gzip_vary on;
gzip_proxied any;
httpの部分に上記、serverの部分に下記。
location ~ .*\.(html|jpg|jpeg|gif|png|css|js) {
expires 180d;
}
まあ普通。俺はサードパーティ製のプラグインが信用出来ないので、WpToTwitter(投稿時にtwitterに投げるやつ)以外は一切入れていないのだけど、何かの役に立てば。
その他
*1
wordpressの新しいエディタ考えたやつは頭が悪すぎる。めんどくさいんだよ死ねボケ。テキストをそのまま書かせてくれよ。知らない人にはわからないし、わからないほうがいいけど、ホントに酷いのよこれ。