meta要素とは何か?

meta要素とは、ウェブページの性質や管理情報などのウェブページ自体の情報であるメタデータを指定するための要素だ。meta要素の属性では、メタデータのプロパティ名、値、形式などを指定できる。著作者やキーワードなどをメタデータのプロパティ名として、プロパティ名に対する実際の情報を値に記述する。これらの情報はもちろんbody要素の内容としても書けるが、それでは閲覧者は理解できてもユーザーエージェントは理解できない。meta要素は、ブラウザやロボットなどのユーザーエージェント自身も理解できる形で様々な情報を提供したり、その動作を指示したりできる要素なわけだ。といっても、積極的に利用されてるメタデータってのはそんなにないけどな。

meta要素の属性

下記以外に、汎用属性のlang属性とdir属性が使用可能だが使うことはまずないでしょう。

name="メタデータのプロパティ名"
name属性には、author(著作者名)、keywords(キーワード)、description(ページの要約)などの、メタデータのプロパティ名を指定する。content属性と組み合わせて様々な情報を提供できる。
http-equiv="HTTPヘッダ用のプロパティ名"
メタデータをHTTPヘッダとして送信したい場合は、name属性ではなくこの属性を使用する。この属性は、サーバにHTTPヘッダとして送信するよう指示するが、対応しているサーバは少ないようで、実際はUA(ブラウザ)側がこの要素の内容をチェックし、それなりの動作をしている模様。
content="メタデータの値"
name属性あるいはhttp-equiv属性と一組で使用し、メタデータのプロパティ名に対する値を指定する。
scheme="値の形式"
メタデータの値を正しく解釈するための情報を記述する。これもあまり使わないと思われる。

記述方法

meta要素はhead要素の子要素としてのみいくつでも記述できる。基本的に、meta要素の属性で、メタデータのプロパティ名と値を一組として指定する。メタデータのプロパティ名には、メタデータの値が示すものは何かを記述し、値にはそのプロパティ名に対する実際の情報を記述する。例えば、ウェブページの著作者を記述する場合は下記のようになる。

<meta name="author" content="Teal">

例ではname="author"でメタデータのプロパティ名は著作者であると指定し、content="Teal"でその値は Teal と指定している。

種類と記述例

meta要素で指定できるメタデータのプロパティと値の組み合わせにはどんなものがあるのか…。実は特別に定義されていない…というか、誰でも自由に定義していいらしい(もちろん、HTTPヘッダの場合はHTTPヘッダとしての正しい書き方ってのがある)。しかし、自由に定義していいと言っても、UAがそれに対応していなければ意味はない。そんなわけで、主に、現時点でよく利用されているか利用されていなくてもよく見かけるものと、指定しておいた方が良いプロパティの種類と記述例を書いておく。

ブラウザ向けの情報

表示言語文字セット
<meta http-equiv="Content-Type" content="text/html;charset=Shift-JIS">

ウェブページを表示する際の文字セットを指定する。日本語の文字セットは、Shift-JISの他に、iso-2022-jpEUC-jpなどがあるが、Shift-JISを指定しておけば問題ないだろう。文字セットを明示的に指定していないと文字化けの原因になることがあるので、文書内で日本語が現れる前に指定する必要がある。できれば、head要素の開始タグ直後に指定しておきたい。

ページを自動的にリロードさせる
<meta http-equiv="refresh" content="10">

値で指定した時間(例では10秒)が経過すると、そのページを再びロードするよう、ブラウザに指示する。すべてのブラウザでサポートされている機能ではないが、代表的なブラウザならまず問題ない。

違うページを自動的にロードさせる
<meta http-equiv="refresh" content="10; URL=ロードさせるページのURL">

値で指定した時間(例では10秒)が経過すると、URLで指定したページをロードするよう、ブラウザに指示する。すべてのブラウザでサポートされている機能ではないが、代表的なブラウザならまず問題ない。

ページ切り替え時に効果をつける
<meta http-equiv="発生時期" content="RevealTrans(Duration=動作時間,Transition=効果の種類)">

IE4.0以降では、トランジションフィルタという独自機能を利用して、ページ切り替え時にウィンドウ全体にビジュアル効果をつけることができる。"発生時期"には、Page-Enter(ページの読み込み)、Page-Exit(ページの終了)、Site-Enter(サイトの読み込み)、Site-Exit(サイトの終了)のいずれかを記述し、効果の発生時期を指定する。"動作時間"には、効果の開始から終了までの時間を秒数(最大30秒)で指定する。動作時間が短か過ぎると効果が見えないが、長過ぎると閲覧者を待たせることになってしまうので、2〜3秒が適当だろう。"効果の種類"には、数字で 0 から 23 までのいずれかを記述し、発生させるトランジションを指定する。

