HTML <meta> 要素は、他のメタ関連要素 (<base>、<link>、<script>、<style>、<title>) で表すことができない任意の メタデータ 情報を提示します。
| コンテンツカテゴリー | メタデータコンテンツ。itemprop 属性を設定すると フローコンテンツ および フレージングコンテンツ。 |
|---|---|
| 許可された内容 | なし。これは 空要素 です。 |
| タグの省略 | 空要素であるため開始タグは必須であり、終了タグは置いてはいけません。 |
| 許可された親要素 | <meta charset> および <meta http-equiv>: <head> 要素。http-equiv がエンコーディング宣言ではない場合は、<head> 要素内にある <noscript> 要素の内部にも配置できます。 |
| 許可された ARIA ロール | なし |
| DOM インターフェイス | HTMLMetaElement |
属性
この要素は グローバル属性 を持ちます。
注記: <meta> 要素ではグローバル属性 name に特別な意味があります。また、name、http-equiv または charset のいずれかを持つ <meta> 要素に itemprop 属性を設定してはいけません。
charset- この属性は、ページで使用している文字エンコーディングを宣言します。この属性は 文字エンコーディングの標準 IANA MIME name のひとつであることが必要です。標準仕様では特定の文字エンコーディングを要求していませんが、以下の推奨事項があります:
- 作者には
UTF-8を推奨します。 - 作者は ASCII との互換性がないエンコーディングを使用するべきではありません。これはセキュリティのリスクがあるためで、これらのエンコーディングをサポートしないブラウザーが HTML 要素ではないコンテンツを HTML 要素として解釈するかもしれません。これは、少なくとも以下の文字セットがあてはまります:
JIS_C6226-1983、JIS_X0212-1990、HZ-GB-2312、JOHAB、ISO-2022 ファミリー、EBCDIC ファミリー。(ASCII と互換性がないエンコーディングとは、8 ビットのコードポイント0x20から0x7Eが Unicode のコードポイント0x0020から0x007Eにマッピングされていないエンコーディングです) - 作者は
CESU-8、UTF-7、BOCU-1、SCSUを 使用してはいけません。これらのエンコーディングで クロスサイトスクリプティング 攻撃が実証されています。 - 作者は
UTF-32を使用すべきではありません。これは、すべての HTML5 エンコーディングアルゴリズムでUTF-16と区別できるわけではないためです。
注記:- 文字化けやセキュリティホールを避けるため、宣言した文字集合はページを保存した文字集合と一致しなければなりません。
- エンコーディングを宣言する
<meta>要素は<head>要素の内部かつ HTML の始めから 1024 バイト以内に配置しなければなりません。これは、ページの文字集合を選択するまでに始めの部分しか確認しないブラウザーがあるためです。 - この
<meta>要素はブラウザーが提供する、ページの 文字集合を判断するアルゴリズム の一部でしかありません。特に、HTTP のContent-Typeヘッダー や バイトオーダーマーク はこの要素より優先します。 - この属性を使用して文字集合を定義することを強く推奨します。ページで文字集合を定義しない場合は
UTF-7fallback cross-scripting technique のような、ページの利用者を攻撃するクロスサイトスクリプティング手法が実現する可能性があります。 charset属性を持つ<meta>要素は、HTML5 より前の<meta http-equiv="Content-Type" content="text/html; charset=IANAcharset">(IANAcharsetは、同様のcharset属性の値に対応します) と同義です。この構文はまだ許容されていますが、今後は推奨されません。
- 作者には
content- この属性は状況に応じて、
http-equiv属性またはname属性に関連付けられた値を持ちます。 http-equiv- この属性は HTTP ヘッダーの名前を持つことができ、それゆえに属性名が http-equivalent です。これは、サーバーやユーザーエージェントの動作を変更可能な命令を定義します。命令の値は
contentを使用して定義します。以下のいずれかを使用できます:"content-language"- ページのデフォルトの言語を定義します。これはすべての要素の lang 属性に置き換えられました。
この値は廃止されたため、使用しないでください。代わりに、
<html>要素でlangグローバル属性を使用します。 "content-security-policy"- この値により、ページ作者がページの コンテンツポリシー を定義できます。いくつかの例外を除き、ポリシーはサーバーオリジンやスクリプトのエンドポイントの指定に関与します。これは、クロスサイトスクリプティング攻撃の対策になります。
"content-type"- この属性は文書の MIME type を定義するもので、後に文字集合の定義が続きます。これは HTTP の
content-typeエンティティヘッダーフィールドと同じ構文に従いますが、HTML ページ内にあるためtext/htmlを除くほとんどの値は使用できません。従って、このcontentとして有効な構文は文字列 'text/html' に、以下の構文による文字集合を続けたものになります: '; charset=IANAcharset'。IANAcharsetは、IANA で定義 されている文字集合の Preferred MIME Name です。 "refresh"- これは以下の命令を指定します:
"set-cookie"- ページの Cookie を定義します。属性の値は IETF の HTTP Cookie 仕様 で定義している構文に従わなければなりません。
注記: この方法は廃止されたため、使用しないでください。代わりに HTTP ヘッダー
Set-Cookieを使用します。
name-
この属性は、文書レベルのメタデータの名前を定義します。
itemprop属性、http-equiv属性、charset属性のいずれかも設定する場合は、この属性を設定するべきではありません。文書レベルのメタデータの名前は、
content属性が持つ値と関連づけられます。name 属性で使用できる値は、content属性で結びつけられる値に対して以下のものがあります:application-nameは、ウェブページで実行するアプリケーションの名前を定義します。注記:- ブラウザーは、これをアプリケーションの識別に使用するでしょう。これは
<title>要素とは異なります。title 要素もアプリケーション名を持ちますが、文書の名前や状態といった特別な情報も含むことがあります。 - 単純なウェブページで application-name メタ情報を定義するべきではありません。
- ブラウザーは、これをアプリケーションの識別に使用するでしょう。これは
authorは、文書の作者名を定義します。descriptionは、ページのコンテンツに関する簡潔で正確な概要を保持します。Firefox や Opera などいくつかのブラウザーは、ページをブックマークに追加した際のデフォルトの説明文としてこのメタ情報を使用します。generatorは、ページを生成したソフトウェアの識別名を定義します。keywordsは、ページのコンテンツに関連する単語をカンマ区切りの文字列で保持します。referrerは、この文書からリクエストを送信する場合にRefererHTTP ヘッダー へ付加する内容を制御します:<meta name="referrer">のcontent属性の値no-referrerHTTP Refererヘッダーを送信しません。originドキュメントの オリジン を送信します。 no-referrer-when-downgrade推測的に見てよりセキュアな宛先 (https→https) には オリジン をリファラーとして送信しますが、安全性が低い宛先 (https→http) には送信しません。これは既定の動作です。 origin-when-crossorigin同一オリジンへのリクエストでは URL 全体 (パラメーターは除く) を送信しますが、他の場合は オリジン のみ送信します。 unsafe-URL同一オリジンおよびクロスオリジンのリクエストで URL 全体 (パラメーターは除く) を送信します。 - referrer でキーワード
always、default、neverをサポートするブラウザがあります。これらの値は非推奨です。 - (
document.writeやappendChildにより) 動的に<meta name="referrer">を挿入すると、リファラを送信するかの決定権を持たないものになります。 - 競合するポリシーをいくつか定義すると、No-referrer ポリシーが適用されます。
- referrer でキーワード
この属性では、WHATWG Wiki の MetaExtensions ページで定義されている拡張リストの値も使用できます。まだ正式には承諾されていませんが、一般的に使用される名前があります:
最後に、一部の name は一般的に使用されていますが標準化が進められていません:
creatorは、文書の制作者を定義します。これは組織名にできることに注意してください。複数の制作者がいる場合は、<meta>要素を複数使用すべきです。googlebotはrobotsと同義ですが、Google のインデックス作成クローラーである Googlebot だけが従います。publisherは、文書の発行者を定義します。robotsは、協力的なクローラあるいは "robot" がページ上で行うべき動作を定義します。これは、以下のリストにある値をカンマ区切りで並べます:<meta name="robots">の content の値値 説明 使用対象 indexrobot にページのインデックス作成を許可する (既定値) すべて noindexページのインデック作成を行わないことを robot に要求する すべて followrobot がページ上のリンクをたどることを許可する (既定値) すべて nofollowページ上のリンクをたどらないことを robot に要求する すべて nonenoindex, nofollowと同義Google noodpOpen Directory Project に説明文がある場合、検索結果のページでその説明文をサイトの説明として使用しないようにする noarchiveページのコンテンツをキャッシュしないことを検索エンジンに要求する Google, Yahoo, Bing nosnippet検索結果のページでページの説明を表示しないようにする Google, Bing noimageindexインデックス登録された画像の参照元としてページを表示しないように要求する Google nocachenoarchiveと同義Bing 注記:- 協力的な robot しか、robots の name で定義した規則に従わないでしょう。電子メールを収集するようなものを寄せつけないようにするとは考えないでください。
- meta の値を読み取るため、robot はページにアクセスできることが必要です。ネットワーク帯域の消費を抑えるたい場合は、robots.txt ファイルを使用してください。
- インデックスからページを削除したい場合は、meta を
noindexに変更すれば実現できますが、robot が再びページを訪れたときになります。robots.txtファイルが再訪問を妨げないようにしてください。一部の検索エンジンは、ページを早急に削除するための開発者ツールを用意しています。 indexとnoindex、またはfollowとnofollowなど、互いに排他的な値があります。同時使用した場合の robot の動作は未定義であり、robot により大きく異なるかもしれません。- Google、Yahoo、Bing など一部の検索エンジンのクローラー robot は、
X-Robot-TagsHTTP ヘッダーで同じ値をサポートしています。これにより、画像など HTML 文書以外でも規則を使用できます。
slurpはrobotsと同義ですが、Yahoo 検索のクローラである Slurp のみが従います。viewportは、viewport の初期サイズに関する助言を与えます。モバイル機器のみで使用されます。<meta name="viewport">の content の値値 設定可能な値 説明 width正の整数またはテキスト device-widthviewport の幅をピクセル値で定義するか、viewport をデバイスのスクリーンの幅に合わせることを認めます。 height正の整数またはテキスト device-heightviewport の高さをピクセル値で定義します。どのブラウザーでも使用されていません。 initial-scale0.0から10.0までの、正の数値デバイスの幅 (ポートレートモードでの device-widthまたはランドスケープモードでのdevice-height) と viewport のサイズの比率を定義します。maximum-scale0.0から10.0までの、正の数値ズームの最大値を定義します。この値は minimum-scaleと同じまたはより大きくしなければなりません。そうしないときの動作は不定です。ブラウザーの設定でこの規則を無視できます。また、iOS 10 以降はデフォルトで無視します。minimum-scale0.0から10.0までの、正の数値ズームの最小値を定義します。この値は maximum-scaleと同じまたはより小さくしなければなりません。そうしないときの動作は不定です。ブラウザーの設定でこの規則を無視できます。また、iOS 10 以降はデフォルトで無視します。user-scalableyesまたはnonoを設定すると、ユーザーはページのズームができなくなります。デフォルト値はyesです。ブラウザーの設定でこの規則を無視できます。また、iOS 10 以降はデフォルトで無視します。仕様書 策定状況 コメント CSS Device Adaptation
<meta name="viewport"> の定義草案 Viewport META 要素について、非規範的な説明を掲載 @viewportもご覧ください。注記:- この属性は標準化されていませんが、事実上優勢であるためほとんどのモバイルブラウザーで使用されています。
- デフォルト値は機器やブラウザーにより異なる可能性があります。
- モバイル版 Firefox におけるこの宣言について詳しく知るには、こちらの記事 をご覧ください。
scheme- この属性は、メタデータを説明するスキーマを定義します。スキーマは、フォーマットなど
contentの値を正しく解釈するように導くコンテキストです。注記: この属性は廃止されたため使用しないでください。実際の使用法がなかったため、代替策はありません。
注記
属性のセットに応じて、メタデータの種類は以下のいずれかになります:
nameを設定すると文書レベルのメタデータになり、ページ全体に適用します。http-equivを設定するとプラグマディレクティブ、つまりどのようにウェブページを提供するかについて、通常ウェブサーバーから与えられる情報です。charsetを設定すると文字集合宣言、つまりウェブページで使用する文字集合です。itempropを設定するとユーザー定義メタデータとなり、メタデータのセマンティックがユーザー独自であるためユーザーエージェントに対して透過的になります。
例
<meta charset="utf-8"> <!-- 3 秒後にページをリダイレクト --> <meta http-equiv="refresh" content="3;url=https://www.mozilla.org">
仕様
| 仕様書 | 策定状況 | コメント |
|---|---|---|
| Referrer Policy <meta name="referrer"> の定義 |
勧告改訂案 | <meta name="referrer"> の値やセマンティクスを定義 |
| HTML Living Standard <meta> の定義 |
現行の標準 | itemprop 属性を追加 |
| HTML5 <meta> の定義 |
勧告 | charset 属性を追加 |
| HTML 4.01 Specification <meta> の定義 |
勧告 |
ブラウザー実装状況
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
| 機能 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| 基本サポート | 有り | 有り | 1 | 有り | 有り | 有り |
charset | 有り | 有り | 1 | 有り | 有り | 有り |
content | 有り | 有り | 1 | 有り | 有り | 有り |
http-equiv | 有り | 有り | 1 | 有り | 有り | 有り |
name | 有り | 有り | 1 | 有り | 有り | 有り |
| 機能 | Android webview | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
|---|---|---|---|---|---|---|---|
| 基本サポート | 有り | 有り | 有り | 4 | 有り | 有り | 有り |
charset | 有り | 有り | 有り | 4 | 有り | 有り | 有り |
content | 有り | 有り | 有り | 4 | 有り | 有り | 有り |
http-equiv | 有り | 有り | 有り | 4 | 有り | 有り | 有り |
name | 有り | 有り | 有り | 4 | 有り | 有り | 有り |

