AEO Check Blog
← 記事一覧

meta descriptionの書き方と最適な文字数|クリック率を上げる実践ルール

meta descriptionを設定していないページは、Googleが本文から自動抽出したテキストをスニペットとして表示します。意図しない文章が表示され、クリック率が下がる原因になります。

meta descriptionは検索結果のタイトル直下に表示される説明文です。ユーザーが「このページを開くかどうか」を判断する材料であり、CTR(クリック率)に直接影響します。

この記事では、Googleの公式ガイドラインに基づいたmeta descriptionの書き方、最適な文字数、ページ種別ごとのテンプレート、設定されたdescriptionがGoogleに書き換えられるケースと対策までを解説します。

meta descriptionの設定状況を含むAI検索対応度を確認したい方は、無料診断ツールで自動チェックできます。


meta descriptionとは何か

meta descriptionは、HTMLの<head>内に記述するメタタグで、ページの内容を要約した説明文です。

<meta name="description" content="ここにページの説明文を記述します">

検索結果での表示位置

Google検索結果では、以下の構成で表示されます。

  1. タイトルリンク(titleタグ)
  2. URL / パンくずリスト
  3. スニペット(meta descriptionまたはページ本文から自動生成)

スニペット部分にmeta descriptionの内容が表示されます。ただし、Googleは必ずしもmeta descriptionをそのまま使うわけではありません。Google公式ドキュメントでは以下のように説明されています。

Google sometimes uses the meta description HTML element if it might give users a more accurate description of the page than content taken directly from the page.

つまり、meta descriptionはスニペットの「候補」であり、採用を保証するものではないという点を理解しておく必要があります。

meta descriptionの役割

役割 説明
CTR向上 検索結果でユーザーの目に触れ、クリック判断に影響する
検索キーワードの太字表示 description内のキーワードが検索語と一致すると太字になる
SNSシェア時の説明文 OGP未設定の場合、descriptionが使われることがある
ページ内容の要約 検索エンジンがページの主題を理解する補助になる

注意: meta descriptionは直接的なランキング要因ではありません。Googleは公式に「ランキングシグナルとしては使用しない」と明言しています。ただし、CTRの向上を通じて間接的にSEOに貢献します。


最適な文字数

PC・モバイル別の表示文字数

Googleはmeta descriptionの文字数に公式な上限を設けていません。公式ドキュメントでは「There's no limit on how long a meta description can be, but the snippet is truncated in Google Search results as needed, typically to fit the device width」と記載されています。

表示幅はデバイスやGoogleのレンダリングによって変動するため、固定の文字数上限はありません。目安として以下を参考にしてください。

デバイス 表示幅に依存する目安
PC 120字程度まで表示されることが多い
モバイル 70字程度で切れることが多い

切れる位置の考え方(truncation)

スニペットは文字数ではなくピクセル幅で切られます。そのため、全角・半角の混在比率によって表示文字数は変動します。

実践的なルール:

  • 最重要な情報を先頭に入れる(モバイルでは70字程度で切れることがある)
  • 全体は120字程度に収める(PCでも切れにくい)
  • 文の途中で切れないよう、適切な位置に句点を置く
良い例(70文字で意味が通る):
「meta descriptionの書き方を7つのルールで解説。|PC・モバイル別の最適文字数、テンプレート、Googleに書き換えられる原因と対策をコード付きで紹介。」

悪い例(途中で切れると意味不明):
「この記事ではmeta descriptionについて、その歴史的背景から現在のGoogleのアルゴリズムにおける位置づけ、そして具体的な書き方のテクニックまでを網羅的に...」

文字数よりも重要なこと

Googleが公式に推奨しているのは文字数の最適化ではなく、内容の質です。

  • ページの内容を正確に要約しているか
  • ユーザーにとって有用な情報が含まれているか
  • 各ページで固有の説明になっているか

文字数を気にしすぎて内容が薄くなるよりも、ページの価値を的確に伝えることを優先してください。


ここまで読んで、自社サイトが気になった方へ

URLを入力するだけ。会員登録は一切不要で、30秒後に以下がわかります。

📊AI検索対応度
100点満点スコア
🔍優先して直すべき
改善点Top3
📄PDF / Markdown
改善レポート
無料で診断結果を見る →

