はじめに
ウェブサイトのページスピード最適化は重要な課題となっております。実際にページスピード対策をしてほしいというご依頼もいただいています。「PageSpeed Insights」は、ウェブサイトの読み込み速度を評価するツールであり、その中で「適切な画像サイズ」という項目の改善手段として、<picture>
タグが活用できるので解説していきたいと思います。
「適切な画像サイズ」が改善項目に出てくる理由
単純に画像のサイズが大きいため改善項目として出てくるのですが、
PCで表示する画像をそのままスマホでも使用した時に
PCの点数では改善項目に出てこなくても、スマホの点数では改善項目に出てしまいます。
改善項目から「適切な画像サイズ」を消す手段
スマホ用にも適切なサイズの画像を作成しましょう。
そして画面幅でPC用の画像をスマホ用の画像を切り替えればOKです。
その切り替えに使用するのが今回冒頭でお伝えした。<picture>
タグです。
<picuture>タグの使い方
<picture>
タグは、HTML5で導入された要素で、特に異なる画像ソースを異なる条件で提供するために使用されます。通常、レスポンシブ対応に使用されます。
<picture>
<source srcset="images/image-PC.webp" media="(min-width: 768px)" width="1000" height="750" type="image/webp">
<source srcset="images/image-SP.webp" media="(max-width: 767px)" width="400" height="300" type="image/webp">
<img src="image.jpg" alt="image" width="1000" height="750">
</picture>
上記例では、
画面幅768px以上では「image-PC.webp」を表示、画面幅767px以下では「image-SP.webp」、webpに対応していないブラウザでは、「image.jpg」を表示します。
<picture>タグのメリット
cssのメディアクエリを使用する方法よりページスピードの改善が見込める
画像を切り替える方法はcssのメディアクエリを使用した方法があります。この方法でも「適切な画像サイズ」の項目を改善することはできますが、ページ読み込み後に非表示にしたい画像の方も一度読み込まれてから、cssで画像を非表示にするので、その分ページスピードに影響を与えます。
<picture>タグを使用すれば、非表示にしたい画像の方は読み込まれないのでよりページスピードの改善が見込めます。
<img class="pc" src="images/image-PC.jpg" alt="image" width="1000" height="750">
<img class="sp" src="images/image-SP.jpg" alt="image" width="400" height="300">
@media screen and (min-width: 768px) {
.pc {
display: block;
}
.sp {
display: none !important;
}
}
@media screen and (max-width: 767px) {
.pc {
display: none !important;
}
.sp {
display: block;
}
}
まとめ
今回の記事では<picture>タグについて解説しました。
cssで画像を切り替えるよりも、<picuture>タグで画像を切り替えた方がページスピードが改善できるため、ぜひ<picture>タグを活用してみてください。
他のページスピード関連の記事
サブセットフォントメーカーの基本と利点、使い方を解説しています。フォントから不要な文字を削減することでフォント自身の容量が減り、ページ速度とユーザーエクスペリエンスを向上させます。
WordPressのメディアライブラリにwebp画像をアップロードできるようにする方法を記事にしています。
ContactForm7関連のファイルをContactForm7があるページ以外で読み込まなくするためのソースコードを紹介しています。ページスピード対策になります。
ページスピード対策で、「wp_dequeue_script」でjsの読み込みが解除できなかった時の対処法について記事で紹介しています。