画像検索・Google Lens対応の「画像SEO」完全ガイド【最新版】

AIO時代の今こそ、画像はサイトを差別化させるための強力な武器です。
本ガイドは 画像検索/Google Discover/Google Lens の3面で成果を出すための実装重視の手引きとなります。
初心者、中級者、上級者ごとに本記事からそれぞれ学んでいただければ幸いです。

画像最適化は INP 改善にも直結します。

この記事のゴールと対象読者の理解

初級者

  • alt・ファイル名・圧縮など基本の最適化を理解し、ブログで実装できる

  • WebP変換ができ、GSCで「検索タイプ:画像」の結果を確認できる

中級者

  • 構造化データ(ImageObject)を実装できる

  • レスポンシブ画像(<picture>)・Discover最適化(max-image-preview:large)を設定できる

  • LCP最適化と lazy-loading を正しく使い分けられる

上級者

  • AVIF/WebPフォールバックや fetchpriority、IPTCメタデータを運用

  • 画像サイトマップ自動生成、GA4で画像起点の行動分析まで一気通貫で回せる

本記事のゴール(画像検索・Discover・Lens の3面で勝つ)

  • Google画像検索:キーワード検索面で画像からの流入を増やす

  • Google Discover:興味関心ベースの面で“見たくなる大きな画像”を出し切る

  • Google Lens:視覚的類似性+文脈で固有性の高い画像を見つけてもらう

カテゴリ KPI指標 目標値(例) 測定ツール
画像検索 画像検索からのクリック数 月次増加を継続 GSC(検索タイプ「画像」)
Discover 画像付きカードのクリック率 改善傾向の維持 GSC Discover
パフォーマンス LCP(画像起因) 2.5秒以下を目安 PageSpeed Insights
パフォーマンス INP(遅延読込の影響) 200ms以下を目安 Chrome DevTools

まず把握すべき検索面での違い

画像検索の評価と表示のされ方(サムネ・類似表示)

  • テキストコンテキスト:画像周辺テキスト、alt、キャプション

  • 画像品質:解像度・圧縮率・視認性

  • 技術要素:読み込み速度、構造化データ、サイトマップ

  • オリジナリティ:独自性の高い画像が強い

  • 表示パターン:サムネ一覧/類似画像/(該当時)商品カード

Google Discoverにおける画像の役割(大きな画像の意義)

  • 幅1200px以上の高解像度+ max-image-preview:large の指定

  • アスペクト比の工夫(16:9 または 4:3 を基軸)

  • 大きな画像カードは、一般的にクリック率の向上が見込めます

Google Lensが判断する見た目の類似性とコンテキスト

  • オブジェクト認識色・形状周辺テキスト・構造化位置情報(あれば)

  • 固有性の高い画像ほどマッチしやすい


戦略の全体像:AIO時代の画像ファネル設計

本文要約耐性 × 画像導線(どこでクリックを作るか)

  • ヒーロー画像:記事の核心を視覚化

  • データの可視化:表・グラフ・比較図(テキスト要約されにくい)

  • プロセスの図解:手順・フローチャート

  • 実例・事例:スクショ・実物写真

3つの打ち手

  1. 技術最適化:AVIF/WebP、<picture>、LCP/INP最適化、構造化

  2. コンテンツ設計:固有性・可読性・比率・サムネ設計

  3. 配信と計測:画像サイトマップ、GSC/GA4で可視化→改善ループ


技術最適化(レンダリング&配信)【実装編】

<img>を正しく出す(CSS背景は使わない)

検索面に出したい主要画像は <img> を使います(背景画像は基本NG)。

 
<img src="hero-image.webp" alt="画像SEO完全ガイド2025年版のメイン図解" width="800" height="450" fetchpriority="high"> <div class="hero-bg"></div> <style> .hero-bg { background-image: url('hero-image.webp'); width: 800px; height: 450px; } </style>

ポイントwidth/height でCLS防止/意味ある alt/本文近くに配置

レスポンシブ画像:<picture> / srcset / sizes

AVIF → WebP → JPEG のフォールバックを標準化。

 
<picture> <!-- AVIF --> <source srcset="hero-800.avif 800w, hero-1200.avif 1200w, hero-1600.avif 1600w" sizes="(max-width:768px) 100vw, (max-width:1024px) 80vw, 800px" type="image/avif"> <!-- WebP --> <source srcset="hero-800.webp 800w, hero-1200.webp 1200w, hero-1600.webp 1600w" sizes="(max-width:768px) 100vw, (max-width:1024px) 80vw, 800px" type="image/webp"> <!-- Fallback JPEG --> <img src="hero-800.jpg" srcset="hero-800.jpg 800w, hero-1200.jpg 1200w, hero-1600.jpg 1600w" sizes="(max-width:768px) 100vw, (max-width:1024px) 80vw, 800px" alt="画像SEO最適化の3ステップフローチャート" width="800" height="450" fetchpriority="high"> </picture>