URLを入力するだけ / 会員登録不要 / データ保存なし

効果的な書き方7つのルール

ルール1: ページの核心的な価値を1文で伝える

meta descriptionの最も重要な役割は「このページを読むと何が得られるか」を伝えることです。

✅ 良い例:
「robots.txtの書き方を初心者向けに解説。基本構文、AIクローラーのブロック方法、よくある設定ミス5パターンと修正方法をコード付きで紹介。」

❌ 悪い例:
「robots.txtについて解説します。ぜひ最後までお読みください。」

悪い例の問題点: 何が書いてあるか具体的にわからない。「最後まで読んでください」は情報量ゼロ。

ルール2: 検索キーワードを自然に含める

ユーザーが検索したキーワードがdescription内にあると、検索結果で太字表示されます。これにより視認性が上がり、CTRが向上します。

✅ 良い例(「meta description 書き方」で検索した場合):
「meta descriptionの書き方を7つのルールで解説。最適な文字数、CTRを上げるテンプレート、Googleに書き換えられない対策まで。」

❌ 悪い例:
「SEOに重要なHTMLタグの設定方法を紹介。検索エンジン最適化の基本テクニック集。」

悪い例の問題点: 「meta description」「書き方」のどちらも含まれていないため、太字表示されない。

ルール3: 具体的な数字・内容を入れる

抽象的な表現よりも、具体的な数字や内容が含まれている方がクリックされやすくなります。

✅ 良い例:
「構造化データJSON-LDの書き方を5種類のスキーマ別に解説。Article・FAQ・BreadcrumbList・HowTo・Productのコピペ可能なコード例付き。」

❌ 悪い例:
「構造化データの書き方をわかりやすく解説。初心者でも簡単に実装できます。」

悪い例の問題点: 「わかりやすく」「簡単に」は主観的で情報量がない。何種類のスキーマが学べるのか不明。

ルール4: 行動を促す表現を含める

ユーザーが「読んだ後に何ができるか」を示す表現を入れます。ただし、煽り表現は避けてください。

✅ 良い例:
「noindexの確認方法と解除手順を解説。設定場所の特定方法、SEOへの影響、反映までの期間と対処法をステップ形式で紹介。」

❌ 悪い例:
「noindexを知らないと大変なことに!今すぐチェックしないと手遅れになります!」

悪い例の問題点: 煽り表現は信頼性を損なう。具体的に何ができるかが不明。

ルール5: 各ページで固有の説明を書く

Google公式ガイドラインで明確に推奨されている点です。サイト全体で同じdescriptionを使い回すと、どのページも同じスニペットになり、ユーザーが区別できません。

✅ 良い例(個別記事ごとに固有):
- トップページ: 「AI検索対応度を無料診断。7カテゴリ100点満点でスコアリングし、改善ポイントをレポート出力。」
- 記事A: 「robots.txtの書き方と設定方法を解説。AIクローラーのブロック設定、構文エラーの確認方法をコード付きで紹介。」
- 記事B: 「構造化データJSON-LDの実装方法を5種類のスキーマ別に解説。コピペ可能なコード例付き。」

❌ 悪い例(全ページ共通):
「AEO Checkは、AI検索対策に役立つ情報を発信するメディアです。」

ルール6: キーワードの羅列を避ける

Google公式ガイドラインでは、キーワードの羅列は「ユーザーにページの内容を明確に伝えない」として非推奨とされています。

✅ 良い例:
「裁縫に必要な道具が全て揃います。月〜金 8:00-17:00営業、ファッション地区に店舗あり。」

❌ 悪い例:
「裁縫用品、毛糸、色鉛筆、ミシン、糸、ボビン、針」

これはGoogle公式ドキュメントに掲載されている例そのものです。キーワードを詰め込むのではなく、自然な文章でページの価値を伝えてください。

ルール7: 120文字程度で完結させる

最重要情報を先頭に入れ、全体を120文字程度に収めます。句読点の位置を工夫して、途中で切れても意味が通るようにします。

✅ 良い例(96文字):
「meta descriptionの書き方を7つのルールで解説。PC・モバイル別の最適文字数、ページ種別テンプレート、Googleに書き換えられる原因と対策をコード付きで紹介。」

