- 表示高速化
- 更新日:
PageSpeed Insightsで「オフスクリーン画像の遅延読み込み」と提案された場合、何を示しているのか、具体的な対策を紹介します。
目次
オフスクリーン画像の遅延読み込みとは
オフスクリーン画像の遅延読み込みとは、ページ内の画像を一気に読み込まず、ブラウザに表示されている画像だけ先に読み込む技術です。
これによってページの表示スピードが上がります。
オフスクリーン画像の遅延読み込みは、PageSpeed Insightsで提案された場合のみ実施すると良いでしょう。
むやみに全ページに取り入れると、かえって高速化を妨げるおそれがあります。
オフスクリーン画像の遅延読み込みの重要性
オフスクリーン画像の遅延読み込みは、表示スピード改善のための施策の1つです。
表示速度が遅いと「直帰率が上がる」「SEO順位が下がる」などのリスクがあるため、PageSpeed Insightsのスコアが低いページは早めに改善することをおすすめします。
「Page Speed Insightsを活用しきれているか不安」という方は、こちらのページもご覧ください。
Google Page Speed Insightsの使い方を解説!ページの表示スピードを上げよう
【WordPress】プラグインを使用した改善方法
ここからは、オフスクリーン画像の遅延読み込みの方法を紹介します。まずは、WordPressのプラグインを使った方法です。
オフスクリーン画像の遅延読み込みの設定ができるプラグインは、複数あります。
複数のプラグインでオフスクリーン画像の遅延読み込みの設定をすると、不具合が起こり得るため、設定が重複しないよう注意しましょう。
EWWW Image Optimizer
「EWWW Image Optimizer」は、アップロードされた画像を自動で圧縮するプラグイン。
オフスクリーン画像の遅延読み込みの設定もでき、画像の最適化に有効です。
設定方法は次の通りです。
1.インストール
WordPressのプラグイン追加画面からEWWW Image Optimizerをインストールし、有効化します。
2.遅延読み込みをチェック
「EWWW Image Optimizer」の設定画面で、「基本」タブ内の「遅延読み込み」にチェックを入れます。
Autoptimize
「Autoptimize」でも、オフスクリーン画像の遅延読み込みが設定できます。
ソースコードを最適化してサイズを軽減させるプラグインとして紹介されることが多く、導入することでPage Speed Insightsの「レンダリングを妨げるリソースの除外」の施策にもつながります。
設定方法は次の通りです。
1.インストール
WordPressのプラグイン追加画面からAutoptimizeをインストールし、有効化します。
2.Lazy-load imagesをチェック
「Autoptimize」の設定画面で、「image」タブ内の「Lazy-load images」にチェックを入れます。
【WordPress以外】jQueryライブラリの読み込み
WordPress以外のサイトでは、jQueryライブラリにある「lazyload.js」を実装することでオフスクリーン画像の遅延読み込みが設定できます。
設定方法は次の通りです。
1.imgタグの変更
対象画像のimgをdata-original属性に設定し、class属性を追加します。
<img data-original="sample.jpg" class="lazy">
2.ライブラリの読み込み
lazyloadを呼び出す下記のコードを追加します。
<!-- jQueryライブラリ読み込み --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"> <!-- lazyloadライブラリ読み込み --> <script src="https://cdn.jsdelivr.net/npm/lazyload@2.0.0-rc.2/lazyload.min.js"> <!--Lazy Load起動 --> <script> $(function() { $("img.lazy").lazyload(); }); </script>
【WordPress以外】Intersection Observerの実装
上記のjQueryライブラリは簡単に実装できるものの、画像がインデックスされないというデメリットもあります。
そこでGoogleが推奨しているのが、JavaScriptの機能の1つであるIntersection Observerです。
設定方法は次の通りです。
1.ダミー画像を用意
オフスクリーン時に読み込ませるための、軽量なダミー画像を用意します。
2. imgタグの変更
imgのsrc属性にダミー画像を指定し、data-src属性に遅延読み込みさせる画像を指定します。
表示ズレを防ぐために、画像サイズの指定も必ず行いましょう。
<img src="picture/dummy.jpg" data-src="sample.jpg" class="imgdelay" width="" height="" alt="">
3. Javascriptの追加
下記のスクリプトを記述します。
<script> document.addEventListener("DOMContentLoaded", function() { var lazyImages = [].slice.call(document.querySelectorAll("img.imgdelay")); if ("IntersectionObserver" in window) { let lazyImageObserver = new IntersectionObserver(function(entries, observer) { entries.forEach(function(entry) { if (entry.isIntersecting) { let lazyImage = entry.target; lazyImage.src = lazyImage.dataset.src; if (typeof lazyImage.dataset.srcset === "undefined") { }else{ lazyImage.srcset = lazyImage.dataset.srcset; } lazyImage.classList.remove("imgdelay"); lazyImageObserver.unobserve(lazyImage); } }); }); lazyImages.forEach(function(lazyImage) { lazyImageObserver.observe(lazyImage); }); } else { // Possibly fall back to a more compatible method here } }); </script>
4. polyfillライブラリの読み込み
古いブラウザでもオフスクリーン画像の遅延読み込みが機能するよう、polyfillというライブラリを読み込ませます。
<script src="https://polyfill.io/v2/polyfill.min.js?features=IntersectionObserver"></script>
まとめ
本記事では、PageSpeed Insightsで「オフスクリーン画像の遅延読み込み」と提案された場合の対処法を紹介しました。
表示スピード改善のためには、PageSpeed Insightsで提案された施策を地道に実施していくことが大切です。
なかなか効果を感じられなければ、「デジタルアイデンティティ」へご相談ください。
無料Webサイト高速化診断で課題を見える化!【毎月5社限定】
株式会社デジタルアイデンティティでは、毎月先着5社限定で無料の高速化診断を実施しています!
高速化に関するこんなお悩みはありませんか?
- 高速化でどこから手をつければいいかわからない…
- 自社で高速化をしてみたが、効果が上がらない…
- PageSpeed Insightsのスコアが良くならない…
- 高速化ができるリソースがない / 人材がいない…
Webサイト高速化は、同じ項目であってもサイトの状況によって、対応するべきポイントが変わる難易度の高い施策です。
自社での対応が可能な場合もありますが、難易度の高い施策が必要な場合もあります。
そんな時は、無料の高速化診断をお試しください!
様々なサイトの高速化を実現してきたプロが、あなたのWebサイトを分析!
高速化に必要な施策と施策毎の難易度、改善後のインパクトまで、まとめてご報告します!
- どんな施策をすれば良いか?
- どの施策から実施するか?
- どの程度、スピードを改善できそうか?
など、高速化施策の方針が明確化します!
ただし、毎月先着5社様限定となっておりますので、お早めにお申し込みください!