LCP最適化:ヒーロー画像の読み込み制御

 
<!-- ファーストビューの重要画像 --> <img src="hero.webp" alt="メイン画像" width="800" height="450" fetchpriority="high" loading="eager"> <!-- 可能ならプリロード(ヘッダ内) --> <link rel="preload" as="image" href="hero.webp" fetchpriority="high">

注意fetchpriority="high" は最重要画像のみに。

lazy-loadの安全実装

 
<!-- ファーストビュー以外は遅延読み込み --> <img src="content-image.webp" alt="詳細説明図" width="600" height="400" loading="lazy" decoding="async"> <!-- 装飾的な画像は alt="" もOK --> <img src="decorative-image.webp" alt="" width="300" height="200" loading="lazy">

画像CDN/キャッシュ/圧縮(目安)

  • JPEG:q 75–85(写真)

  • WebP:q 70–80(汎用)

  • AVIF:q 60–70(最新)

  • 目安サイズ:主要画像 200KB 以下を狙う

画像URL・命名規則(例)

良い例

 
/images/2025/seo-guide/image-optimization-flowchart.webp /assets/blog/google-lens-setup-screenshot.jpg

避けたい例

 
/img/IMG_001.jpg /upload/abc123def.png

画像サイトマップ(断片)

 
<?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/image-seo-guide/</loc> <image:image> <image:loc>https://example.com/images/hero-image.webp</image:loc> <image:caption>画像SEO完全ガイド2025年版</image:caption> <image:title>画像最適化フローチャート</image:title> </image:image> </url> </urlset>

robots・ヘッダ・ホットリンク防止の注意

 
# robots.txt(一例) User-agent: Googlebot-Image Allow: /images/ Disallow: /private-images/
 
# .htaccess(一例。外部直リンク制御に注意) RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^https://(.*\.)?example\.com [NC] RewriteRule \.(jpg|jpeg|png|webp|avif)$ - [F]
 
INPとLCPの両輪は『Lighthouseの使い方』で。ページスピードの総まとめは『INP時代のUX最適化』で詳しく確認してください。

構造化データとメタデータ(ImageObject/IPTC)

主要記事に ImageObject を実装

 
<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "画像SEO完全ガイド2025年版", "image": { "@type": "ImageObject", "url": "https://example.com/images/hero-image.webp", "width": 1200, "height": 675, "caption": "画像SEO最適化の全体フローを示した図解", "license": "https://example.com/license", "acquireLicensePage": "https://example.com/contact" }, "author": { "@type": "Person", "name": "著者名" }, "datePublished": "2025-01-15", "dateModified": "2025-01-20" } </script>

画像ライセンス表記(構造化 or IPTC)

  • 構造化データ側の licenseacquireLicensePage

  • IPTC の保持(Creator/Copyright Notice/Credit Line/Usage Terms)

OGP/TwitterカードとDiscoverの見せ方

 
<!-- OGP --> <meta property="og:image" content="https://example.com/images/og-image.jpg"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="630"> <meta property="og:image:alt" content="画像SEOガイドのサムネイル"> <!-- Twitter Card --> <meta name="twitter:card" content="summary_large_image"> <!-- Discover向け(全ページ推奨) --> <meta name="robots" content="index, follow, max-image-preview:large">

コンテンツ設計:Lensに強い“固有性”の作り方

一次データの可視化(表・比較・図解)

  • 調査・実験・分析の独自データをグラフや図に

  • プロセス図解/比較表/実例スクショで再現性と独自性を可視化

撮影・デザインのベストプラクティス

  • 背景と被写体のコントラスト

  • 16:9 or 4:3 を基軸にトリミング対策

  • モバイルでも読める文字サイズ

  • ブランド一貫性のある配色・要素

テキストコンテキストと alt の書き分け(例)

 
<!-- データ可視化 --> <img src="seo-traffic-graph.jpg" alt="画像SEO実装後のオーガニック流入推移グラフ(実装前100→実装後350)"> <!-- 操作手順 --> <img src="gsc-screenshot.jpg" alt="GSCで検索タイプを『画像』に変更する操作画面"> <!-- 装飾 --> <img src="decorative-border.svg" alt="" role="presentation">