❌ 悪い例(180文字超):
「この記事ではmeta descriptionとは何か、その歴史的な背景から始まり、現在のGoogleの検索アルゴリズムにおけるmeta descriptionの位置づけ、そして具体的にどのように書けばクリック率が向上するのかについて、7つのルールに分けて詳しく解説していきたいと思います。」

悪い例の問題点: 冗長で、モバイルでは半分以上が切れる。「解説していきたいと思います」は情報量ゼロ。


ページ種別ごとの書き方テンプレート

ページの種類によって、descriptionに含めるべき情報は異なります。以下にテンプレートと具体例を示します。

トップページ

含めるべき要素: サービス/サイトの概要、主な提供価値、差別化ポイント

テンプレート:
「[サービス名]は[提供価値]。[具体的な機能/特徴]で[ターゲット]の[課題]を解決。」

具体例:
「AI検索対応度を無料診断。7カテゴリ100点満点のスコアリングで、ChatGPT・Perplexity・AI Overviewへの対応状況と改善ポイントをレポート出力。」

ブログ記事・コラム

含めるべき要素: 記事で学べること、具体的な内容(数字)、対象読者

テンプレート:
「[トピック]を[方法/切り口]で解説。[具体的な内容A]、[内容B]、[内容C]を[形式]で紹介。」

具体例:
「robots.txtの書き方を初心者向けに解説。基本構文、AIクローラー12種のブロック設定、よくある設定ミス5パターンと修正方法をコード付きで紹介。」

商品・サービスページ

含めるべき要素: 商品名、価格、主な特徴、在庫/提供状況

Google公式ガイドラインでは、商品ページのdescriptionに「価格、年齢層、メーカー」などの情報を含めることを推奨しています。

テンプレート:
「[商品名] — [主な特徴]。[価格/プラン]。[差別化ポイント]。」

具体例:
「自動芯出し機能付きシャープペンシル。筆跡を自動補正。0.5mm 2B芯を自動補充。ヴィンテージピンク・スクールバスイエローの2色展開。50本以上で送料無料。」

カテゴリ・一覧ページ

含めるべき要素: カテゴリの概要、掲載数、主な内容

テンプレート:
「[カテゴリ名]の[コンテンツ種類]を[数]件掲載。[主な内容]から[内容]まで、[対象者]向けに整理。」

具体例:
「AI検索対策の実践ガイドを45記事掲載。robots.txt設定、構造化データ実装、コンテンツ最適化からツール活用まで、Web担当者向けに体系的に整理。」

プログラムで自動生成する場合

大規模サイト(ECサイト、メディアサイト等)では、手動で全ページのdescriptionを書くのは現実的ではありません。Google公式ガイドラインでも、プログラムによる自動生成を推奨しています。

// 商品ページの自動生成例
function generateProductDescription(product) {
  const features = product.features.slice(0, 3).join('、');
  return `${product.name} — ${features}。${product.price}円(税込)。${product.brand}製。`;
}

// ブログ記事の自動生成例(本文先頭から抽出)
function generateArticleDescription(article) {
  const plainText = article.body.replace(/<[^>]+>/g, '');
  const firstSentences = plainText.match(/^.+?[。!?]/g)?.slice(0, 2).join('') || '';
  return firstSentences.slice(0, 120);
}

注意: 自動生成でも「各ページで固有」「キーワード羅列でない」「人間が読んで意味がわかる」の3条件を満たす必要があります。

業種別のmeta description例

業種によってユーザーが求める情報が異なります。

ECサイト(商品一覧ページ):

「メンズ革靴を120点掲載。ビジネス・カジュアル別に選べる。サイズ交換無料、最短翌日配送。3,000円以上で送料無料。」

SaaS(サービスページ):

「請求書作成を月5通まで無料で。テンプレート選択→金額入力→PDF発行が3分で完了。freee・マネーフォワードとCSV連携対応。」

メディア(ニュース記事):

「2026年5月施行のフリーランス保護法を解説。対象となる取引条件、発注者の義務6項目、違反時の罰則をQ&A形式で整理。」

士業(事務所サイト):

