meta要素 -- メタ情報

基本データ

meta要素
文書型 適用 子要素 開始タグ 終了タグ 分類
Strict 空要素 必須 禁止 head要素の子要素
Transitional
Frameset

属性

固有属性

content="プロパティの値"(必須)
Strict: ○ | Transitional: ○ | Frameset: ○
メタ情報のプロパティの値を指定します。
name="プロパティ名"
Strict: ○ | Transitional: ○ | Frameset: ○
メタ情報のプロパティ名を指定します。
http-equive="HTTPレスポンスヘッダ名"
Strict: ○ | Transitional: ○ | Frameset: ○
メタ情報のうちHTTPレスポンスヘッダとして送信されるべきプロパティ名を指定します。
scheme="値の形式"
Strict: ○ | Transitional: ○ | Frameset: ○
値の形式を指定します。プロパティの値が「10-9-97」だと「1997年9月10日」と「1997年10月9日」の2通りに解釈できますが、scheme属性でMonth-Day-Yearと指定すれば「1997年10月9日」であると分かります。

共通属性

解説

メタ情報とは、データに関する情報のことです。メタ情報はプロパティと値の組み合わせで表されます。例えばこのHTML文書は

メタ情報の例
プロパティ
言語 日本語
作者 石川 一靖
説明 meta要素の解説。
スタイルシート /css/default.css
目次ページ index.html

などのメタ情報がhead要素内で定義されています。このようなプロパティと値の組み合わせ -- つまりメタ情報 -- のうち、値がURIであるものはlink要素で示し、そうでないものをmeta要素で示します。(上の例ではスタイルシートと目次ページのメタ情報をlink要素で示します。)

meta情報のプロパティは普通はname属性に記述しますが、HTTPレスポンスヘッダとして送信されるべきものはhttp-equiv属性に記述します。meta情報のはcontent属性に記述します。

文字コードを示す

Shift_JIS
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
EUC-JP
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
ISO-2022-JP (JIS)
<meta http-equiv="Content-Type" content="text/html; charset=ISO-2022-JP">
UTF-8
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

HTML文書の文字コードを示します。HTML文書中で日本語が現れる部分より前に指定してください。

content="text/html;" charset="Shift_JIS"ではないので気をつけてください。

言語を示す

  • <meta http-equiv="Content-Language" content="ja">
  • <meta http-equiv="Content-Language" content="ja, en">

文書全体の言語コードを示します。カンマで区切って複数指定することも出来ます。

スタイルシート言語・スクリプト言語を示す

  • <meta http-equiv="Content-Style-Type" content="text/css">
  • <meta http-equiv="Content-Script-Type" content="text/javascript">

デフォルトで使用されるスタイルシート言語とスクリプト言語を示します。style属性組み込みイベント属性で記述される言語は、ここで示した言語と解釈されます。

作者・説明・キーワード

  • <meta name="keywords" content="meta要素,メタ情報,メタデータ">
  • <meta name="description" content="meta要素の解説です。">
  • <meta name="author" content="作者名">

文書の作者、説明、キーワードを示します。説明の内容は検索エンジンの検索結果に表示されることがあります。

検索エンジンに登録されないようにする

<meta name="robots" content="noindex,nofollow">

Googleなどのロボット型検索エンジンに対し、ページを自動で登録せず、ページ内のリンクもたどらせないようにします。この指定をしても効果のない検索エンジンもあるので注意してください。

ページの自動更新

<meta http-equiv="refresh" content="10; URL=page1.html">

上の例では10秒後にpage1.htmlにページを移動するよう指定しています。ページの自動更新に対応していないユーザーエージェントもあるので、この機能は使うべきではありません。サーバ側のリダイレクト機能を使ってください。

ApacheというWWWサーバであれば、.htaccessという設定ファイルに次のように書いておきます。

Redirect /bar http://www.example.com/page1.html

こうすると、http://ホスト名/bar/ 以下のファイルにアクセスされたとき、自動的にhttp://www.example.com/page1.html へ転送します。この方法であれば、ユーザーエージェント側のリダイレクト機能は不要です。Redirectディレクティブなどの詳しい使い方は、以下のページを参照してください。

metaタグが不要な場合

言語やMIMEタイプ、文字コードなどのメタデータをHTTPレスポンスヘッダで送信することができれば、必ずしもそれをmeta要素で示す必要はありません。ApacheというWWWサーバであれば、.htaccessという設定ファイルに

AddType "text/html; charset=Shift_JIS" .html

と書いておくと、Apacheは拡張子が.htmlのファイルを要求されたときHTTPレスポンスヘッダで

Content-Type: text/html; charset=Shift_JIS

と送信するので、meta要素を使う必要はなくなります。ローカルでHTML文書を利用するようなときは、meta要素で文字コードを示しておくとユーザーエージェントが文字コードを判別する手がかりになるので、あえてmetaタグを削除する必要はないでしょう。

参考までに.httaccessで文字コード、言語、スタイルシート言語、スクリプト言語などを示す方法を紹介しておきます。以下の例では拡張子が .html か .htm のものに適用されます。

文字コード・MIMEタイプ
Shift_JIS
AddType "text/html; charset=Shift_JIS" .html .htm
EUC-JP
AddType "text/html; charset=EUC-JP" .html .htm
ISO-2022-JP
AddType "text/html; charset=ISO-2022-JP" .html .htm
UTF-8
AddType "text/html; charset=UTF-8" .html .htm
言語、スタイルシート言語、スクリプト言語
mod_headersが有効になっている必要があります。
<Files ~ "\.html?">
  <IfModule mod_headers.c>
    Header set Content-Language: "ja"
    Header set Content-Style-Type: "text/css"
    Header set Content-Script-Type: "text/javascript"
  </IfModule>
</Files>

AddTypeディレクティブ、Headerディレクティブに関しては、以下のページを参照してください。

XHTML 1.1ではmetaタグのhttp-equive属性は使わずに、HTTPレスポンスヘッダを使う方法が推奨されています。

http-equive属性は将来廃止される予定です。

Strict DTDの定義

<!ELEMENT META - O EMPTY               -- generic metainformation -->
<!ATTLIST META
  %i18n;                               -- lang, dir, for use with content --
  http-equiv  NAME           #IMPLIED  -- HTTP response header name  --
  name        NAME           #IMPLIED  -- metainformation name --
  content     CDATA          #REQUIRED -- associated information --
  scheme      CDATA          #IMPLIED  -- select form of content --
  >

Information

現在の位置