実際に使用する際は下記のように記述し、head要素内のなるべく上の方で指定した方がいい。下の方で指定するとうまく動作しないことがあるからだ。下記の例では、ページを読み込んだ時に Circle in、ページを終了した時に Circle out の効果をそれぞれ2秒間つけるように指定している。IE4.0以降以外の、この機能をサポートしていないブラウザはこの情報を無視するだけなので、ページのアクセントとして使用するの良い。ただし、ページ切り替えの度に効果がつくのは鬱陶しいので、サイトの読み込みと終了の時くらいにしておきたい。あるいはトップページのみとか。

<meta http-equiv="Page-Enter" content="RevealTrans(Duration=2,Transition=2)">
<meta http-equiv="Page-Exit" content="RevealTrans(Duration=2,Transition=3)">

トランジションの種類と値は下記の通り。サンプルの動作時間はすべて2秒。サンプルページで効果を確認できるのはIE4.0以降のみです。

トランジション名説明とサンプル
Box in0四角くフェードイン/アウト
Box out1
Circle in2円くフェードイン/アウト
Circle out3
Wipe up4上下カーテン
Wipe down5
Wipe right6左右カーテン
Wipe left7
Vertical blinds8左から/上からブラインド
Horizontal blinds9
Checkerboard across10左から/上から格子状ブラインド
Checkerboard down11
Random dissolve12ランダムノイズ
Split vertical in13中開きカーテン横
Split vertical out14
Split horizontal in15中開きカーテン縦
Split horizontal out16
Strips left down17左下/左上方向へカーテン
Strips left up18
Strips right down19右下/右上方向へカーテン
Strips right up20
Random bars horizontal21縦/横の棒状ノイズ
Random bars vertical22
Random23 0 〜 22 からランダム

検索エンジン向けの情報

ウェブページの要約
<meta name="description" content="要約">

ウェブページの要約となる説明文を記述する。説明文の長さは全角80文字程度までが適当。検索エンジンによっては検索結果にこの説明文が表示されるものもある。検索サービスの利用者はこの説明文をアクセスの判断基準とする場合があるので、分かり易く魅力的で正しい説明文にすることが肝心。

ウェブページのキーワード
<meta name="keywords" content="キーワード1,キーワード2,キーワード3">

ウェブページのキーワードとなる語句を半角のカンマ”,”で区切って必要なだけ書く。検索エンジンによってはキーワードを指定することによって、検索結果に積極的に反映させることができる。キーワードは、body要素内に実際に記述してあるものを書く。それ以外のキーワードを書いたり、同じキーワードを何度も繰り返し書くと、ウェブページ自体を検索の対象から外されることもある。また、キーワードの数があまりにも多いとキーワードを無視される場合もあるので注意しよう。なお、キーワードは出現順に重要視される傾向がある。

検索ロボットへの巡回指定
<meta name="robots" content="そのページの登録指定,そのページからの巡回指定">

検索エンジンのロボットに、そのページの検索エンジンへの登録と、そのページからリンクしているページへの巡回を指定する。"そのページの登録指定"には、INDEX(登録を許可する)、NOINDEX(登録を許可しない)、のいずれかを記述し、"そのページからの巡回指定"には、FOLLOW(巡回を許可する)、NOFOLLOW(巡回を許可しない)、のいずれかを記述する。meta要素でこれを指定しない場合は、ロボットは自動的に全ページの登録及びリンク巡回を行う。

ウェブページ自体の情報

著作者名
<meta name="author" content="著作者名">

サイト名、本名、ペンネーム、ハンドル、会社名、店名など、好きなように。たまには役に立つこともある。

著作権
<meta name="copyright" content="Copyright (c) 2003 Teal">

パクリや無断転載に対して多少の牽制にはなるかな…。

ウェブページ作成ソフト名
<meta name="generator" content="ウェブページ作成ソフト名">

市販ソフトがよく勝手に書いてくれる。いらんちゅうの!

ウェブページの性質

ウェブページのサービス提供対象範囲
<meta name="coverage" content="サービス提供対象範囲">

ウェブページで扱っている商品やサービスを提供する対象となる範囲を指定する。世界中が対象なら worldwide、日本国内であれば Japan と記述。

ウェブページの地理的対象範囲
<meta name="Targeted Geographic Area" content="地理的対象範囲">

ウェブページが対象とする地理的な範囲を指定する。日本が対象であれば Japan、アジアが対象であれば Asia と記述。

ウェブページのカテゴリ
<meta name="classification" content="カテゴリ名">

ウェブページが属するカテゴリを指定する。general, business, computers, entertainment, internet, miscellaneous, personal などを記述。

ウェブページの閲覧対象年齢層
<meta name="rating" content="閲覧対象年齢層">

ウェブページが対象とする利用者層を指定する。全ての年齢層が対象であれば general、子供向けであれば child、大人向けであれば adult、子供が見ても良いと特に指定したいなら safe for kids などと記述。

Copyright (c) 2003-2006 Teal All Rights Reserved.