「渋谷区の相続専門税理士。初回相談60分無料。相続税申告・遺産分割・不動産評価に対応。土日祝も予約可。」

飲食(店舗ページ):

「恵比寿駅西口徒歩3分の炭火焼鳥。備長炭で焼く地鶏コース4,500円〜。個室あり(2〜8名)。当日予約可。」

プラットフォーム別の設定方法

HTML(静的サイト)

最も基本的な設定方法です。<head>タグ内に記述します。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>ページタイトル</title>
  <meta name="description" content="ここにmeta descriptionを記述。120文字以内で、ページの内容を具体的に要約する。">
</head>
<body>
  <!-- コンテンツ -->
</body>
</html>

WordPress

WordPressでは、SEOプラグインを使ってmeta descriptionを設定するのが一般的です。

Yoast SEOの場合:

  1. 投稿/固定ページの編集画面を開く
  2. 画面下部の「Yoast SEO」セクションを展開
  3. 「メタディスクリプション」欄に入力
  4. プレビューで表示を確認

All in One SEOの場合:

  1. 投稿/固定ページの編集画面を開く
  2. 「AIOSEO Settings」セクションを展開
  3. 「Meta Description」欄に入力

プラグインなしで設定する場合(functions.php):

// テーマのfunctions.phpに追加
function custom_meta_description() {
  if (is_single() || is_page()) {
    $post = get_post();
    $description = get_post_meta($post->ID, '_meta_description', true);
    if ($description) {
      echo '<meta name="description" content="' . esc_attr($description) . '">' . "\n";
    }
  }
}
add_action('wp_head', 'custom_meta_description');

Shopify

Shopifyでは管理画面から直接設定できます。

商品ページ:

  1. 管理画面 → 商品管理 → 対象商品を選択
  2. 「検索結果のプレビュー」セクションの「ウェブサイトのSEO」を編集
  3. 「説明」欄にmeta descriptionを入力

ブログ記事:

  1. 管理画面 → オンラインストア → ブログ記事
  2. 対象記事を選択 → 「検索結果のプレビュー」を編集

Liquidテンプレートでの動的設定:

{%- comment -%} layout/theme.liquid の <head> 内 {%- endcomment -%}
{%- if page_description -%}
  <meta name="description" content="{{ page_description | escape }}">
{%- endif -%}

Next.js(App Router)

Next.js 13以降のApp Routerでは、metadataオブジェクトまたはgenerateMetadata関数で設定します。

静的なmeta description:

// app/about/page.tsx
import type { Metadata } from 'next';

export const metadata: Metadata = {
  title: 'サービス概要',
  description: 'AI検索対応度を無料診断。7カテゴリ100点満点のスコアリングで改善ポイントをレポート出力。',
};

export default function AboutPage() {
  return <main>{/* コンテンツ */}</main>;
}

動的なmeta description(ブログ記事など):

// app/blog/[slug]/page.tsx
import type { Metadata } from 'next';

type Props = { params: Promise<{ slug: string }> };

export async function generateMetadata({ params }: Props): Promise<Metadata> {
  const { slug } = await params;
  const post = await getPost(slug);

  return {
    title: post.title,
    description: post.description, // 記事ごとに固有のdescription
  };
}

export default async function BlogPost({ params }: Props) {
  const { slug } = await params;
  const post = await getPost(slug);
  return <article>{/* 記事コンテンツ */}</article>;
}

SSG(Static Export)の場合:

// app/layout.tsx
import type { Metadata } from 'next';

export const metadata: Metadata = {
  title: {
    template: '%s|サイト名',
    default: 'サイト名',
  },
  description: 'サイト全体のデフォルトdescription。個別ページで上書き可能。',
};

Astro

---
// src/layouts/BaseLayout.astro
const { title, description } = Astro.props;
---
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>{title}</title>
  <meta name="description" content={description}>
</head>
<body>
  <slot />
</body>
</html>

Googleがmeta descriptionを書き換えるケースと対策

Googleは、設定されたmeta descriptionよりもページ本文の方がユーザーの検索意図に合うと判断した場合、スニペットを自動生成します。

書き換えが発生する主な原因

