Domain 22 / 225
画像 SEO は HTML img タグ + 高品質画像 + alt テキストで決まる
画像 SEO の要点
画像 SEO は HTML の img 要素で埋め込み、CSS background-image は使わない。レスポンシブ画像は picture / srcset を使い必ず src フォールバックも書く。alt テキストとファイル名で画像内容を Google に伝える。CDN 利用時は CDN ドメインも Search Console で verify
なぜこれを学ぶか
画像 SEO は EC・メディア・レシピ・観光サイトで Google 画像検索からの流入を取る主要施策。 正しく実装すれば画像経由のオーガニック流入が大幅に増えるが、CSS background-image だけで実装すると画像が一切インデックスされない。
リッチリザルト(商品画像 / レシピ写真)、Google Discover、AI Overview の画像表示にも直結する。
学ばないと起きること
| よくある事故 | 被害 |
|---|---|
画像を CSS background-image で表示 | Google がインデックスしない、画像検索から完全に消える |
alt テキストを空にする / alt="" 量産 | 画像検索のコンテキストが Google に伝わらない |
<picture> を使うが src フォールバックを書かない | 一部のクローラー / ブラウザで画像が読めない |
ファイル名が IMG_1234.jpg のままアップロード | Google に画像内容が伝わらない |
| CDN 配信の画像で CDN ドメインを Search Console verify せず | クロールエラーに気づけない、画像がインデックスされにくい |
| 画像 URL が毎回変わる(CSS-in-JS のハッシュなど) | Google が同じ画像を別物として処理、インデックスが安定しない |
| 画像インデックスを止めたい時に noindex を間違って使う | ページ全体がインデックスから外れる、noimageindex を使うべき |
学ぶメリット
- 画像検索から流入を取れる土台ができる
- レスポンシブ画像(picture / srcset)の SEO 観点での実装ができる
- CDN 移行時に画像 SEO のリスクを回避できる
- 商談で「CSS background-image は SEO 上 NG」を即答できる
仕組み
画像インデックスの必須要件
公式に明記:
| 要件 | 内容 |
|---|---|
| HTML img 要素で埋め込む | <img src="..."> または <picture> 内の <img> |
| サポート形式を使う | JPEG / PNG / WebP / AVIF / GIF / SVG / BMP / ICO |
| クロール可能 | robots.txt で画像 URL を Disallow しない |
| ページに表示される | hidden / display:none で隠していない |
CSS background-image は Google がインデックスしない。
サポート画像形式
| 形式 | 推奨度 |
|---|---|
| WebP | 推奨。圧縮効率が高く、品質維持 |
| AVIF | 推奨。WebP より新しく、さらに高効率 |
| JPEG | 標準的、写真向け |
| PNG | 透過が必要な場合 |
| SVG | アイコン / イラスト向け、ただし内部の <image> タグの jpg はインデックスされない |
| GIF | アニメーション可、サイズが大きくなりがち |
レスポンシブ画像の正しい書き方
<picture> + <source> 形式:
<picture>
<source srcset="hero.avif" type="image/avif">
<source srcset="hero.webp" type="image/webp">
<img src="hero.jpg" alt="ヒーロー画像の説明" width="1200" height="630">
</picture>
srcset 形式:
<img
srcset="cat-320w.jpg 320w, cat-480w.jpg 480w, cat-800w.jpg 800w"
sizes="(max-width: 320px) 280px, (max-width: 480px) 440px, 800px"
src="cat-800w.jpg"
alt="窓辺で寝る三毛猫の水彩イラスト">
<picture> を使う場合も 必ず <img src=...> フォールバックを書く。一部のクローラーやブラウザは <source> を理解しないため。
キー概念
alt テキストのベストプラクティス
| OK | NG |
|---|---|
| 「窓辺で寝る三毛猫」 | alt=""(装飾画像でない場合) |
| 「東京タワーから見る夕景」 | alt="image" |
| 「Macbook Air 2024 のキーボード拡大」 | alt="IMG_1234" |
| 「青いドレスを着る女性モデル」 | alt="cat cat cat"(KW 詰め込み) |
装飾的な画像(罫線・スペーサーなど)は alt="" で OK。検索結果に出さない明示的な指定。
ファイル名のベストプラクティス
| OK | NG |
|---|---|
tokyo-tower-sunset.jpg | IMG_1234.jpg |
macbook-air-2024-keyboard.jpg | photo-001.jpg |
green-dress-model.webp | スクリーンショット 2024-05-10 14.30.png |
意味を表す英数字 + ハイフン区切り。日本語ファイル名はパーセントエンコードされて読みにくくなる。
画像周辺のテキスト
Google は画像のコンテキストを以下から判断する:
- alt テキスト
- ファイル名
- 画像の前後の HTML テキスト
- 画像のキャプション
- ページ全体のトピック
- 内部リンクで使われているアンカーテキスト(画像へのリンク含む)
画像だけ単体では文脈不足。周辺テキストで何の画像かを補足する。
画像サイトマップ
通常のサイトマップに画像情報を追加するか、画像専用サイトマップを作る:
<?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://example.com/article/cats</loc>
<image:image>
<image:loc>https://cdn.example.com/cat-1.jpg</image:loc>
</image:image>
<image:image>
<image:loc>https://cdn.example.com/cat-2.jpg</image:loc>
</image:image>
</url>
</urlset>
JavaScript で動的に読み込まれる画像、CDN 配信の画像など、Google が通常クロールで発見しにくい画像を伝える役割。
<image:loc> は別ドメイン(CDN など)でも OK だが、Search Console でその CDN ドメインも verify しておく。
画像インデックスを止めたい時
ページ全体は出したいが画像だけインデックスから外したい場合:
<meta name="robots" content="noimageindex">
または HTTP ヘッダ:
X-Robots-Tag: noimageindex
これでページのテキストはインデックスされ、画像だけ画像検索から除外される。
よくある誤解
| よくある誤解 | 実際のところ | 出典 |
|---|---|---|
CSS background-image でも Google は画像を認識する | 認識しない、インデックスされない | Google Image SEO |
| alt テキストは長い方が SEO に強い | 画像内容を簡潔に説明する。長文や KW 羅列は逆効果 | 同上 |
| 装飾画像にも alt を必ず書く | 装飾画像は alt="" で OK、明示的な指定 | 同上 |
<picture> を使えば src は不要 | NG。一部クローラー / ブラウザのため必ず <img src=> フォールバックを書く | 同上 |
| 画像サイトマップに別ドメインの URL を入れられない | 入れられる。CDN ドメインの画像も含められる、ただし CDN ドメインも Search Console で verify | 画像サイトマップ |
| 画像のファイル名は SEO に影響しない | 影響する。IMG_1234.jpg より tokyo-tower-sunset.jpg のほうが Google に内容が伝わる | Google Image SEO |
| 画像だけインデックスから外したい時は noindex を使う | NG。ページ全体が外れる。noimageindex を使う | robots meta タグ |
| サムネイルだけ画像検索に出てもメイン画像は不要 | メイン画像が高品質・大きいほうがリッチリザルトや Discover で大きく表示されやすい | Google Image SEO |
実務での適用
Next.js / React での画像実装
import Image from "next/image";
<Image
src="/products/dress-blue.jpg"
alt="モデルが着用する青いマキシ丈ドレス"
width={800}
height={1200}
priority
/>
next/image は内部で <picture> + <source srcset> + <img> を生成し、AVIF / WebP の自動配信もサポート。alt は必ず指定。
EC サイトの商品画像
各商品ページで:
- メイン画像 1 枚(高解像度、商品全体)
- サブ画像 4-6 枚(角度違い・拡大・着用イメージ)
- すべてに固有の alt テキスト
- ファイル名は SKU + 商品名 + 角度(例:
dress-blue-front.webp) - Product 構造化データに
imageプロパティで全画像 URL を記述
CDN 配信時のチェックリスト
- CDN ドメインを Search Console で verify
- CDN の robots.txt が画像クロールを阻害していないか
- 画像 URL が毎回変わらないか(ハッシュ付与の場合は固定キャッシュキー)
- CDN の HTTP レスポンスヘッダで X-Robots-Tag を意図せず付けていないか
トラブル別の対処
| 症状 | 確認すべきこと |
|---|---|
| Google 画像検索に画像が出ない | CSS background-image を使っていないか、HTML img タグで埋め込まれているか |
| Search Console「画像インデックス未登録」が増えた | robots.txt で画像 URL を Disallow していないか、CDN ドメインを verify したか |
| 画像が低品質と判定される | 解像度が低くないか、サポート形式を使っているか |
| 画像のクロール頻度が異常に高い | 画像 URL が毎回変わっていないか、CDN の不適切なハッシュキー |
| 商品画像がリッチリザルトに表示されない | Product 構造化データに image プロパティが入っているか、画像が高品質か |
公式ソース
自己テスト
Q1. CSS background-image で表示した画像は Google にインデックスされるか?
されない。HTML の <img> 要素で埋め込む必要がある
Q2. レスポンシブ画像で `<picture>` を使う場合、`<img src=...>` フォールバックは必要か?
必要。一部のクローラーやブラウザは <source> を理解しないため、必ず <img src=> を <picture> の最後に書く
Q3. 装飾画像(罫線・スペーサーなど)の alt テキストはどうするべきか?
alt="" で OK。検索結果に出さない明示的な指定として推奨される
Q4. 画像サイトマップに別ドメイン(CDN など)の画像 URL を含められるか?
含められる。ただし CDN ドメインも Search Console で verify する必要がある
Q5. 画像だけ画像検索から除外したい場合に使うのは?
<meta name="robots" content="noimageindex"> または X-Robots-Tag: noimageindex。
ページ全体に noindex を入れるとページごと検索結果から外れるので NG
Q6. 画像のファイル名は SEO に影響するか?
影響する。IMG_1234.jpg より tokyo-tower-sunset.jpg のような意味を表す英数字 + ハイフン区切りが推奨
Q7. WebP / AVIF と JPEG では SEO 上どちらが推奨か?
WebP / AVIF が推奨。圧縮効率が高く、Core Web Vitals(LCP)の改善にも貢献する
Q8. SVG 内の `<image>` タグの jpg は Google がインデックスするか?
しない。SVG 内に埋め込まれた <image> タグの画像は Google が認識しないので、外部 jpg 画像は通常の <img> タグで埋め込む
これらの内容を採点付きで挑戦したい場合は、本ドメインのプロ試験で 5 問形式で確認できる。