Discover最適化:サムネで勝つ設計

1200px以上の大きな画像とプレビュー許可

 
<!-- head内で全体適用を推奨 --> <meta name="robots" content="index, follow, max-image-preview:large"> <!-- 記事内ヒーロー例 --> <picture> <source srcset="hero-1200.webp" media="(min-width: 768px)" type="image/webp"> <source srcset="hero-800.webp" type="image/webp"> <img src="hero-1200.jpg" alt="記事の主要内容を表現したヒーロー画像" width="1200" height="675"> </picture>

サムネイルの比率とトリミング対策(例)

比率 用途 推奨解像度 メモ
16:9 一般記事 1200×675 動画連想で視認性高
4:3 情報濃い記事 1200×900 テキスト入りでも見やすい
1:1 商品・人物 1200×1200 SNS流用に便利

はてなブログでの実装手順(テーマ別)

テーマ設定と記事テンプレ(CSS例)

 
/* デザインCSSに追加 */ .entry-content img { max-width: 100%; height: auto; border-radius: 4px; } .hatena-fotolife { margin: 20px 0; text-align: center; } .hatena-fotolife figcaption { font-size: .9em; color: #666; margin-top: 8px; }

画像のアップロード運用(fotolife例)

  • アップ前:WebP/AVIF変換、横1200px以上を基準

  • 命名規則YYYYMMDD_通し番号_内容(例:20250115_01_seo-flowchart

  • はてな記法alt を手動付与

 
[f:id:username:20250115120000j:plain:alt=画像SEO最適化フローチャート図]

HTML直書きの場合

 
<img src="https://cdn-ak.f.st-hatena.com/images/fotolife/u/username/20250115/20250115120000.jpg" alt="GSC画像検索レポートの見方を説明したスクリーンショット" width="800" height="450">

画像サイトマップの登録オプション

  • Screaming Frog 等で外部生成 → カスタムページ設置 or robots.txt から参照

  • 主要画像のみ手動サイトマップで段階導入も可

OGP画像の差し替えと一括適用(フォールバック例)

 
<!-- ヘッダに追記(個別OGPがないときの代替) --> <script> if (!document.querySelector('meta[property="og:image"]')) { var og = document.createElement('meta'); og.setAttribute('property','og:image'); og.setAttribute('content','https://cdn-ak.f.st-hatena.com/images/fotolife/u/username/default-ogp.jpg'); document.head.appendChild(og); } </script> <meta name="robots" content="max-image-preview:large">

計測・ダッシュボード化(GSC/GA4)

GSC:検索タイプ=「画像」のモニタリング

  1. GSC → 検索パフォーマンス

  2. 検索タイプ画像 に変更

  3. 期間比較/ページクエリ で分析(注力LP抽出)

指標:クリック・表示・CTR・平均掲載順位

Discoverレポート:大きな画像の効果検証

  • 画像サイズ・メタ設定の更新前後で表示/クリック/掲載期間を比較

GA4:画像起点の行動計測(簡易実装)

 
<script> // 画像クリック計測(gtag前提) document.querySelectorAll('.entry-content img').forEach(function(img){ img.addEventListener('click', function(){ gtag('event', 'image_click', { image_url: this.src, image_alt: this.alt || 'no_alt', page_title: document.title }); }); }); // 画像ビュー(ビューポート進入)計測 const io = new IntersectionObserver(function(entries){ entries.forEach(function(e){ if(e.isIntersecting){ gtag('event', 'image_view', { image_url: e.target.src, scroll_depth: Math.round(window.pageYOffset) }); } }); }); document.querySelectorAll('.entry-content img').forEach(function(img){ io.observe(img); }); </script>

Looker Studio(任意)

  • GSC:画像検索パフォーマンス

  • GSC Discover:表示/クリックの推移

  • PSI API:LCP/INP

  • GA4:滞在/スクロール/コンバージョン


監査チェックリスト(公開前・公開後・定期)

公開前チェック

  • 画像サイズ最適化(主要画像 200KB 目安)

  • WebP/AVIF 配信

  • width/height 設定/ alt 記述

  • fetchpriority 適用(最重要のみ)/ loading の適切化

  • ImageObject 実装

  • OGP(1200×630)/ max-image-preview:large

  • ファイル名最適化/ライセンス記載

公開後チェック

  • GSCのインデックスと「画像」パフォーマンス

  • Discover 露出の有無

  • 構造化データ検証

  • PSI で LCP/INP の確認(画像起因のボトルネック洗出し)

定期メンテ

  • 画像検索KPIの推移(ページ/クエリ別)

  • 新フォーマット・ブラウザ動向の確認

  • 404画像/壊れリンク修正

  • 画像サイトマップ更新

  • 競合の画像面露出チェック


失敗例とその対策

  • LCP画像を lazy → 最重要は eager or fetchpriority="high"

  • 主要画像を CSS 背景で<img> に変更

  • CDNでEXIF/IPTC剥離 → メタ保持設定 or 構造化で補完

  • 画像URLを頻繁に変更 → 301/正規化、URL安定運用

  • max-image-preview 未設定 → Discoverの大きな画像が出にくい


スニペット集(そのまま使える例)

<picture> テンプレ(AVIF/WebP/JPEG)

 
<picture> <!-- Desktop AVIF --> <source media="(min-width: 1024px)" srcset="image-large.avif 1600w, image-medium.avif 1200w" sizes="1200px" type="image/avif"> <!-- Tablet AVIF --> <source media="(min-width: 768px)" srcset="image-medium.avif 1200w, image-small.avif 800w" sizes="100vw" type="image/avif"> <!-- Mobile AVIF --> <source srcset="image-small.avif 800w, image-xs.avif 400w" sizes="100vw" type="image/avif"> <!-- Desktop WebP --> <source media="(min-width: 1024px)" srcset="image-large.webp 1600w, image-medium.webp 1200w" sizes="1200px" type="image/webp"> <!-- Tablet WebP --> <source media="(min-width: 768px)" srcset="image-medium.webp 1200w, image-small.webp 800w" sizes="100vw" type="image/webp"> <!-- Mobile WebP --> <source srcset="image-small.webp 800w, image-xs.webp 400w" sizes="100vw" type="image/webp"> <!-- Fallback JPEG --> <img src="image-medium.jpg" srcset="image-large.jpg 1600w, image-medium.jpg 1200w, image-small.jpg 800w" sizes="(min-width: 1024px) 1200px, 100vw" alt="具体的で詳細な画像説明をここに記述" width="1200" height="675" fetchpriority="high" loading="eager"> </picture>

Discover用メタ(OGP+max-image-preview

 
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"> <meta property="og:title" content="記事タイトル | サイト名"> <meta property="og:description" content="記事要約(150-160文字)"> <meta property="og:image" content="https://example.com/images/og-image.jpg"> <meta property="og:image:alt" content="OGP画像の説明"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="630"> <meta name="twitter:card" content="summary_large_image">

ImageObject(ライセンス付き)

 
<script type="application/ld+json"> { "@context":"https://schema.org", "@type":"Article", "headline":"画像検索・Google Lens対応の画像SEO完全ガイド(2025年版)", "image":[ { "@type":"ImageObject", "url":"https://example.com/images/hero-image-1600.webp", "width":1600, "height":900, "caption":"画像SEO最適化の全体戦略フローチャート", "license":"https://creativecommons.org/licenses/by/4.0/", "acquireLicensePage":"https://example.com/license-info/", "creator":{"@type":"Person","name":"画像作成者名"}, "copyrightHolder":{"@type":"Organization","name":"サイト運営者"} } ], "author":{"@type":"Person","name":"記事著者名"}, "publisher":{"@type":"Organization","name":"サイト名", "logo":{"@type":"ImageObject","url":"https://example.com/logo.png","width":600,"height":60}}, "datePublished":"2025-01-15", "dateModified":"2025-01-20", "mainEntityOfPage":{"@type":"WebPage","@id":"https://example.com/image-seo-guide-2025/"} } </script>

画像サイトマップ断片

 
<?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/image-seo-guide-2025/</loc> <lastmod>2025-01-20T15:30:00+09:00</lastmod> <image:image> <image:loc>https://example.com/images/hero-image.webp</image:loc> <image:caption>画像SEO完全ガイド2025年版のメインビジュアル</image:caption> <image:title>画像SEO最適化フローチャート</image:title> <image:license>https://creativecommons.org/licenses/by/4.0/</image:license> </image:image> </url> </urlset>

最後に(すぐやる3ステップ)

  1. 1200px以上+ max-image-preview:large を全記事に適用

  2. ヒーロー画像を <picture>fetchpriority でLCP最適化

  3. 画像サイトマップ & GSC「画像」 で効果を可視化

この記事では実装手順をまとめており、SEO初心者の方には難しい項目もあったかと思います。

ご不明点などございましたらお気軽にコメント、お問い合わせください!