目次を見る08

検索結果にサムネイル画像が出ない原因と直し方

Wemiro編集部読了目安 10
画像SEOサムネイル技術SEOSearch Console

競合のページには小さな画像が添えられている。自社のページだけ、文字だけの検索結果になっている。——この差の原因は、多くの場合2つのどちらかです。ひとつは、見せたい画像をHTMLの画像要素ではなくCSSの背景として置いていること。もうひとつは、画像プレビューの大きさをロボット向けの指示で絞ってしまっていることです。どちらも、ページを見ているだけでは気づけません。

用語をひとつだけ先に。「クローラー」は、ウェブを自動でまわって情報を集めるプログラムです。ブラウザで画像が見えていることと、クローラーがその画像をページの画像として認識できることは、まったく別の話になります。ここがずれていると、いくら画像を差し替えても検索結果は変わりません。

サムネイルは3つの関門を全部通ったときだけ出る

検索結果のサムネイルは、ページに画像さえあれば自動で付くものではありません。実際には次の3段階を通ります。原因の切り分けも、この順でやると速いです。

  1. 発見:クローラーが、その画像をページに属する画像として取得できる
  2. 許可:そのページが、画像プレビューの表示を自分で禁止していない
  3. 選択:Googleが、その検索結果でサムネイルを出す価値があると判断する

1と2は自分の実装で確実に潰せます。3は自分では決められません。だから作業としては、1と2を完全に満たしたうえで、3を待つ形になります。逆に言えば、1か2が欠けている限り、何を待っても出ません。

関門1:公式は「CSSの画像は避ける」と案内している

最初に疑うのは、画像の置き方です。公式の画像SEOガイドは、画像を検索に載せるための基本として、src と説明的な alt 属性を備えたHTMLの <img> 要素を使い、CSSの画像は避けることを挙げています。レスポンシブ対応の <picture>srcset、JPEG・PNG・WebP・SVGといった対応形式の利用も同じ文脈で案内されています。

つまり、こう書かれているアイキャッチは、公式が「避ける」と案内している側の置き方です。

.hero { background-image: url(/img/hero.webp); }

デザイン都合で背景画像にしているサイトは多いです。見た目はまったく同じなので、担当者が原因に気づきにくい。ここが最初の落とし穴です。記事のアイキャッチや商品のメイン画像だけでも、次のようにHTMLの要素へ出しておきます。

<img src="/img/hero.webp" alt="ダイニングチェアA-3を斜め前から見た写真" width="1200" height="800">

alt はサムネイルのためだけの飾りではありません。画像に何が写っているかをテキストで伝える役割があります。書き方は画像のalt属性の正しい書き方とSEOへの影響にまとめてあります。

関門2:画像プレビューの大きさを自分で絞っていないか

置き方が正しくても、画像プレビューの大きさはページ側の指示で変わります。これを決めるのが robots メタタグの max-image-preview です。公式ドキュメントの定義は次のとおりです。

指定Googleの扱い
max-image-preview:none画像プレビューは表示されない
max-image-preview:standard既定サイズの画像プレビューが表示されることがある
max-image-preview:large表示領域の幅いっぱいまでの、より大きな画像プレビューが表示されることがある
指定なしGoogleが既定サイズの画像プレビューを表示することがある

指定なしでも既定サイズのプレビューは出ることがある、という点は押さえておいてください。「タグを入れたら出る魔法」ではありません。効くのは逆方向です。none を指定していれば確実に消えますし、大きく見せたいなら large を明示します。

<meta name="robots" content="max-image-preview:large">

見落としやすいのは、共通テンプレートや配信設定で全ページに noindex, nofollow などをまとめて出しているケースです。同じ仕組みで max-image-preview:none が混ざっていないか、公開ページのHTMLを実際に開いて確かめます。ブラウザでページのソースを表示し、max-image-preview で検索するだけで済みます。

なお nosnippet を併用しているページには、もうひとつ注意点があります。nosnippet は検索結果にテキストの要約を出さない指示ですが、公式ドキュメントは、静的な画像のサムネイルがより良い体験になる場合には、そのサムネイルは表示されることがあると書いています。テキストが消えているからサムネイルも消えている、と早合点しないでください。

画像ファイルそのものには、メタタグを書けない

ここでひとつ、実装上の制約があります。robots メタタグはHTMLに書くものです。画像ファイルにはHTMLの <head> がないので、画像ファイル自体に指示を書き込むことはできません。

公式ドキュメントは、HTMLで robots メタタグを使えない非HTMLファイル(画像ファイルなど)には X-Robots-Tag HTTPヘッダーを使う、と案内しています。サーバー側の設定例も示されています。

# Apache(例:PDFにnoindexを付ける公式の記述例)
<Files ~ "\.pdf$">
  Header set X-Robots-Tag "noindex, nofollow"