原因 説明 対策
descriptionが検索クエリと無関係 ユーザーの検索意図とdescriptionの内容がずれている ページの主要キーワードを自然に含める
descriptionが短すぎる 情報量が不足しており、本文の方が有用と判断される 具体的な内容を含めて十分な情報量にする
descriptionがキーワードの羅列 文章として成立していない 自然な文章で書く
全ページ同じdescription ページ固有の情報がない 各ページで固有の説明を書く
descriptionがページ内容と不一致 実際のコンテンツと説明が矛盾している ページ内容を正確に反映する
検索クエリが多様 1つのdescriptionでは全クエリに対応できない 主要クエリに最適化し、他は許容する

書き換えが発生する具体的なパターン

Googleがdescriptionを書き換える典型的なパターンを示します。

パターン1: descriptionが汎用的すぎる

設定: 「当社のサービスについてご紹介します。」
表示: 本文から「月額980円で請求書作成・見積書発行・入金管理が可能。」が抽出

パターン2: 検索クエリに対応する情報がdescriptionにない

検索: 「○○ 料金」
設定: 「○○は業務効率化ツールです。チームの生産性を向上させます。」
表示: 料金表から「スタータープラン月額980円、ビジネスプラン月額2,980円」が抽出

パターン3: キーワードの羅列

設定: 「SEO対策 meta description 書き方 文字数 テンプレート 設定方法」
表示: 本文から自然な文章が抽出

パターン4: 全ページ同一のdescription

設定: 「○○株式会社の公式サイトです。」(全ページ共通)
表示: 各ページの本文から固有の内容が抽出

パターン5: descriptionとページ内容の不一致

設定: 「初心者向けにわかりやすく解説」(実際は上級者向けの技術記事)
表示: 本文から実際の内容を反映した文が抽出

共通点は、本文の方がユーザーの検索意図に合致するとGoogleが判断していることです。

書き換えを減らすための実践的対策

1. ページの主題を正確に反映する

descriptionの内容がページ本文と一致していれば、Googleが書き換える理由がなくなります。

2. 検索クエリを意識した表現にする

そのページに流入する主要な検索クエリを想定し、それに回答する形でdescriptionを書きます。Search Consoleの「検索パフォーマンス」で実際の流入クエリを確認できます。

3. 本文の冒頭を整える

Googleがdescriptionを書き換える場合、本文の冒頭部分やH2見出し直下のテキストが使われることが多いです。本文の冒頭2〜3文を「そのまま表示されても問題ない」品質にしておくと、書き換えられた場合でもCTRへの悪影響を最小化できます。

4. max-snippetメタタグで長さを制御する

スニペットの最大長を制御したい場合は、robots metaタグで指定できます。

<!-- スニペットの最大文字数を150文字に制限 -->
<meta name="robots" content="max-snippet:150">

<!-- スニペットを完全に非表示にする -->
<meta name="robots" content="nosnippet">

注意: nosnippetを設定するとスニペットが完全に非表示になり、CTRが大幅に低下する可能性があります。通常は使用しないでください。

書き換えを「許容する」という判断

Googleの書き換えは必ずしも悪いことではありません。検索クエリに応じて最適なスニペットが表示されることで、CTRが向上するケースもあります。

全ての検索クエリに対して1つのdescriptionで最適化するのは不可能です。主要な流入クエリ(上位3〜5個)に最適化し、それ以外のクエリでの書き換えは許容するのが現実的なアプローチです。


meta description改善のビフォーアフター

事例1: SaaS製品ページ

Before(42文字):
「クラウド型の勤怠管理システムです。無料トライアルあり。」

After(98文字):
「クラウド勤怠管理。打刻・残業計算・有休管理を1画面で完結。Slack/Teams連携対応。5名まで永久無料、6名以上は月額300円/人。30日間全機能トライアル。」

改善ポイント: 機能の具体化、料金体系の明示、連携先の記載。

事例2: ブログ記事(ハウツー)

Before(38文字):
「Google Search Consoleの使い方を解説します。」

After(108文字):
「Google Search Consoleの初期設定から活用法まで5ステップで解説。所有権確認、サイトマップ送信、検索パフォーマンス分析、インデックス問題の特定と修正方法をスクリーンショット付きで紹介。」

