SEO向けメタタグ

2026年のSEOで重要なhead要素を整理します。title、meta description、robotsメタタグに加え、X-Robots-Tag、rel属性、不要なタグまで解説します。

初回公開:2026年6月23日 · 最終更新:2026年8月11日 · 上級者向け

メタタグは検索エンジンへメタデータを渡すhead要素です。SEOで重要なのはtitle要素、meta description、robotsメタタグのごく一部です。robots.txtでページをブロックするとGoogleはnoindexを確認できません。非HTMLファイルにはX-Robots-Tagを使い、リンク単位のrel属性は指示ではなくヒントとして扱われます。

要点 — head要素は名前ではなく役割で分類します。見え方: title要素(SERPのタイトルリンクを決める主要な情報源。ただし唯一ではない)とmeta description(CTR向けの文言で、ランキング要因ではない)。インデックス登録と表示: robotsメタタグ(noindex、nofollow、nosnippet、max-snippetなど)。非HTMLファイルではX-Robots-Tag HTTPヘッダー、要素単位ではdata-nosnippetが対応します。リンク単位: <a>タグのrel="nofollow"、sponsored、ugcは指示ではなくヒントです。ブラウザー専用: charset、viewport、refresh。無視されるもの: keywords、author、revisit-after。最重要ルールは、robots.txtがクロールを、robotsメタタグがインデックス登録を制御するという点です。ページをブロックすると、Googleはnoindexを確認できません。

この主張の根拠 The HTML meta element represents metadata that other head elements cannot express. 対象範囲: HTML semantics, independent of whether a particular search engine uses a given name value. 信頼度: 高 · 検証日: MDN: meta element この主張の根拠 Google documents a defined set of meta tags it understands and ignores unsupported tags. 対象範囲: Google Search's supported meta-tag behavior. 信頼度: 高 · 検証日: Google Search Central: Meta tags and attributes

メタタグに含まれるものと、titleタグの注意点

メタタグはhead内に置かれ、ページのメタデータを検索エンジンやブラウザーへ渡す要素です。典型的なものはmeta要素を使います。しかし、SEOで最も重要なhead要素であるtitle要素は、厳密にはメタタグではありません。それでもここで扱うのは、「SEO向けメタタグ」を探す人がtitleを求めており、文字どおり<meta>かどうかを分けるより、head要素を役割で分類する方がはるかに実用的だからです。

覚えておくべき全体像は次のとおりです。

全体像:head内のシグナルを役割別に整理する

1. 見え方(SEOに関係するもの)。

  • title要素 — 検索結果のタイトルリンクになります。弱いランキング要因であり、SERPタイトルの主要な情報源ですが、唯一の情報源ではありません。Googleは、「uses a number of different sources to automatically determine the title link,」 (翻訳)「タイトルリンクを自動的に決定するため、複数の異なる情報源を使用する」と説明しており、title、表示されるH1、目立つテキスト、og:title、アンカーテキストなどを参照します。そのため書き換えられることがあります。Ahrefsの大規模調査では、およそ3分の1のtitleが書き換えられ、長すぎる場合や定型文の場合に多く発生しました。目安は約60文字、または約600px未満です。
  • meta description — スニペットの文言です。ランキング要因ではありませんが、クリックを促す売り込み文句になります。キーワードの羅列ではなく、コンバージョンを意識した文章にしてください。Googleは大半を無視または書き換えており、Ahrefsのデータでは書き換え率は約62,78%です。価値とトラフィックが大きいページに労力を集中し、ロングテールのページには時間をかけすぎないようにします。

2. インデックス登録と表示の制御(robotsファミリー)。 同じ指示を最大3か所から配信できます。

  • head内のrobotsメタタグ — noindex、nofollow、none(=noindex, nofollow)に加え、nosnippet、max-snippet、max-image-preview、max-video-preview、noimageindex、notranslate、unavailable_after、indexifembeddedなどを指定します。特定のボットを対象にする場合は、name="robots"の代わりにname="googlebot"を使います。
  • X-Robots-Tag HTTPヘッダー — 同じ指示をレスポンスヘッダーでサーバー側から設定します。headを持たないPDF、画像、その他の非HTMLファイルをnoindexにする方法です。利用例は少ないものの、知っていると差がつきます。
  • data-nosnippet属性 — 要素単位のスニペット制御です。span、div、sectionを囲むと、全体を隠さずにそのテキストだけをスニペットから除外できます。ページの一部分だけに使える唯一のスニペット制御です。

2026年時点で押さえておきたい点として、max-snippetはAI OverviewsとAI Modeへ入力できるコンテンツ量も制限します。Googleの文書に明記されています。また、指示が競合する場合はより制限の強いルールが優先されます(nosnippetはmax-snippet:50より強い制限です)。

