フレームページは一つのページに、複数のページを埋め込むために使います。
たとえば左にメニュー、右にメニューの選択によって表示を変える内容といった配置です。
通常のbody要素ではなく、 frameset要素 がメニュー、内容の部分を囲います。
サンプル
<html>
<head>
<title>サンプルページ</title>
</head>
<frameset cols="100,*">
<frame name="menu" src="./01m.html">
<frame name="contents" src="./01c.html">
</frameset>
</html>
なお、メニュー部分のリンク設定では通常表記だとメニュー部分にリンク先が表示されるので、
a要素には必ずtarget属性を記述し属性値を、表示したい側のフレーム名にします。
<a href="./contents.html" target="contents">top</a><br><br>
<a href="./profile.html" target="contents">自己紹介</a><br><br>
<a href="./diary.html" target="contents">日記</a><br><br>
<a href="./link.html" target="contents">リンク</a>
フレームの利点
フレームを使わない場合、すべてのページにメニューも作成しなければならず、作成段階では非常に手間がかかります。保守時も注意が必要です。一方、フレームを使えば切り替えるページのみを更新すればよく、それ以外のメニュー等の画面は更新する必要がないので。作り手側にとっては手間が省け、特にページ数が多くなったとき、管理の面から飛躍的にページ作成や更新の効率が上がります。
フレームの欠点
利用者の多くは検索エンジン経由でページを訪れますが、検索エンジンで多くヒットするのはフレームページではなく、フレームによって関連づけられた本文のある各ページです。しかしこのページにはトップや他のページに移動するためのメニューがなく、利用者はそのページ以外見ることができません。これではサイト内の関連情報を必要に応じて利用者の提供することができません。フレームページが検索サイトにヒットしないのはフレームページの内容が単なる関連づけの情報しか書かれていない構造によるので工夫の仕様がなく、フレーム利用の最大の欠点です。