改善ポイント: ステップ数の明示、具体的な内容の列挙、記事形式の伝達。

事例3: 地域ビジネス

Before(28文字):
「横浜市の歯医者です。お気軽にどうぞ。」

After(92文字):
「横浜駅西口徒歩5分の歯科医院。虫歯治療・ホワイトニング・矯正に対応。平日20時まで診療、土曜も対応。Web予約で当日受付可。初診はパノラマレントゲン込みで3,000円台。」

改善ポイント: 立地、診療内容、営業時間、予約方法、費用目安を網羅。


大量ページのmeta description管理方法

数百〜数万ページを持つサイトでは、テンプレート化と優先順位付けで効率的に管理します。

優先度による管理

優先度 対象ページ 管理方法
トップ、主要サービス、CV導線 手動で個別作成・定期見直し
カテゴリ一覧、人気記事上位20% テンプレート+手動調整
個別商品、アーカイブ、タグページ テンプレートで自動生成

テンプレート設計の原則

テンプレートは「変数部分」と「固定部分」を分離します。

// ECサイト: ページ種別ごとのテンプレート
const templates = {
  product: ({ name, price, feature }) =>
    `${name} — ${feature}。${price}円(税込)。送料無料・翌日配送対応。`,

  category: ({ name, count, priceRange }) =>
    `${name}を${count}点掲載。価格帯${priceRange}。人気順・価格順で比較可能。`,

  blog: ({ title, topics, readTime }) =>
    `${title}。${topics}を${readTime}分で解説。コード例・チェックリスト付き。`,
};

品質を保つためのルール

テンプレート自動生成でも以下を守ります。

  • 十分な情報量にする(短すぎるとGoogleが書き換える傾向がある)
  • 変数が空の場合のフォールバックを用意する
  • 生成後に重複チェックを実行する
  • 定期的にSearch Consoleで書き換え率を確認し、テンプレートを改善する
# 重複チェック例
cat all_descriptions.txt | sort | uniq -d > duplicates.txt
# 0件が理想。重複があればテンプレートの変数部分を見直す

meta descriptionの確認方法

1. ブラウザのDevTools

最も手軽な確認方法です。

  1. 対象ページを開く
  2. F12(またはCmd+Option+I)でDevToolsを開く
  3. Elementsタブで<head>内を確認
  4. Ctrl+F(Cmd+F)で「description」を検索
確認するポイント:
- <meta name="description" content="..."> が存在するか
- content属性の値が意図した内容か
- 重複して設定されていないか(プラグインとテーマで二重設定等)

2. Google Search Console

Search Consoleは実際の流入クエリの確認に活用します。descriptionの設定内容自体は、ページソースまたはURL検査のレンダリングHTMLで確認してください。

description設定の確認:

  1. 対象ページのソースを表示して<meta name="description"を確認
  2. または Search Console → URL検査 → 「ライブURLをテスト」→ レンダリング結果のHTMLを確認

実際の表示確認:

  1. Search Console → 検索パフォーマンス → 対象ページのクエリを確認
  2. site:example.com/path でGoogle検索し、実際のスニペットを目視確認

3. site:検索で実際の表示を確認

site:example.com/blog/meta-description-guide

この検索で表示されるスニペットが、ユーザーが実際に目にする内容です。設定したdescriptionと異なる場合、Googleが書き換えています。

4. curlコマンドで確認

# meta descriptionを抽出
curl -s https://example.com | grep -i 'meta.*description'

# 複数ページを一括確認
while read url; do
  desc=$(curl -s "$url" | grep -oP '(?<=<meta name="description" content=")[^"]*')
  echo "$url: $desc"
done < urls.txt

5. Lighthouse / PageSpeed Insights

Lighthouseの「SEO」カテゴリで、meta descriptionの有無と品質をチェックできます。

  1. DevTools → Lighthouseタブ → 「SEO」にチェック → 分析実行
  2. 「Document has a meta description」の項目を確認

6. 一括チェックツール

複数ページのmeta descriptionを一括で確認したい場合は、以下のようなスクリプトが便利です。

// Node.js で複数ページのdescriptionを一括取得
// Node 18+ required
const urls = [
  'https://example.com/',
  'https://example.com/blog/',
  'https://example.com/about/',
];