3. リンク単位のシグナル(headではなく<a>タグに指定)。

  • rel="sponsored" — 有料リンクと広告。
  • rel="ugc" — ユーザー生成コンテンツ(コメント、フォーラム投稿)。
  • rel="nofollow" — その他、推薦したくないリンク。 2019年以降、Googleはこの3つをランキング上の厳格な指示ではなくヒントとして扱っています。指定されたリンクも、別の経路から発見、クロールされる場合があります。リンク単位のrel="nofollow"(1本のリンク)と、ページ単位のrobotsメタnofollow(ページ内のすべてのリンク)を混同しないでください。対象範囲も仕組みも異なります。

4. ブラウザー専用(SEOの指示ではないもの)。 charset/content-typeとviewportは表示のための指定であり、ランキングのためではありません。meta-refreshについてGoogleは、「sends the user to a new URL after a certain amount of time」 (翻訳)「一定時間後にユーザーを新しいURLへ送る」タグと説明しています。これはブラウザーの機能です。SEO上のリダイレクトにはrefreshではなく、サーバー側の301を使ってください。

5. 無視されるもの/役目を終えたもの。 keywords(「no effect on indexing and ranking at all」 (翻訳)「インデックス登録にもランキングにも一切影響しない」)、現在は何もしないnositelinkssearchbox、Googleが使用しないauthor/revisit-afterです。慣習だけを理由に追加するのはやめましょう。

各タグを置く3つの場所

もう1つ、開発者が混乱しやすい分類軸があります。

  • HTML head — title要素、meta description、robotsメタタグ、ブラウザー向けタグ。
  • HTTPレスポンスヘッダー — 同じrobots指示をサーバー側から配信し、あらゆるファイル形式に使えるX-Robots-Tag。
  • 要素/リンク上 — span、div、sectionのdata-nosnippetと、<a>タグのrel値。

クロール、インデックス登録、表示の違い:robots.txtがメタタグを無効にする理由

head内の指示は取得後にのみ機能します。robots.txtでブロックすると、従わせたいnoindexをGoogleが確認できない場合があります。

同じページにrobotsメタのnoindex指示があります。1つ目の経路ではクロールが許可され、クローラーがページを取得してnoindexを読み、処理後にURLを検索結果から除外できます。2つ目の経路ではrobots.txtがクロールをブロックするため、クローラーはページを取得できずnoindexも確認できません。その結果、URLが検索結果に残る可能性があります。

これはページ内で最も重要な概念なので、はっきり区別します。次の3つは異なる層です。

  • robots.txt = クロール制御。 GoogleがURLを取得するかどうかを決めます。
  • robotsメタタグ/X-Robots-Tag = インデックス登録と表示の制御。 クロール済みページをインデックスするか、どのように表示するかを決めます。
  • data-nosnippet = 表示だけの制御。 要素単位で適用します。

注意点はGoogleの文書に明記されています。ページが*「disallowed from crawling through the robots.txt file, then any information about indexing or serving rules will not be found and will therefore be ignored.」* (翻訳)「robots.txtファイルによってクロールを拒否されると、インデックス登録や表示ルールに関する情報は見つからず、無視されることになる」のです。ページをブロックするとnoindexは確認されません。外部リンクの情報だけでインデックスされ、スニペットのない状態で残る可能性があります。

私はクロール側の挙動を実際に検証しました。robots.txtで上位表示ページ2件を ブロックした実験では、自社の上位表示ページ2件をブロックして推移を観察しました。結論は、「Don’t block pages you want indexed. It hurts. Not as bad as you might think it does—but it still hurts.」 (翻訳)「インデックスさせたいページをブロックしてはいけない。悪影響がある。想像するほど深刻ではないかもしれないが、それでも悪影響はある」です。ページは消えず、スニペットと強調スニペット枠を失ったまま順位を維持しました。つまり、ブロックはクロールを制御する手段であり、インデックスを削除する手段ではありません。ページを削除するには、クロールを許可してnoindexを追加します。

meta descriptionはランキング要因ではない

根強い誤解なので明確に述べておきます。John Muellerは、meta descriptionについて*「is primarily used as a snippet in the search results page. And that’s not something that we would use for ranking.」* (翻訳)「主に検索結果ページのスニペットとして使われるもので、ランキングに使用するものではない」と説明しました。影響するのは順位ではなくCTRです。現在ではAIやLLMの画面でも、そのまま要約として取り込まれる場面が増えています。簡潔なdescriptionは、青いリンク以外でも適切にページを表現する助けになります。

メタデータをひそかに壊す2つの実装上の落とし穴

head内の無効なHTMLは、それ以降の読み取りを打ち切ります。 <head>要素に置けるのはtitle、meta、link、script、style、base、noscript、templateだけです。Googleの文書は、規則を破った場合について*「If you use an invalid element in the head element, Google ignores any elements that appear after the invalid element.」* (翻訳)「head要素内で無効な要素を使用すると、その無効な要素より後にあるすべての要素をGoogleは無視する」と明記しています。具体的に挙げられている無効な要素はiframeとimgです。テンプレートがmeta descriptionやrobotsタグより前にこれらを誤って挿入すると、ソース上は問題なく見えても、それ以降は読み取られません。メタタグが機能しない原因を調べる前に、レンダリング後のheadに不要なiframe/imgがないか確認してください。

