Cocoonのボックスメニューのサムネイルに「高速化」タブのlozad.js無しでLazy Loadを適用させて更なる高速化を図る

WordPress5.5以降、Native Lazy Loadが実装されました。
これにより投稿内の画像はデフォルトで遅延読み込みされます。

しかし一部のサムネイル画像については適用されません。
そのためPageSpeed Insightsの「オフスクリーン画像の遅延読み込み」で怒られてしまいます。

Cocoonの「ボックスメニュー」機能における画像サムネイルもその一つ。
その対処策として別途Lazy Loadプラグイン(lozad.js)が用意されています。

lozad.jsはIntersectionObserver APIをベースとするプラグイン。
軽量かつSEOで不利にならない(=Googlebotが対応している)のが売りです。

しかしスクリプトは読み込むのが少なければ少ないに越したことはない。
その分だけ高速化が図れるのですから。

本稿では、高速化タブのLazy Loadを使わずに対処する方法を提示します。

天満川鈴 WRITTEN BY 天満川鈴

Native Lazy Loadを適用させる方法

まずは基本として、手動で画像にNative Lazy Loadを適用させる方法。
imgタグに次の属性を付加するだけです

loading="lazy"

WordPress5.5以降であれば自動で付加してくれます。

しかし一部サムネイルには付加してくれないのが今回の問題なわけです

私が取り組む羽目になったきっかけ

そもそもの話として。

ボックスメニューのアイコンを画像じゃなくてFontAwesomeにすればいいじゃん

という意見もあるかと思います。
私も本来ならそうします。

ただ、私はどうしても「美雲このは」をアイコンにしたかったんです。
https://kimoota.net/cocoon-box-menu-conoha/
その結果、PSIの「オフスクリーン画像の遅延読み込み」で引っ掛かってしまいました。

しかたなく、とりあえずはlozad.jsを使って凌ぎます。
しかし、

たった14文字のコードを入れるだけで解決できるのにプラグイン読み込むのは悔しい!

プラグインを使わないLazy Loadがプラグインを使うLazy Loadより速いのは当然だしね

Native Lazy Loadが適用されるのはChromeやFirefoxなどに限られます。
読み手のことを考えたらlozad.jsで全てのブラウザに対応させた方がいいんですけど。
ぶっちゃけPSI(ひいては6月から始まるページエクスペリエンスアップデート)のためですからNative Lazy Loadだけ対応すればOK。

というわけで抜本的な対処を図ることにしました。

ボックスメニューのサムネイルにLazy Loadを適用させる方法

具体的にはカスタムHTMLウィジェットを利用します

まず、普通にボックスメニューを作って設置します。
次に「外観」→「ウィジェット」を開き「カスタムHTML」ウィジェットを設置します。
ボックスメニューウィジェットの方は後で削除しますから、その上下どちらかに設置するのがいいでしょう。

サイト画面をChromeで開き、ボックスメニュー上で右クリックして「検証」をクリックします。

当該要素の上で右クリックします。
この場合でしたら、下の記述です。

div class="box-menus no-icon"

「copy」→「copy outer HTML」をクリックします。

先程の「カスタムHTML」にコピペします。
imgタグ全てに「loading=”lazy”」を加えます。

できた!

終わったら再びF12でチェック。
「loading=”lazy”」を確認したらPSIでチェックしてみてください。

備考 その他のウィジェット・テーマでのカスタムHTMLの活用

今回のカスタムHTMLを使った手法は、静的(内容が変わらないという意味)なコンテンツであればボックスメニューに限らず使えるはずです。
私は試してませんけど、理屈上は「おすすめカード」や「カルーセル」でもいけるんじゃないでしょうか?

注意したいのは、

新着記事や人気記事など、その時々で画像が変わってしまう場合です

PHPでサムネイルを吐き出しているわけですから今回の手法を採れません。
テンプレートを直接編集ないし差し替えるしかないと思います。
原始的な方法については、一応こちらに記しています。

まとめ

今回のはカスタマイズというよりウィジェットの使い方の問題だね

ちょっとした盲点じゃあるかもね
ま、コーディングばかりがカスタマイズじゃないってこと

天満川 鈴のプロフィール画像
WRITTEN BY

天満川 鈴

未経験からWEB業界に入り、現在はWEBディレクターとして実務に従事。 要件整理・導線設計・コンテンツ構成などを学びながら、日々改善を重ねています。 AIを活用したコンテンツ制作・効率化を強みとし、プロンプト設計を含めた制作フローの最適化にも取り組んでいます。
本サイトでは、WordPressやサイト制作に関する試行錯誤・検証内容を中心に発信。 技術検証の一環として、KUSANAGI公式サイトにて記事を2回紹介いただきました。

RECOMMENDED INFRASTRUCTURE

私はConoHa以外を勧めない。

2016年からずっとConoHaを使い倒してきました。知人に「一番いいサーバーは?」と聞かれたら、迷わずここを教えます。

レンタルサーバーナンバーワンを誇る高速環境であることはもちろん。私が「黒い画面って何?」というド素人からサイト制作のプロになれたのは、傍らにずっとこのはちゃんがいてくれたから。
私がConoHaを使い続ける、嘘偽りない理由です。

※ConoHaに初めて入会の方限定。
本CTAの画像もしくはボタンを押してWINGパック12か月以上を契約すると、最大5000円割引してもらえます。

公式サイトで詳細を見る
× 閉じる