meta要素(generic metainformation)は文書の制作者、制作年月日、説明、キーワードなどの文書の付加情報を記述したり、閲覧時に文字化けを防ぐ文字コード(符号化方法)などの HTTPヘッダの追加情報を設定したりと当該文書に関する様々な情報(メタ情報)を示します。終了タグはなく、内容をもたない空要素です。
name属性には標準となるプロパティのリストはなく、文書制作者が好みに応じてどの様な文書の情報でも定義できます。http-equiv属性で定義した情報は HTTPヘッダ(ファイルを読み込む際に UA とウェブサーバーの間で交わされるメッセージ)の追加情報となります。name属性, http-equiv属性の対になる情報を content属性で定義します。ゆえに、content属性は必須属性です。
name属性や http-equiv属性で指定したプロパティの値を指定します。meta要素の必須属性です。半角アルファベットの大文字・小文字を区別する(case-sensitive)ので厳密な指定が必要です。
name属性の代わりとして働き、HTTPヘッダの付加情報となります。HTTPサーバー(ウェブサーバー)が指定された情報を収集するために用い、UA が適切に処理を行うための情報となります。たとえば、検索エンジンのロボットやウェブブラウザなどの UA がその文書が記述されている文字コードや MIMEタイプ を適切に処理できるように明示する場合は次のように記述します。
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
この記述により UA が文書を読み込むと同時に文書形式は "text/html"、記述されている文字コードは "Shift_JIS" という情報を UA に与えることができ、ユーザーの閲覧時や検索エンジンのロボットがウェブページの情報を収集(インデックス)する際の文字化けを防ぐことに役立ちます。http-equiv属性は他にも次のような場合にも使用します。http-equiv属性の値は半角アルファベットの大文字・小文字が区別されません(case-insensitive)。
<meta http-equiv="Content-Script-Type" content="text/javascript"> <meta http-equiv="Content-Style-Type" content="text/css">
文書を読み込んだ際に文書内で使用しているスクリプトやスタイルを UA が正しく認識できるように指令しています。"Content-Script-Type" がスクリプト、"Content-Style-Type" が制作者スタイルシートの MIMEタイプを定義しており、content属性の値は、スクリプトに JavaScript(text/javascript)を、スタイルシートには CSS(text/css)を使用していることを明示しています。
<meta http-equiv="refresh" content="10">
"refresh" は UA に対して文書の再読込を行うようにする指令で、content属性の値には何秒おきに再読み込みさせるかを指定します。この機能をクライアントプル(Client Pull)と呼びます。この指定をさらに拡張して、content="10;url=http://w3g.jp/new/" のようにコロン(;)に続いて、「url=」の書式で再読み込み後に指定の URI にリダイレクトさせることもできます。このクライアントプルには Netscape Navigator 2.0, Internet Explorer 3.0 のバージョンより対応しています。
<meta http-equiv="pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache">
"pragma" は HTTP/1.0準拠の UA を対象とし、"Cache-Control" は HTTP/1.1準拠のUA を対象とする指令で、この例ではどちらも UA に対してキャッシュ(cache)の制御を行う命令をしています。content属性の値の "no-cache" はキャッシュしないという処理内容です。これはウェブブラウザなどの UA にはレンダリング速度を速めるために、一度表示したデータをハードディスク内に一時的に保存しておき、次に表示するときにはウェブサーバーから再度ダウンロードするのではなく、ハードディスク内のデータをそのまま表示する機能があり、頻繁に更新する文書においては、キャッシュ機能は好ましくないのでキャッシュさせたくない場合に使用します。ただし、この指定で UA がキャッシュを無効にするかどうかは、各 UA の振る舞いに依ります。また、この指定が有効なのは当該文書内の HTML やテキストのデータのみで、当該文書内に使用している画像ファイルなどには働きかけないようです。
なお、XHTML1.1 では http-equiv属性の指定は全て HTML互換のため指定自体が推奨されていません。このため文字コードや MIMEタイプ、リダイレクト、キャッシュの制御などは HTTPヘッダの追加情報として設定するのではなく、直接、HTTPヘッダ情報として定義する必要があります。そこで、httpd.conf や .htaccess を使います。サーバーソフトウェアに Apache を利用しているウェブサーバーであれば、レンタルサーバーの形式でスペースを借りている各ウェブサイト管理者の方でも .htaccess の利用が可能な場合もあります。
AddType "text/html; charset=Shift_JIS" .html AddType text/css .css AddType text/javascript .js Redirect permanent /old/ http://w3g.jp/new/ <Files ~ "\.(html|htm)$"> Header set Pragma no-cache Header set Cache-Control no-cache </Files>
たとえば、上記のように http-equiv属性の指定はすべて代替が可能で、httpd.conf や .htaccess で直接、HTTPヘッダに設定した方が確実です。
文書の著者名や内容の説明、キーワードなどの文書に関するプロパティを指定します。半角アルファベットの大文字・小文字を区別する(case-sensitive)ので厳密な指定が必要です。一般的によく指定されている name属性には次のようなものがあります。ただし、これらの設定は正式な仕様ではなく、文書制作者が好みに応じてどの様な文書の情報でも定義することができます。
<meta name="author" content="上田 遼">
"author" は文書の著者(作者)を示し、content属性の値にその文書の著名名を記述します。
<meta name="description" content="HTML reference">
"desicription" は文書の内容説明を示し、content属性の値にその文書の内容を簡潔に表した説明文(要約文)を記述します。Yahoo! や Google などの検索エンジンでは、この要約文が検索結果に表示されるウェブページの説明部分(スニペット)にもなります。
<meta name="keywords" content="HTML,XHTML,reference">
"keywords" は文書のキーワードとなる語句を示し、content属性の値にカンマ(,)区切りでキーワードとなる単語を複数記述します。その文書の内容に実際に記述されていないキーワードや、同一キーワードを繰り返し記述しても意味はありません。
<meta name="ROBOTS" content="ALL">
"ROBOTS" は検索エンジンロボットに対する指示で、content属性の値にページの登録とリンク先を辿る可否を指定します。このロボットの動きを制御するプロパティについては属性の値は大文字で記述するのが正式とされます。特に指定がなければ検索エンジンロボットは自動的にウェブページの情報を収集し、そのウェブページ内のリンク先を辿って、他のウェブページの情報を収集するのでフレームのメニューページやポップアップページなどの検索でユーザーに直接飛んでこられては困るようなウェブページ以外は、このロボットの行動を制御する記述を行う必要はありません。
| ページ登録 | リンク先を辿る | タグの表記例 |
|---|---|---|
| ○ | ○ | <meta name="ROBOTS" content="ALL"> |
| ○ | ○ | <meta name="ROBOTS" content="INDEX,FOLLOW"> |
| ○ | × | <meta name="ROBOTS" content="INDEX,NOFOLLOW"> |
| × | ○ | <meta name="ROBOTS" content="NOINDEX,FOLLOW"> |
| × | × | <meta name="ROBOTS" content="NOINDEX,NOFOLLOW"> |
| × | × | <meta name="ROBOTS" content="NONE"> |
<meta name="generator" content="TeraPad">
"generator" は文書作成時に使用したソフトウェア(HTMLエディタやテキストエディタ、CMS など)を示します。content属性の値に使用したソフトウェアの名称を記述します。
name属性と content属性に指定されたプロパティの値を解釈する際のスキーム(プロパティの値を正確に解釈するための追加的な情報)を示します。半角アルファベットの大文字・小文字を区別する(case-sensitive)ので厳密な指定が必要です。たとえば文書の作成日を name属性の値に "creation-date" と指定して、その日時を content属性の値に "05-09-26" と示した場合、scheme属性の値は "05-09-26" という数字の羅列されただけの情報を文書の作成日として意味が通るように "year-month-day" と補足することができます。現状では、ほとんど活用されておらず、実際のところ UA の対応についても不明です。
<meta name="creation-date" content="05-09-26" scheme="year-month-day">
このように独自の一般的ではないプロパティを定義しても、一応は scheme属性で文書を処理するソフトウェアがその内容を理解できるように補足情報を付けることができます。
http://w3g.jp/xhtml/dic/meta実績:大阪学院 入試サイト New! / 三田市民病院 / 神戸女学院大学 入試サイト / 釣りサンデー