表示速度アップ!「loading=”lazy”」と「decoding=”async”」を使い分ける

閲覧ありがとうございます。

この記事では、SEOを考慮して画像表示をさせる方法として読み込みを遅らせる「loading=”lazy”」と非同期で読み込む「decoding=”async”」の違いと使い分けを紹介しています。

  • サイトの表示速度をアップさせたい
  • SEOを意識したコーディングをしていきたい
  • ユーザビリティーとSEOを両立させたい

こんな問題を解消できます。

目次

表示速度アップ!「loading=”lazy”」と「decoding=”async”」を使い分ける

loading=”lazy”の効果

必要なタイミングまで画像の読み込みを遅らせることでファーストビューも読み込み容量を減らせるのでスムーズに表示させることが期待できます

スライダーなど非表示部分のある動的なレイアウトを含む場合、表示されるタイミングでいちいち読み込む必要があり、遅延や表示崩れを起こす場合があります

「decoding=”async”」の効果

  • 非同期処理を行うことでサイト読み込み時のレンダリングを回避できるので表示時間の短縮が期待できます
  • スライダーなど非表示部分の画像もはじめに読み込むので表示に影響させません

同時進行での情報処理が増えるので逆に遅くなる可能性もあります

使い方

<img src="***" alt="***" loading=”lazy”>
*使えるのは<img>タグと<iframe>タグの両方

<img src="***" alt="***" decoding=”async”>
*使えるのは<img>タグのみ

ファーストビューの画像を非同期で読み込むとそれ以降の画像と一緒に読み込むことになり表示が送れる恐れがあります。そこで基本的には次のようなイメージで使い分けると良いと考えています。

  • ファーストビューは同期・遅延なしで優先的に読み込む
  • ファーストビュー以下の静的なレイアウトの画像はloading=”lazy”
  • ファーストビュー以下の表示・非表示の有る動的なレイアウトではdecoding=”async”

このイメージで、実際自作したHTMLサイトに適用したところ、PageSpeed Insightsでパフォーマンスが43➡54に改善しましたので一定の効果は見込めると考えています。

参考になれば幸いです。

私はこちらの記事を参考に設定できました。ありがとうございました。

このサイトはテーマ「SWELL」を使っています

「SWELL」はWordpress初心者も慣れた人も使い続けられるテーマだと思います。

よかったらシェアお願いします!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

事業で使うサイトを企業に依頼し作成したものの、全く機能せず自分で作り直したのがきっかけでウェブの世界に興味を持ち今も吸収中。
Wordpress、コーディング、マーケティングなどウェブlogにアウトプットしています。誰かの問題解決のヒントになれば最高に嬉しいです。

目次