避けられるなら、JavaScriptでメタタグを挿入または変更しないでください。 Google自身も、「We recommend that you avoid using JavaScript to inject or change meta tags whenever possible, and if you must use it, test your implementations thoroughly.」 (翻訳)「可能な限りJavaScriptでメタタグを挿入・変更することは避け、必要な場合は実装を十分にテストすることを推奨する」と案内しています。サーバーでレンダリングしたheadタグが安定した既定の方法です。ただし「レンダリング済みHTMLを確認する」とは、「常にレンダリング後の値が優先される」という意味ではありません。各フィールドを段階別に記録してください。titleとdescriptionはGoogleのタイトルリンク/スニペット選択への入力のままです。生のHTMLにnoindexがあると、JavaScriptで削除される前にレンダリングが止まる場合があります。またGoogleは、ソースにcanonicalを出して後から別の値へ変更しないよう案内しています。現在のJavaScript SEO ガイドには、こうしたフィールドごとの差が記載されています。

重複するメタデータは問題の証拠であり、優先順位の規則ではありません。 HTML標準では、1つの文書につきtitleとmeta descriptionをそれぞれ1つだけ認めています。テンプレートが複数出力した場合は、生の値とレンダリング後の値をすべて示して重複を報告してください。最初または最後の値をGoogleが必ず選ぶとは断定できません。

body内のrobotsメタタグはGoogle固有の例外です。 妥当で移植性の高いマークアップでは引き続き<head>に置きますが、Googleの現在のrobots文書には、Google Searchがbody内のrobotsメタタグも読み、尊重するとあります。bodyへの配置はGoogle向けの適合性/移植性に関する注意として扱い、ルールが失敗した証拠とは考えないでください。canonicalにはこの例外がありません。

次に読むべき内容

この記事は全体図です。以下の各トピックには個別の詳しい解説があり、on-pageクラスターのサイドバーにまとめています(全項目はon-pageクラスターの 索引を参照してください)。

見え方

  • titleタグ — 最も重要なhead要素。タイトルリンクの選ばれ方、Googleが書き換える理由、適切な長さを解説します。
  • meta description — クリックを促すスニペット文の書き方、ランキング要因ではない理由、Googleによる書き換え頻度を解説します。

インデックス登録と表示の制御

  • robotsメタタグ(meta robots)— noindex、nofollow、noneと、特定のボットを対象にする方法。
  • X-Robots-Tagヘッダー — PDF、画像、その他の非HTMLファイルに同じ指示を設定する方法。
  • noindex — ページを実際にインデックスから削除する方法と、機能させるためにクロール可能な状態を保つ理由。
  • nofollow — ページ単位の指示とリンク単位の属性、それぞれの実際の挙動。
  • rel=sponsoredとrel=ugc — 有料リンクとユーザー生成リンクをGoogleの想定どおりに分類する方法。
  • max-snippet/max-image-preview — AI Overviewsへの適用も含め、表示できるテキスト量と画像サイズを調整する方法。
  • nosnippet/data-nosnippet — ページ全体または単一要素のスニペットを抑制する方法。

ソーシャル共有とプラットフォーム向けタグ

  • Open Graphタグ — Facebook、LinkedIn、Slack、Discordでリンクのプレビューを制御するog:title、og:imageなどのプロトコル。
  • Twitter/X Cardタグ — twitter:cardファミリーと、マークアップとは別に変化してきたX独自のリンクプレビュー挙動。
  • ソーシャル共有画像 — 共有リンクで壊れた、または古いプレビューを出さないためのog:image/twitter:imageの寸法、ファイルサイズ、絶対URLの規則。
  • ファビコンSEO — Googleの検索結果の横にファビコンを実際に表示するための<link rel="icon">要件。

古いタグと用途が限られるタグ

  • meta charsetタグ — <meta charset="utf-8">を先頭1024バイト以内に置く理由と、置かなかった場合の挙動。
  • meta keywordsタグ — Googleが2009年から無視しているタグと、削除する価値がある理由。
  • rel=“alternate” — hreflang、フィードの自動検出、廃止されたAMP注釈を支える一般的なリンク関係の仕組み。

これらすべての上位層にクロールがあります。head内の指示を読み取るにはページがクロール可能でなければなりません。そのため、robots.txtは独立したトピックであり、ここで扱うすべての前提条件です。

専門家メモを追加

専門家の引用を固定

新しい人物ですか?まず、 /admin/experts/ → 専門家の引用を固定 から未登録プロフィールを作成してください。