研究室ウェブサイトで多用されるフレームは時代遅れ
仕事柄、大学や研究所などの研究室のウェブサイトを拝見することが多いのですが、未だに良く見かけるのが「フレーム」を使ったサイトです。画面を複数に区切って、タイトルやメニューを同一のファイルで管理できる、あのフレームです。
もはやまともな商用サイトでは全く使われることは無く、昔から運用されている一部の個人サイトでのみ散見される程度となりました。我々制作会社がフレームを用いることも現在はありえません。
しかし、インターネット黎明期からウェブサイトに慣れ親しんで来た一部の研究者の方は、その時点でHTMLの知識が止まってしまっているためか(もしくはただ単に面倒なのか)、フレームを未だに使っている割合が多い傾向にあります。そこで、今回はなぜフレームを使ってはいけないのかを解説します。
フレームは既に廃止されている
現在主流のHTML5ではフレームは廃止されています。さらに、一世代前のHTML4.01やXHTMLでもフレームは非推奨とされています。廃止されたり、非推奨のものをあえて使う必要はありませんし、もし今使っているのであれば、すぐに改めたいところです。
Googleにフレームページを見つけてもらえない
トップページである、index.htmlにはフレームセットのための情報しか入っていないため、その他のページをGoogleをはじめとする検索エンジンに見つけてもらえません。Googleに見つけてもらえないということは、検索しても検索結果に現れない、つまりインターネット上に存在しないこととほぼ同じことです。
閲覧者が迷子になってしまう
運良くGoogleにメインページ(コンテンツのあるページ)を見つけてもらったとします。しかし、検索結果からそのページヘ誘導されたとしても、メニュー側のフレームが表示されないことが多いので、そこから他のページに移ることができず迷子になってしまいます。すると閲覧者が取る行動はというと…、止む無くブラウザの戻るボタンで検索結果に戻るしかないのですね。せっかく研究に興味を持ってくれた貴重なユーザーが離脱してしまうことになります。
URLがずっとトップページのまま
トップページから他のページヘ移動しても、アドレスバーがずっとトップページのままで、変化しません。トップ以外のページのURLを他の人に周知したくてもできないのです。不便ですね。
フレームの代替策
以上、フレームのデメリットばかりを強調してきましたが、1つのファイルを書き換えるだけで全てのページでのメニュー項目を変更できるのはとても便利です。そこで、その代替策をご紹介します。
まず、主流なのはSSI(Server Side Include)を用いる方法でしょう。HTMLソースに
<!--#include file="nav.html" -->
などと記述することにより、フレームのようにグローバルナビゲーション(上ではメニューと言っていますが、今はこれが正しい言い方です。)やヘッダー、フッターなどを別のファイルで管理できるようになります。しかし、SSIはサーバーが対応している必要があり、研究機関の自前のサーバーでは未だ対応してないところが多くあるので、事前にサーバー管理者への確認が必要です。また、他にもPHPを用いる方法もあります。
最も無難なのは各ページで共通している部分もそのまま各ファイルに直に書いてしまうことでしょう。更新するときは、ホームページ作成ソフトの一括置換機能を用いれば一回の操作ですみます。(Dreamweaverですと、編集 > 検索/置換 で出てくる小窓の「すべて置換」でできます。)この機能が無いソフトをお持ちの場合は、複数ファイルを一括置換してくれるフリーソフトもあります。
最後に
以上、フレームが時代遅れであることについて解説してきましたが、ご不明な点やご相談がありましたら、メールにてご連絡ください。