</Files>

過去にサイト全体の画像へ noindexX-Robots-Tag を付けた覚えがあるなら、そこを疑う価値があります。ページのHTMLだけを見ていても見つかりません。画像URLを直接開いて、応答ヘッダーを確認してください。

5ステップの確認手順(実例つき)

商品ページ https://example.com/products/chair-a3 にサムネイルが出ない、という想定で通してみます。

  1. 画像の置き方を確認する:ページのソースを表示し、見せたい画像が <img>(または <picture>)で出ているかを見る。今回は .hero { background-image: ... } で出ていた。ここで原因はほぼ確定です。
  2. 画像URLを直接開くhttps://example.com/img/chair-a3.webp をブラウザのアドレス欄に入れて開く。表示されない・404になるなら、パスかファイル配置の問題です。
  3. プレビュー指定を確認する:同じソースで max-image-preview を検索する。none があれば削除、無ければ large を明示します。画像ファイル側の X-Robots-Tag も忘れずに見ます。
  4. URL検査ツールでライブテストする:Search Consoleの「URL検査」に対象URLを入れ、公開URLをテストします。「クロールを許可」の欄は、robots.txt のルールでブロックされていないかを示します。取得に失敗していれば「ページの取得」欄に具体的な状態が出ます。
  5. 修正してインデックス登録をリクエストする<img> への書き換えとプレビュー指定を反映したら、URL検査のレポートから「インデックス登録をリクエスト」します。ヘルプはこのほか、サイトマップの送信や自然な再クロールを待つ選択肢も挙げています。

この例の結論は単純です。犯人は関門1でした。max-image-preview:large を足す前に、まず画像の置き方を直します。順番を飛ばして先にメタタグをいじると、直った気になったまま次の確認へ進んでしまいます。

発見を助ける:画像サイトマップという選択肢

置き方も許可も正しいのに、Googleがそもそも画像を見つけていない場合があります。JavaScriptで後から読み込む画像は、その典型です。

公式ドキュメントは、画像サイトマップについて、JavaScript経由で見つかる画像を含め、サイト上の画像をGoogleに知らせられるとしています。専用のサイトマップを作っても、既存のサイトマップに画像タグを足しても構いません。<image:image> タグで画像の情報を囲み、1つの <url> あたり最大1,000件まで記述できます。

<url>
  <loc>https://example.com/products/chair-a3</loc>
  <image:image>
    <image:loc>https://cdn.example.net/img/chair-a3.webp</image:loc>
  </image:image>
</url>

画像を別ドメインのCDNに置いていても構いません。公式は、画像URLがメインのサイトと同じドメインでないケースについて、両方のドメインをSearch Consoleで所有権確認していれば問題ないとしています。CDNを使っているサイトは、この確認が抜けていないかを見てください。

自己点検の表

自分のページがどこで止まっているか、上から順に当てはめてみてください。

確認項目見る場所直し方
画像が <img> / <picture> で出ているかページのソースCSSの背景画像から書き換える
alt が中身を説明しているか同上写っているものを具体的に書く
max-image-preview:none が入っていないか同上削除し、large を明示する
画像ファイルに noindex のヘッダーがないか画像URLの応答ヘッダーサーバー設定から外す
クロールがブロックされていないかURL検査ツールの「クロールを許可」robots.txt の該当ルールを見直す
画像が発見されているか画像サイトマップの有無画像タグを追加して送信する

上から順に、直せば効く可能性が高い順です。1行目と3行目で止まっているサイトが圧倒的に多いので、時間がないならその2つだけでも先に確認してください。

それでも出ないとき

要件を満たしても、サムネイルが出るとは限りません。表示するかどうかを最終的に決めるのはGoogleだからです。関門3は、自分の実装の外側にあります。

直した直後に検索結果を見て、変わっていないから失敗、と判断するのは早いです。URL検査ツールからインデックス登録をリクエストしたうえで、しばらく置いてから確認してください。ヘルプは、サイトマップの送信や自然な再クロールを待つ選択肢も挙げています。

画像の読み込み方そのものがクローラーの取得を妨げていることもあります。遅延読み込みの実装が絡む場合は、画像の遅延読み込みはSEOに影響するかもあわせて確認してください。

出典

  1. Google 検索セントラル - Google 画像検索の SEO ベスト プラクティス
  2. Google 検索セントラル - robots meta タグ、data-nosnippet、X-Robots-Tag の指定
  3. Google 検索セントラル - 画像サイトマップ
  4. Search Console ヘルプ - URL 検査ツール

NEXT STEP

クライアントへの説明に使える実際の画面を見てみませんか

ご自身の目で、GA4・Search Consoleのデータがどう整理されるかを確認いただけます。

無料デモを見てみる