画像SEO:代替テキスト・形式・圧縮・遅延読み込み
画像ファイル、代替テキスト、レスポンシブなマークアップ、表示速度を組み合わせ、画像を検索で見つけてもらえる状態に保つ方法を解説します。
Google画像検索は、毎月数十億件のクエリを処理しています。Jumpshotのデータによると、ウェブ検索全体の約22%に画像検索が関わっています。ECサイト、コンテンツサイト、ポートフォリオにとって大きな流入チャネルですが、ほとんどのサイトが見過ごしています。
画像の最適化は、Google画像検索での表示だけでなく、通常のオーガニック検索にも影響します。ページの表示速度(LCP)、Core Web Vitals、ユーザー体験、そして間接的にメインの検索結果での順位にも関わります。
画像をSEOのために最適化する理由
画像を適切に最適化すると、複数の課題を同時に解決できます。視覚に障害のあるユーザー向けのアクセシビリティが向上し、ページの読み込みが速くなり、Googleに明確なコンテキストを伝えられます。さらにGoogle画像検索という、オーガニック流入の経路が1つ増えます。
検索シェア
全検索クエリのうち画像検索が関わる割合
LCPの短縮
同じ見た目の品質でJPEGからWebPに切り替えた場合の平均改善率
ページの重さ
ほとんどのページで、画像がページ容量の最大の割合を占めます
コンバージョン
画像を最適化したサイトは、読み込みが速いぶんコンバージョンも高くなります
ほとんどのページで、画像は最も重いリソースです。最適化されていない画像は読み込みを遅くし、LCP(Largest Contentful Paint)を悪化させ、Core Web Vitalsのスコアに直接影響します。GoogleはCWVを2021年からランキングシグナルとしています。
代替テキスト(alt属性)の書き方
alt属性(alt="...")は、画像に何が写っているかをGoogleに伝える唯一の手段です。画像が読み込めないときの表示にも使われ、視覚に障害のあるユーザーのスクリーンリーダーでも読み上げられます。
正しい書き方
| 悪い例 | 良い例 |
|---|---|
| image.jpg | 2024〜2025年のオーガニック流入の推移グラフ |
| photo1 | Google Search Consoleのカバレッジレポートのスクリーンショット |
| SEO SEO SEOキーワード | 多言語サイト向けhreflang設定の手順図 |
| logo | seohead.techの企業ロゴ |
| (重要な画像でaltが空) | ブランド名クエリの検索順位の6か月推移グラフ |
alt属性のルールは次のとおりです。画像に写っているものを説明します。関連するなら、ターゲットキーワードを自然に含めます。「〜の画像」「〜の写真」「〜のピクチャ」といった言葉で始めません。画像であることはGoogleが理解しているためです。長さは5〜15語程度が目安です。
alt="")を指定します。スクリーンリーダーがその画像を読み飛ばすようになり、アクセシビリティの観点でも正しい対応です。<!-- Informative image -->
<img
src="/images/crawl-budget-chart.webp"
alt="Crawl budget distribution chart by page type"
width="800"
height="450"
/>
<!-- Decorative image -->
<img
src="/images/divider.svg"
alt=""
role="presentation"
/>
<!-- Image link: alt describes the link purpose -->
<a href="/tools">
<img
src="/images/seo-scripts-icon.webp"
alt="SEO Scripts: tools for technical audits"
width="64"
height="64"
/>
</a>ファイル名とパス
Googleは画像のファイル名も補助的なシグナルとして分析します。DSC_0047.jpgからは何もわかりませんが、canonical-url-diagram.webpならトピックと文脈が伝わります。
| 悪いファイル名 | 良いファイル名 |
|---|---|
| DSC_0047.jpg | seo-audit-checklist.webp |
| image001.png | google-search-console-coverage-report.webp |
| photo.jpeg | internal-linking-architecture-diagram.webp |
| img_final_v3_FINAL.png | robots-txt-structure.webp |
%20にエンコードされます)、アンダースコア、特殊文字は避けます。パスも、/uploads/2024/05/より/images/blog/のほうが整理されています。形式:WebP、AVIF、JPEG、PNG
形式の選択は、最適化の重要な要素の1つです。新しい形式(WebP、AVIF)は、同じ見た目の品質でファイルサイズを大きく減らせます。
| 形式 | 圧縮率 | 透過 | アニメーション |
|---|---|---|---|
| WebP | JPEGより25〜35%小さい | 可 | 可 |
| AVIF | JPEGより50%小さい | 可 | 可 |
| JPEG | 基準 | 不可 | 不可 |
| PNG | JPEGより大きい | 可 | 不可 |
| SVG | ベクター | 可 | 可 |
| GIF | 低い | 限定的 | 可 |
| 形式 | 対応率 | 推奨 |
|---|---|---|
| WebP | 97%以上 | 写真とスクリーンショットの主力形式 |
| AVIF | 90%以上 | 画質は最高。デコードがやや遅い |
| JPEG | 100% | 古いブラウザー向けのフォールバック |
| PNG | 100% | アイコンと文字の多いスクリーンショットだけに使う |
| SVG | 97%以上 | アイコン、ロゴ、図 |
| GIF | 100% | WebPか動画に置き換える |
推奨する方針は、WebPを主力形式にして、<picture>要素でJPEGをフォールバックに指定することです。AVIFへの移行は、閲覧者の大半がChrome 85以降とSafari 16以降になってからにします。ベクターグラフィックは例外なくSVGを使います。
<!-- Modern approach: AVIF → WebP → JPEG -->
<picture>
<source srcset="/images/hero.avif" type="image/avif" />
<source srcset="/images/hero.webp" type="image/webp" />
<img
src="/images/hero.jpg"
alt="SEO audit of an online store: 340% traffic growth"
width="1200"
height="675"
loading="eager"
fetchpriority="high"
/>
</picture>画質を落とさない圧縮
ほとんどの画像は、見た目の品質を落とさずに30〜70%圧縮できます。主なツールは、Squoosh(オンライン)、ImageMagick(CLI)、Sharp(Node.js)、Pillow(Python)です。
最適な画質設定
| 形式 | ウェブ向けの品質 | ツール |
|---|---|---|
| WebP | 75〜85 | Sharp:sharp().webp({ quality: 80 }) |
| AVIF | 60〜75 | Sharp:sharp().avif({ quality: 65 }) |
| JPEG | 75〜85 | ImageMagick:-quality 80 |
| PNG | ロスレス | pngquant:--quality=65-80 |
// Next.js: automatic optimisation via next/image
import Image from 'next/image';
// next/image automatically:
// - converts to WebP/AVIF
// - generates srcset
// - adds lazy loading
// - prevents layout shift (requires width/height)
export function HeroImage() {
return (
<Image
src="/images/hero.jpg"
alt="Organic traffic growth after SEO audit"
width={1200}
height={675}
priority // disables lazy load for the hero image
/>
);
}<img>ではなく<Image>コンポーネントを使います。WebP/AVIFへの自動変換、srcsetの生成、レイアウトシフトの防止を自動で行います。ファーストビューのメインビジュアルには必ずpriorityを付けてください。LCPが短縮されます。遅延読み込みとloading='eager'
遅延読み込みは、画面外の画像をユーザーがスクロールして近づくまで読み込まない仕組みです。初期のページ容量が減り、Time to Interactiveが速くなります。
<!-- Below-fold images: lazy loading -->
<img
src="/images/article-thumbnail.webp"
alt="XML sitemap audit screenshot"
width="400"
height="225"
loading="lazy"
/>
<!-- Hero and LCP images: eager + fetchpriority -->
<img
src="/images/hero.webp"
alt="Real-time SEO analytics"
width="1200"
height="675"
loading="eager"
fetchpriority="high"
/>| 属性 | 値 | 使う場面 |
|---|---|---|
| loading | lazy | 最初のビューポートより下にあるすべての画像 |
| loading | eager | メインビジュアル、ロゴ、LCP要素 |
| fetchpriority | high | ページのメイン画像(LCP) |
| fetchpriority | low | ページ下部の装飾的な画像 |
| decoding | async | ほとんどの画像。レンダリングをブロックしません |
loading="lazy"を付けてはいけません。これは致命的なミスです。ブラウザーがページで最も重要なビジュアル要素の読み込みを後回しにし、LCPが急激に悪化します。サイズ指定、srcset、アートディレクション
widthとheight属性は必ず指定します。読み込み前にブラウザーが画像のスペースを確保でき、読み込み中にコンテンツが動いてしまうCumulative Layout Shift(CLS)を防げます。
<!-- srcset: different sizes for different screens -->
<img
src="/images/blog-cover.webp"
srcset="
/images/blog-cover-480.webp 480w,
/images/blog-cover-800.webp 800w,
/images/blog-cover-1200.webp 1200w
"
sizes="(max-width: 480px) 480px, (max-width: 800px) 800px, 1200px"
alt="Internal linking architecture guide: site structure diagram"
width="1200"
height="675"
loading="lazy"
/>srcset属性を使うと、ブラウザーが現在の画面と画素密度に最適な画像サイズを選べます。DPIが2倍のモバイル端末では、1200pxではなく800px版が読み込まれ、通信量が減って表示が速くなります。
構造化データ
schema.orgのマークアップを使うと、Googleがリッチリザルト(商品カード、レシピ、記事)に画像を表示しやすくなります。画像に関連する主な型は、ImageObject、Article、Product、Recipeです。
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Image SEO: complete guide",
"image": {
"@type": "ImageObject",
"url": "https://seohead.tech/images/blog/image-seo.webp",
"width": 1200,
"height": 675,
"caption": "Image optimisation for search: formats, alt text, compression"
},
"datePublished": "2026-05-17",
"author": {
"@type": "Person",
"name": "seohead"
}
}画像サイトマップ
Googleは、画像の情報をXMLサイトマップに含めることを推奨しています。JavaScriptで読み込まれる画像のインデックス登録を助け、タイトル、キャプション、ライセンスといった追加のコンテキストも伝えられます。
<?xml version="1.0" encoding="UTF-8"?>
<urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
>
<url>
<loc>https://seohead.tech/blog/image-seo</loc>
<image:image>
<image:loc>https://seohead.tech/images/blog/image-seo.webp</image:loc>
<image:title>Image SEO: alt text, formats, compression, and lazy load</image:title>
<image:caption>Complete guide to image optimisation for search</image:caption>
</image:image>
</url>
</urlset>FAQ
代替テキストは検索順位に直接影響しますか?
WebPとAVIFはどちらが良いですか?
<picture>によるAVIF → WebP → JPEGです。多くのプロジェクトでは、現時点ではWebPが安心できる選択肢です。すべての画像をインデックス登録の対象にする必要がありますか?
alt=""を指定すれば、インデックス登録時にその画像を読み飛ばすシグナルになります。注力するのは、スクリーンショット、図、商品写真といったコンテンツ上の画像です。Googleが画像をインデックスに登録しているかどうか、どう確認しますか?
site:your-domainを入力して確認します。GSCのURL検査ツールも使い、画像がGooglebotにアクセスできる状態か(robots.txtでブロックされていないか)を確かめます。widthとheightの属性は必須ですか?
Check it with SpiderHead
Free and local: run the audit on your own machine.



