フレームを定義したHTMLに検索結果からアクセスされる可能性は低い
フレームを使ったページは、リンクが得られにくくなるほか、検索サイトからのアクセス者にはデメリットになります。
フレームとは
フレームとは、ブラウザ内を複数の領域に区切って、それぞれの領域に異なるHTMLを表示させる仕組みの事です。
フレームを使って構成すると、以下に挙げるような問題点やデメリットがあります。
SEO/SEMの観点からも、フレームは使わないほうが良いでしょう。
また、本文とメニューとを別々のフレームに分割しているなら、検索サイトからのアクセス者を適切に誘導できなるという点で、LPOの観点からデメリットがあります。
フレームの問題点
ある1つのフレーム内で「ページC」から「ページD」へ移動しても、ブラウザのアドレス欄にあるURLは変わりません。
なぜなら、アドレス欄に表示されるURLは、「フレーム構成を定義したHTML」だからです。
それぞれのフレーム内で実際に表示されているページのURLは、アドレス欄には表示されません。
このように、フレームを使っていると、リンクをクリックしてページを移動してもURLは変化しません。
URLが変化しないので、「現在表示されているフレーム構成」をブックマークしたりリンクした律する事ができない問題が発生してしまいます。
フレームを使った場合のデメリット
検索エンジンが、フレームを使って構成されたWebサイトの情報を検索データベースに登録する際は、フレームを構成する1つ一つのページを個別に登録します。
フレームを使ってメニューと本文とを分割している場合、検索結果に本文側のページのみがヒットした場合は、検索サイトからのアクセス者には、メニューのない状態(本文側のページだけ)が見えることになって今います。
フレーム構成を定義しているファイルも、検索データベースには登録されます。
しかし、フレームを定義しているだけのHTMLには、必要な情報が含まれていないため、検索結果にはなかなか出てきません。最適化キーワードを使って外部リンクがたくさん集まっていればヒットする可能性もあります。
しかし、そうでなければ、フレームを定義したHTMLに検索結果からアクセスされる可能性は低いでしょう。
フレームを使わずに済ます方法
メニューなどのナビゲーションを常に表示させるためにフレームを使っているなら、SSIを活用する事でフレームを使わずに同じ事が実現できます。
もし、CMSなどを使って構築するなら、CMSのテンプレートを使うことでも実現できます。
SSIでは、各ページに合成したい部分だけを独立したファイルに記述しておきます。
この点はフレームを使った場合と似ています。
しかし、SSIの場合は、Webサーバが直接ファイルを合成してブラウザに送ります。
つまり、ブラウザ側から見れば、あたかも「最初から合成されていた」様に見えるわけです。
こうすると、検索エンジンにも問題なく登録されますし、リンクも問題なくできます。
フレームを使っても問題ない場合
基本的にはフレームは使わないほうが良いのですが、次のような場合には使っても問題ありません。
- リンクされる必要のないページ外部からリンクされる必要のない作業用ページなどで、フレームがあったほうが便利な場合は、使っても特に問題ないでしょう。
- フレームの内側でリンクをクリックしないことがわかっているインラインフレームインラインフレームとは、ブラウザそのものを複数の表示領域に分割するのではなく、1ページの内側に別のページを表示させる機能です。ページ内に画像やFlashを貼り付けるのと同じように使えます。
このインラインフレームで、フレーム内部に表示しているページにリンクが含まれていない場合は、フレームのデメリットは殆どありません。 - クリックした結果、フレームを解除して移動する事がわかっているインラインフレームインラインフレーム内部のページをクリックした結果、必ずフレームを解除して移動するよう記述されたインラインフレームなら問題はありません。
アフィリエイとのバナー広告などで使われることがあります。
フレームをどうしても使いたい場合と修正が難しい場合の対処
どうしてもフレームを使いたい場合は、フレームが無くても機能するようなページの作り方をしておきましょう。
その為には、「他のフレームが表示されていないと移動できないページ」をなくします。次の2つの点を考えて作成しましょう。
- フレームを2つに分けて「メニュー側」・「本文側」としている場合は、本文側のページにもページ移動のためのリンクを含めて起きます。
少なくとも、そのページに関連するページへのリンクと、トップページへ戻るリンクは必要です。
他にも、手法ナコーナーへ移動するリンクもあると望ましいでしょう。 - トップページには、全ての主要なコーナーへ移動するリンクを含めて起きます(フレームのメニュー側ページではなく、本文側にも全ての主要なコーナーへのリンクを含めます)。
もしくは、サイトマップを作っておき、そのページへリンクします。
上記のようにしておけば、フレームがない状態で「本文側」のページだけが表示されても、適切に移動が可能になります。
フレームのデメリットは減りますが、完全になくなるわけではありませんから、フレームを使わずに済ます方法を考えるのが望ましいでしょう。