WordPress 6.0.2, PHP8化。ついでに高速化

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

楽介です。WordPressのメンテナンスを行いました。

年初にも、以下の記事でWordPress を更新したのですが、Google さんがCWVの基準を厳しくしたのか、大分スコアが悪化していたので修正を行いました。

【2022年最新】CWV対応でSEOに強い WordPress 構築

WordPress 6系、PHP8系に移行

以前は、PHP8系に移行するとエラーや警告でWordPressがまともに使えなかったのですが、6系が大分こなれてきたようなのでアップデートついでにPHP 8系に移行しました。

ConoHa WingのサーバーだとPHPのバージョン切り替えも比較的気楽に行えます。

現在のところ、特別大きな問題もなく動作しています。

ただし、元々ConoHaWINGが速いせいもあり、PageSpeed Insight, CWVの結果には影響がなかったようです。というか、PageSpeed Insightは基本的に減点方式のようなので、元々速いのをどれだけ速くしたところで加点してくれない気がします。

※大体、主要な遅いと文句言われているのがGoogle Tag Manger, Google Analytics なので……そういうことです。

Astra に移行

仕事でもAstraをメインに使いはじめた、というのもありますが、Generate Press ではどうしても、Web fontのファイルに対する警告が消えなかったので(しかも、基本的には使わない)、テーマを信頼のAstraにしました。

Astra の場合、Proにしなくても十分に速いようです(ただ、fontawesomeで警告はされます)。

サーバーなどの環境によると思いますが、カスタマイザーにある「パフォーマンス」から、「Google フォントをローカルで読み込む」、「ローカルフォントを先に読み込む」をオンにするとスコアが若干安定したような気がします。

検索結果にも影響する? らしいですが、一番大事なのは見て下さる皆さんがストレスなく読み込めることなので、これはこれでオンのままで行こうと思います。

Autoptimize の復帰

以前は効果がなかったAutopitimize ですが、GeneratePressと相性が悪かっただけのようで今回は、Autopitimizeの出力したCSS, JavaScriptに警告がでることがなかったので採用しました。

ただ、.htaccessによるブラウザキャッシュの設定もあわせて見直しています。

.htaccess のキャッシュ設定

ConoHaWingサーバーの場合、コントロールパネルから手軽に.htaccessが設定できます。

こちらに、mod_expiresの設定を記述していきます。

<IfModule mod_expires.c>ExpiresActive On ExpiresByType text/html "access plus 1 days" ExpiresByType text/css "access plus 6 month" ExpiresByType text/javascript "access plus 1 year" ExpiresByType application/x-javascript "access plus 1 year" ExpiresByType application/javascript "access plus 1 year" ExpiresByType image/gif "access plus 1 year" ExpiresByType image/jpeg "access plus 1 year" ExpiresByType image/png "access plus 1 year" ExpiresByType image/webp "access plus 1 year" ExpiresByType image/svg "access plus 1 year" ExpiresByType image/svg+xml "access plus 1 year" ExpiresByType image/x-icon "access plus 1 year" ExpiresByType application/vnd.ms-fontobject "access plus 1 year" ExpiresByType font/eot "access plus 1 year" ExpiresByType font/ttf "access plus 1 year" ExpiresByType font/woff "access plus 1 year" ExpiresByType font/woff2 "access plus 1 year" </IfModule>

楽介の設定だと、軒並み1年以上になっています(htmlだけ1日、cssは6ヶ月)。

JavaScriptやCSSが長すぎるんじゃないか? という意見もありますが、現在はJavaScriptやCSS については、更新時にURLパラメーターとしてバージョンをつけることが一般化しています。または、配布ファイル自体にバージョン名が含まれていることもありますね。

こうした呼び出しの場合、URLが違うと判断されてキャッシュを無視して呼び出し直してくれるので、基本的には同じファイル名での更新はないだろうということで思い切り長くしました。

また、gif, jpeg, pngとおなじみの画像ファイルの他、webp形式にも忘れずにキャッシュ期間を設定します。楽介の環境では、EWWW Image Optimizerでwebpに自動変換をしているので、結構大事です。

EWWW Image Optimizer の設定見直し

WebPのリライト方式が「Picture WebP Rewriting」のみになっていたのですが、これだと漏れが出るようなので、JS WebP リライトを新たに有効にしました。

終わりに

メインの対策については、未だに下記も併用できると思います。

【2022年最新】CWV対応でSEOに強い WordPress 構築

ただ、CWVについては、PageSpeed Insightで改善案がほぼでなくなっても不合格のままという状況なので、あまり気にしすぎるのもよくないかなと思っています。例えば、LCP を改善しようと思うと、「固定でサイズが大きい割に軽量な」コンテンツをWebページの上部に配置すると、相対的に向上しやすくなります。ただ、それがUXにかなった施策か? というと、一昔前のSEOのためのSEOのように本末転倒な結果になるように思います。

最終的には高速なCDNの活用が必要になってくるので、大規模サービスの展開でもなければ、自分でアクセスして許容範囲内かどうか、で判断するといいと思います。

楽介でした。

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

最新の記事