--- title: ': 文書レベルメタデータ要素' slug: Web/HTML/Element/meta tags: - HTML - HTML マイクロデータ - HTML 文書メタデータ - 'HTML:フローコンテンツ' - 'HTML:メタデータコンテンツ' - 'HTML:記述コンテンツ' - Reference - ウェブ - メタデータ - リファレンス - 文書 - 要素 translation_of: Web/HTML/Element/meta ---
HTML の <meta>
要素は、他のメタ関連要素 ({{HTMLElement("base")}}, {{HTMLElement("link")}}, {{HTMLElement("script")}}, {{HTMLElement("style")}}, {{HTMLElement("title")}}) で表すことができない任意の{{Glossary("Metadata","メタデータ")}}を提示します。
コンテンツカテゴリ | メタデータコンテンツ。 {{htmlattrxref("itemprop")}} 属性がある場合はフローコンテンツおよび記述コンテンツ。 |
---|---|
許可されている内容 | なし。これは{{Glossary("empty element", "空要素")}}です。 |
タグの省略 | 空要素であるため開始タグは必須であり、終了タグは置いてはいけません。 |
許可されている親要素 | <meta charset> および <meta http-equiv> : {{HTMLElement("head")}} 要素。{{htmlattrxref("http-equiv", "meta")}} がエンコーディング宣言ではない場合は、{{HTMLElement("head")}} 要素内にある {{HTMLElement("noscript")}} 要素の内部にも配置できます。 |
許可されている ARIA ロール | なし |
DOM インターフェイス | {{domxref("HTMLMetaElement")}} |
この要素はグローバル属性を持ちます。
メモ: {{htmlattrxref("name", "meta")}} 属性は {{HTMLElement("meta")}} 要素において特別な意味を持ちます。また、 {{htmlattrxref("itemprop")}} 属性は、 <meta>
要素にすでに {{htmlattrxref("name", "meta")}}, {{htmlattrxref("http-equiv", "meta")}}, {{htmlattrxref("charset", "meta")}} のいずれかがある場合は設定してはいけません。
UTF-8
を使うことを強く推奨します。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
と区別できないものがあるからです。UTF-7
fallback cross-scripting technique のような、ページの利用者を攻撃するクロスサイトスクリプティング手法が実現する可能性があります。charset
属性を持つ {{HTMLElement("meta")}} 要素は、 HTML5 より前の <meta http-equiv="Content-Type" content="text/html; charset=IANAcharset">
(IANAcharset
は、同様の {{htmlattrxref("charset", "meta")}} 属性の値に対応します) と同義です。この構文はまだ許容されていますが、今後は推奨されません。http-equiv(alent)
なのは、利用できる値のすべてが特定の HTTP ヘッダーの名前だからです。
content-language
{{obsolete_inline}}警告: この値は廃止されたため、使用しないでください。 {{HTMLElement("html")}} 要素で lang
属性を使用することを推奨します。
content-security-policy
content-type
{{obsolete_inline}}content-type
エンティティヘッダーフィールドと同じ構文に従いますが、 HTML ページ内にあるため text/html
を除くほとんどの値は使用できません。従って、この content
として有効な構文は文字列 'text/html
' に、 '; charset=IANAcharset
という構文による文字集合を続けたものになります。 IANAcharset
は、IANA で定義 されている文字集合の preferred MIME name です。
警告: この値は廃止されたので使用しないでください。 {{HTMLElement("meta")}} 要素の {{htmlattrxref("charset", "meta")}} 属性を使用してください。
メモ: XHTML や HTML5 の XHTML シリアライズにおいて、 {{HTMLElement("meta")}} は文書の型を変更できないので、 <meta>
の MIME 型に XHTML の MIME 型を設定しないでください。
refresh
;url=
' と有効な URL がある場合は、別のページにリダイレクトするまでの秒数。set-cookie
{{non-standard_inline}} {{obsolete_inline}}警告: この方法は廃止されたため、使用しないでください。代わりに HTTP ヘッダーの {{HTTPHeader("Set-Cookie")}} を使用してください。すでに標準から削除され、すでに Firefox 68 および Chrome 65 のどちらも対応していません。
この属性は、文書レベルのメタデータの名前を定義します。 {{htmlattrxref("itemprop")}}, {{htmlattrxref("http-equiv", "meta")}}, {{htmlattrxref("charset", "meta")}} 属性のいずれかが設定されている場合は設定するべきではありません。
このメタデータの名前は、 {{htmlattrxref("content", "meta")}} 属性が持つ値と関連づけられます。 name 属性で使用できる値には以下のものがあります。
application-name
は、ウェブページで実行するアプリケーションの名前を定義します。
author
は、文書の作者名を定義します。description
は、ページのコンテンツに関する簡潔で正確な概要を保持します。 Firefox や Opera など一部のブラウザーは、ページをブックマークに追加した際の既定の説明文として使用します。generator
は、ページを生成したソフトウェアの識別名を定義します。keywords
は、ページのコンテンツに関連する単語をカンマ区切りの文字列で保持します。referrer
{{experimental_inline}} は、この文書からリクエストを送信する場合に HTTP の {{HTTPHeader("Referer")}} ヘッダーへ付加する内容を制御します。
no-referrer |
HTTP の Referer ヘッダーを送信しません。 |
origin |
文書のオリジンを送信します。 |
no-referrer-when-downgrade |
現在のページと同等の安全性の URL (https→https) にはリファラーとしてオリジンを送信しますが、安全性が低い URL (https→http) には送信しません。これは既定の動作です。 |
origin-when-crossorigin |
同一オリジンへのリクエストでは URL 全体(引数を除く)を送信しますが、他の場合はオリジンのみ送信します。 |
same-origin |
同一オリジンにはリファラーを送信しますが、オリジン間リクエストにはリファラー情報を含めません。 |
strict-origin |
安全性が同等とみられる宛先 (HTTPS->HTTPS) に対しては、リファラーとして文書のオリジンのみを送信しますが、安全性が劣る宛先 (HTTPS->HTTP) には送信しません。 |
strict-origin-when-cross-origin |
文書と同一のオリジンへのリクエストを行う際には完全な URL を送信し、安全性が同等とみられる宛先 (HTTPS->HTTPS) に対しては、リファラーとして文書のオリジンのみを送信し、安全性が劣る宛先 (HTTPS->HTTP) にはヘッダーを送信しません。 |
unsafe-URL |
同一オリジンおよびオリジン間のリクエストで URL 全体 (パラメーターは除く) を送信します。 |
メモ:
always
, default
, never
に対応していることがあります。document.write
や appendChild
により) 動的に <meta name="referrer">
を挿入すると、リファラーを送信するかの決定権を持たないものになります。theme-color
はページや周囲のユーザーインターフェイスの表示をカスタマイズするために、ユーザーエージェントが使用する推奨される色を示します。 content
属性は有効な CSS の <color>
が入ります。color-scheme
:
文書が互換性を持つ1つ以上の色系統を指定します。ブラウザーはこの情報をユーザーのブラウザーや端末の設定と組み合わせて、背景・前景からフォームコントロールやスクロールバーまですべての色を作成するために使用します。 <meta name="color-scheme">
の主な使用法としては、明色モードや暖色モードの互換性と優先順位を示すというものがあります。
color-scheme
の {{htmlattrxref("content", "meta")}} プロパティの値は以下のうちの一つになります。
normal
light
| dark
]+only light
only dark
は暗色モードに対応していない文書に強制すると、内容が読めなくなる可能性があるので有効ではありません。主要なブラウザーはすべて、設定がない限りは明色モードです。例えば、文書で暗色モードを推奨しているが、明色モードでも機能する場合は次のようにします。
<meta name="color-scheme" content="dark light">
これは CSS の {{cssxref("color-scheme")}} プロパティでそれぞれの要素に推奨または受付可能な色系統を指定するのと同じ方法で文書レベルに動作します。スタイルを現在の色系統に合わせるには、 CSS メディア特性の {{cssxref("@media/prefers-color-scheme", "prefers-color-scheme")}} を使用します。
この属性では、 WHATWG Wiki の MetaExtensions ページで定義されている拡張リストの値も使用できます。まだ正式には承諾されていませんが、一般的に使用される名前があります。
creator
は、文書の制作者を定義します。これは組織名にできることに注意してください。複数の制作者がいる場合は、 {{HTMLElement("meta")}} 要素を複数使用すべきです。googlebot
は robots
と同義ですが、 Google のインデックス作成クローラーである Googlebot だけが従います。publisher
は、文書の発行者の名前を定義します。robots
は、協力的なクローラーあるいは "robot" がページ上で行うべき動作を定義します。これは、以下のリストにある値をコンマ区切りで並べます:
値 | 説明 | 使用対象 |
---|---|---|
index |
robot にページのインデックス作成を許可する (既定値) | すべて |
noindex |
ページのインデック作成を行わないことを robot に要求する | すべて |
follow |
robot がページ上のリンクをたどることを許可する (既定値) | すべて |
nofollow |
ページ上のリンクをたどらないことを robot に要求する | すべて |
none |
noindex, nofollow と同義 |
|
noodp |
Open Directory Project に説明文がある場合、検索結果のページでその説明文をサイトの説明として使用しないようにする | |
noarchive |
ページのコンテンツをキャッシュしないことを検索エンジンに要求する。 | Google, Yahoo, Bing |
nosnippet |
検索結果のページでページの説明を表示しないようにする。 | Google, Bing |
noimageindex |
インデックス登録された画像の参照元としてページを表示しないように要求する | |
nocache |
noarchive と同義 |
Bing |
noindex
に変更すれば実現できますが、robot が再びページを訪れたときになります。robots.txt
ファイルが再訪問を妨げないようにしてください。一部の検索エンジンは、ページを早急に削除するための開発者ツールを用意しています。index
と noindex
、または follow
と nofollow
など、互いに排他的な値があります。同時使用した場合の robot の動作は未定義であり、robot により大きく異なるかもしれません。X-Robots-Tag
ヘッダーで同じ値をサポートしています。これにより、画像など HTML 文書以外でも規則を使用できます。slurp
は robots
と同義ですが、 Yahoo 検索のクローラーである Slurp のみが従います。viewport
は、{{glossary("viewport", "ビューポート")}}の初期サイズに関する助言を与えます。モバイル端末のみで使用されます。
値 | 設定可能な値 | 説明 |
---|---|---|
width |
正の整数または文字列 device-width |
ウェブサイトを描画したいビューポートの幅をピクセル数で定義します。 |
height |
正の整数またはテキスト device-height |
ビューポートの高さを定義します。どのブラウザーでも使用されていません。 |
initial-scale |
0.0 から 10.0 までの、正の数値 |
デバイスの幅 (ポートレートモードでの device-width またはランドスケープモードでの device-height ) とビューポートの寸法との比率を定義します。 |
maximum-scale |
0.0 から 10.0 までの、正の数値 |
ズームの最大値を定義します。この値は minimum-scale と同じまたはより大きくしなければなりません。そうではないときの動作は未定義です。ブラウザーの設定でこの規則を無視できます。また、iOS 10 以降は既定で無視します。 |
minimum-scale |
0.0 から 10.0 までの、正の数値 |
ズームの最小値を定義します。この値は maximum-scale と同じまたはより小さくしなければなりません。そうではないときの動作は未定義です。ブラウザーの設定でこの規則を無視できます。また、iOS 10 以降は既定で無視します。 |
user-scalable |
yes または no |
no を設定すると、ユーザーはページのズームができなくなります。既定値は yes です。ブラウザーの設定でこの規則を無視できます。また、iOS 10 以降は既定で無視します。 |
仕様書 | 状態 | 備考 |
---|---|---|
{{SpecName('CSS3 Device', '#viewport-meta', '<meta name="viewport">')}} | {{Spec2('CSS3 Device')}} | Viewport META 要素について、非規範的な説明を掲載 |
メモ: この属性は廃止されたため使用しないでください。実際の使用例がなかったため、代替策はありません。
属性の組み合わせに応じて、メタデータの種類は以下のいずれかになります。
<meta charset="utf-8"> <!-- 3秒後にページをリダイレクト --> <meta http-equiv="refresh" content="3;url=https://www.mozilla.org">
refresh
の値が設定されたページには、時間が短すぎるというリスクがあります。読み上げソフトのような支援技術を使用して操作している人は、全文を読むことができず、自動的にリダイレクトされる前のページの内容を理解できない可能性があります。いきなりで予告なしのページコンテンツの更新は、弱視の人々を惑わせる可能性もあります。
user-scalable
の値を no
に設定してズーム機能を無効にすると、弱視の人々がページのコンテンツを読んだり理解したりすることを妨げます。
仕様書 | 状態 | 備考 |
---|---|---|
{{SpecName('Referrer Policy', '#referrer-policy-delivery-meta', '<meta name="referrer">')}} | {{Spec2('Referrer Policy')}} | <meta name="referrer"> の値やセマンティクスを定義 |
{{SpecName('HTML WHATWG', 'semantics.html#the-meta-element', '<meta>')}} | {{Spec2('HTML WHATWG')}} | itemprop 属性を追加 |
{{SpecName('HTML5 W3C', 'document-metadata.html#the-meta-element', '<meta>')}} | {{Spec2('HTML5 W3C')}} | charset 属性を追加 |
{{SpecName('HTML4.01', 'struct/global.html#h-7.4.4.2', '<meta>')}} | {{Spec2('HTML4.01')}} |
以下の情報は MDN の Github (https://github.com/mdn/browser-compat-data) から取得したものです。