ウェブサイト高速化。Lazy Loading(遅延読み込み)の実装方法
投稿日: 更新日:
ウェブサイトの表示速度は、ユーザー体験だけでなく、SEOにとっても非常に重要な要素です。画像や動画が多いページでは、すべてのメディアを一度に読み込むと表示が遅くなってしまいます。
そこで役立つのがLazy Loading(レイジーローディング)、日本語で「遅延読み込み」と呼ばれる技術です。
今回は、Lazy Loadingの基本から、簡単に実装する方法までを解説します。
Lazy Loadingとは?
Lazy Loadingは、ユーザーの画面に表示される直前まで、画像や動画の読み込みを遅らせる技術です。
例えば、ブログ記事の非常に長いページで考えてみましょう。ページの最下部にある画像は、ユーザーがスクロールしてそこまで到達するまでは読み込む必要がありません。Lazy Loadingを適用すると、その画像はユーザーがスクロールして画面に近づいた時点で初めて読み込まれます。
これにより、ページの初期表示が大幅に速くなり、ユーザーの待ち時間が短縮されます。
HTMLだけで実装する方法(loading属性)
最近のブラウザでは、JavaScriptを使わなくても、HTMLの<img>
タグに**loading="lazy"
**という属性を追加するだけで簡単にLazy Loadingを実装できます。
この方法は、最もシンプルで推奨されるやり方です。
実装例
<img src="your-image.jpg" alt="これはテスト画像です" loading="lazy">
たったこれだけです。ブラウザがこの属性を認識すると、画像がビューポート(画面の表示領域)に入ったときに初めて読み込みを開始します。
ただし、loading
属性はまだすべてのブラウザでサポートされているわけではありません。主要なモダンブラウザ(Chrome、Edge、Firefox、Safariなど)は対応していますが、古いブラウザをサポートする必要がある場合は、JavaScriptを使った実装も考慮する必要があります。
JavaScriptで実装する方法(Intersection Observer API)
より詳細な制御が必要な場合や、古いブラウザにも対応させたい場合は、JavaScriptのIntersection Observer APIを使うのが一般的です。
このAPIは、特定の要素がビューポートに入ったかどうかを簡単に検出できます。
実装例
1. HTMLの準備
画像にdata-src
属性で本来の画像パスを指定し、src
属性には軽量なプレースホルダー画像(空白の画像など)を設定しておきます。
<img data-src="your-image.jpg" src="placeholder.jpg" alt="これはテスト画像です">
2. JavaScriptのコード
Intersection Observer APIを使って、画像が画面に入ったときにdata-src
の画像をsrc
にセットする処理を実装します。
document.addEventListener("DOMContentLoaded", function() {
const lazyImages = document.querySelectorAll('img[data-src]');
const observer = new IntersectionObserver((entries, observer) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const img = entry.target;
img.src = img.dataset.src;
img.removeAttribute('data-src');
observer.unobserve(img);
}
});
});
lazyImages.forEach(image => { observer.observe(image); });
});
このコードは、data-src
属性を持つすべての<img>
要素を監視し、画面に表示された時点で画像パスをsrc
にセットし、監視を停止します。
まとめ
Lazy Loadingは、ウェブサイトのパフォーマンスを劇的に改善する強力な手法です。
- 最も簡単な方法:
loading="lazy"
属性をHTMLの<img>
や<iframe>
タグに追加する。 - より柔軟な方法:JavaScriptのIntersection Observer APIを使用する。
サイトの目的やターゲットユーザーの環境に合わせて、最適な実装方法を選びましょう。Lazy Loadingを導入することで、ユーザーはより快適に、そして待ち時間なくコンテンツを楽しめるようになります。
ホームページ制作のご依頼・ご相談
- 効果測定が可能な、成果重視のホームページが欲しい
- 問い合わせ件数を増やしたい
- スマートフォンに対応したホームページが欲しい
- 簡単な操作で自社管理できるホームページが欲しい
- サポートと継続的なメンテナンスまで安心してお願いしたい
- SEOに強い制作会社を探している
ホームページ制作のご依頼・ご相談は、Webディレクターのあがのが対応させていただきます。
ご対応エリア:広島県を中心に全国対応
人気NOTE
1234567890-
参考文献の書き方:Webサイト・書籍・論文など、正しい方法を解説
-
定期タスクはNotionの繰り返し機能を使おう!リマインドにも◎
-
オートコンプリート機能を徹底解説!設定・無効化・活用方法まで
-
(Copyright)とは?著作権表示の正しい書き方や意味を解説
-
サーバーエラー発生時の対処法:原因と解決策を徹底解説
-
5W3Hで情報を整理!ビジネスや日常で役立つ活用方法
-
ホームページ作成費用・制作費用の相場早見表付き【2024年最新版】
-
ChatGPTのプラン選びで失敗しない!料金、機能、選び方の完全ガイド
-
chromeでパスワードが保存されない
-
Notionのフルページデータベースをインラインビューに変更する方法