async function main() {
  for (const url of urls) {
    const res = await fetch(url);
    const html = await res.text();
    const match = html.match(/<meta\s+name="description"\s+content="([^"]*)"/i);
    const desc = match ? match[1] : '(未設定)';
    const len = desc.length;
    console.log(`${url}`);
    console.log(`  ${len}文字: ${desc}`);
    if (len < 50) console.log('  ⚠️ 短すぎる可能性');
    if (len > 160) console.log('  ⚠️ 長すぎる可能性');
    console.log('');
  }
}

main();

AI検索とmeta descriptionの関係

AI検索エンジン(ChatGPT、Perplexity、Google AI Overviewなど)がmeta descriptionを参照するかは公式に確認されていません。SEOの基本として適切に設定しておくことが推奨されます。

AI検索対策全体については、構造化データJSON-LDの実装OGPタグの設定など、より直接的な施策を優先することを推奨します。


まとめ

meta descriptionの書き方のポイントを整理します。

項目 推奨
文字数 最重要情報を先頭に、全体120字程度(表示幅はデバイスに依存)
内容 ページの核心的価値を具体的に伝える
キーワード 検索クエリを自然に含める(太字表示される)
固有性 各ページで固有の説明を書く
禁止事項 キーワード羅列、煽り表現、全ページ共通
書き換え対策 ページ内容と一致させ、主要クエリに最適化
確認方法 DevTools、Search Console、site:検索

meta descriptionは直接的なランキング要因ではありませんが、CTRを通じてトラフィックに大きく影響します。特に競合が多いキーワードでは、タイトルとdescriptionの質がクリック獲得の決め手になります。

まずは自社サイトの主要ページ(トップ、サービス、人気記事)のdescriptionから見直してみてください。

meta descriptionの設定状況を含むAI検索対応度を確認したい方は、無料診断ツールで自動チェックできます。7カテゴリ100点満点でスコアリングし、改善ポイントをレポート出力します。


よくある質問

meta descriptionを設定しないとどうなりますか?

Googleがページ本文から自動的にスニペットを生成します。意図しない文章(ナビゲーションテキスト、サイドバーの内容など)が表示される可能性があるため、主要ページには必ず設定することを推奨します。

meta descriptionはSEOのランキングに影響しますか?

直接的なランキング要因ではありません。Googleは公式に「ランキングシグナルとしては使用しない」と明言しています。ただし、魅力的なdescriptionによるCTR向上は、間接的にSEOパフォーマンスに貢献します。

設定したmeta descriptionがGoogle検索結果に表示されません。なぜですか?

Googleは、設定されたdescriptionよりもページ本文の方がユーザーの検索意図に合うと判断した場合、スニペットを自動生成します。対策としては、descriptionの内容をページの主題と一致させ、主要な検索クエリに対応する表現にすることが有効です。詳しくは本記事の「Googleがmeta descriptionを書き換えるケースと対策」セクションを参照してください。

meta descriptionに最適な文字数は何文字ですか?

Googleは公式に文字数の上限を定めていません。表示幅はデバイスやGoogleのレンダリングに依存し、PCで120字程度、モバイルで70字程度が表示される傾向があります。最重要情報を先頭に置き、全体を120字程度に収めるのが実践的な目安です。

noindexを設定しているページにもmeta descriptionは必要ですか?

noindexを設定しているページは検索結果に表示されないため、SEO目的でのmeta descriptionは不要です。ただし、SNSシェア時にdescriptionが使われる場合があるため、シェアされる可能性があるページには設定しておくと良いでしょう。

この記事の内容、自社サイトではどこまでできていますか?

URLを入力するだけ。会員登録は一切不要です。

📊

AI検索対応度の総合スコア

7カテゴリ100点満点で評価

🔍

優先度つき改善ポイントTop3

具体的な修正手順つき

📄

PDF / Markdownレポート

AIに渡して改善提案をもらうことも可能

無料で診断する →

URLを入力するだけ / 会員登録不要 / 30秒で結果表示

診断結果イメージC
62/100

改善ポイント例:

構造化データ未実装+8点
AIクローラーブロック中+5点
🔶著者情報が不十分+3点