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 テキストのベストプラクティス

OKNG
「窓辺で寝る三毛猫」alt=""(装飾画像でない場合)
「東京タワーから見る夕景」alt="image"
「Macbook Air 2024 のキーボード拡大」alt="IMG_1234"
「青いドレスを着る女性モデル」alt="cat cat cat"(KW 詰め込み)

装飾的な画像(罫線・スペーサーなど)は alt="" で OK。検索結果に出さない明示的な指定。

ファイル名のベストプラクティス

OKNG
tokyo-tower-sunset.jpgIMG_1234.jpg
macbook-air-2024-keyboard.jpgphoto-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 配信時のチェックリスト

  1. CDN ドメインを Search Console で verify
  2. CDN の robots.txt が画像クロールを阻害していないか
  3. 画像 URL が毎回変わらないか(ハッシュ付与の場合は固定キャッシュキー)
  4. 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 問形式で確認できる。