フレーム使用の是非について

フレームの使用例 一部のWebサイト(ページ)では、「フレーム」と呼ばれる手法が使われています。フレームとは、図に示すように、ひとつのページを(多くの場合、2つから3つに)分割して、たとえば「ナビゲーション」と「本文」といった具合に機能をわけて表示する手法です(各々、個別のHTMLファイルを読み込んで表示します)。

このフレームですが、コンテンツの本文が長くてスクロールしなければならない場合でも、ナビゲーション部分は常に表示させることができる、というメリットがあります。その一方で、いろいろなデメリットもあります。ユーザビリティのノウハウについて触れている(と称している)サイトには「フレームはなるべく使わない方が良いが、やむを得ず使う場合はいろいろと対策がある(たとえば、<noframes>の記述を工夫することで対処するなど)ので、必要最低限にとどめましょう」という論調のものが少なくありませんが、私は、フレームは絶対に使うべきではないと思います。

フレームを「絶対に」使うべきではない、という根拠として、下記の要素があります。いくつかは昔から言われていることですが、ここで留意しなければならないのは、インターネットユーザー(サイト閲覧者)がフレームを使ったサイトを利用する場合、これらの要素が1つ2つ生じる程度である(だから対処療法的に<noframes>をちゃんと書いていればOK)、というわけではないということです。LPO(Landing Page Optimization)を含めたユーザビリティを損ねることはもちろんのこと、アクセスログの解析にも悪影響を及ぼすので、「ユーザビリティ改善の手がかりになる客観的データが得られない)」→「ユーザビリティを適切に改善することが難しい」→「サイト来訪者のユーザビリティを損ねる」...という負のスパイラルを招くことにもなりかねません。以下、具体的に見てみましょう。

URLを他人に紹介する/お気に入り(ブックマーク)に登録する際の弊害

フレーム使用サイトの中を巡回しても(つまり、上に図示している「コンテンツの本文」が切り替わっても)、ブラウザ(ホームページ閲覧ソフト)のアドレスバーに記されているURLは変化しません(なぜなら、アドレスバーに表示されるURLは、いわば「親フレーム」のURLだからです)。このため、ユーザー(サイト閲覧者)が、「このページ(ある特定の「コンテンツの本文」が開いている状態)を友達に教えよう」と思ってURLを紹介しても、お友達は直接「そのページ(ある特定の「コンテンツの本文」が開いている状態)」にたどり着くことができません。同様に、「そのページ(ある特定の「コンテンツの本文」が開いている状態)」をブラウザのお気に入り(ブックマーク)に登録しようとしても、登録されるのはいわば「親フレーム」のURLなので、多くの場合、そのサイトのトップページが開くブックマークになってしまいます。

プリントアウトにおける弊害

フレームという手法は、複数のHTMLファイルを並べて表示するものです。このため、ブラウザによっては、プリントアウトする際、肝心の「コンテンツの本文」が印刷されない場合があります。

検索エンジン経由で来訪した際の弊害

フレームを構成する個々のHTMLファイルは、当然個別のパス(http://xxx/xxx.html)でアクセスすることが可能です。このため、検索エンジンの検索結果表示(SERPs)で「コンテンツの本文」が紹介された場合、インターネットユーザーがクリックして来訪すると、「コンテンツの本文」だけが(つまりナビゲーション部分が無い状態で)表示されるケースが生じ得ます。本当は「ランディング(着地)したページから、こういう動線を辿って、最終的にはこうして欲しい(たとえば、商品購入の申し込みをして欲しい)」といったシナリオを想定していたとしても、肝心のナビゲーションがなければ、ユーザー(サイト閲覧者)は動きようがありません。LPO(Landing Page Optimization)の観点で見ると、最悪の結果ということになります。

アクセシビリティ上の弊害

視覚障害者が音声ブラウザや読み上げソフトを使用している場合、フレームを構成している個々のHTMLの間を行き来して読み上げることは基本的にできません(個々のHTMLを結ぶリンクがあれば別ですが)ので、たとえば「ナビゲーション(メニュー)部分が読み上げられた場合、そのまま「コンテンツの本文」を読み上げてくれる、というわけにはいきません。

アクセスログ解析における弊害

フレームという手法は、複数のHTMLファイルを並べて表示するものです。このため、ページビュー数のカウントが狂ってきます(たとえば上図のようなフレーム使用ページを開いた場合、親フレームのHTMLと3つのパーツのHTMLを一度に開くことになるため、実質的には1ページビューとして計測されるべきところ、4ページビューと計測されてしまいます)。また、ナビゲーション(メニュー)部分と「コンテンツの本文」が別HTMLになっているため、動線解析(ユーザーが、どのページからどのページに遷移しているか)も正確にできません。

SEO(検索エンジン最適化)の観点での弊害

検索エンジンは、クローラー(ロボット)とよばれる巡回プログラムを通じて、Webサイト(ページ)にちりばめられたキーワードを収集し、情報を蓄積しています。このクローラー(ロボット)が巡回しやすいほど、つまり、サイト内の個々のページがしっかりとリンクで結ばれて行き来しやすいほど、SEO(検索エンジン最適化)では有利と言われています。フレーム使用ページの場合、ナビゲーション(メニュー)部分と「コンテンツの本文」が別HTMLになっているため、個々の「コンテンツ本文」間を行き来することが難しくなります。このため、せっかくクローラー(ロボット)がやって来ても、サイト内のキーワードを収集しきれずにすぐ帰ってしまう、というもったいない結果になりかねません。この弊害は、インターネット利用者の8割が検索エンジンを使用している現状を考えると、サイトの集客力に大きく影響していると言えるでしょう。

いかがでしょうか。これだけ弊害のあるフレーム、まだ使い続けますか...?