SEMリサーチ

企業で働くウェブマスター向けに、インターネット検索やSEOの専門的な話題を扱います

SEO と フレーム - Frame 問題の解決方法

SEO においてフレームで構築されたWebサイトはよく問題にされます。これは検索エンジンとフレームは非常に相性が悪く様々な問題を引き起こすからです。既にフレームを使っていてリニューアルもすぐにはできない人はどうすればよい?

SEOにおけるフレーム対策

アクセスログを見ていますと、サイト内検索を使って記事を探されている方にフレーム対策を求めている方が少なくありませんでした。フレームと SEO - よく話題にされる事項ですが、実は今までこの blog では取り扱ったことがありませんでした。。

そんなわけで本日は SEO とフレームの問題について話を進めましょう。

SEO初心者の方も少なくありませんので、Web制作者の方には「もうくどい」と思われる説明が前半部分にありますがご容赦下さいm(_ _)m。

フレームは frameset 定義をすることで複数のファイルを1つのウインドウ内に表示する機能です。例えば次のようなWebサイトがフレームを利用しています。

例1 毎日新聞

http://www.mainichi.co.jp/

例2 ZAKZAK

http://www.zakzak.co.jp/

例3 特価.com

※ いずれも 2003/09/22 時点

一般的にWebサイトにフレームが利用されるのは、特に例2、例3であげたようにWebのナビゲーション部分とコンテンツ部分を別に管理する時です。フレームを使う事で常に画面上に(画面をスクロールしても)ナビゲーションを常に画面上に表示できますし、Webサイトのメンテナンス面でも楽だからです。

一見便利に見えるフレームも検索エンジン対策では問題になります。第1に、frameset を定義する HTML ファイル自体には、どのファイルを画面上に読み込むかの記述はあってもコンテンツ自体はありません。従って検索エンジンのクローラーがこの frameset ファイルを読み込んでも与える情報がありません。従ってWebページの評価が下がります。

第2に、コンテンツの増加に伴ってどれだけWebサイト内のページ数が増加しても、最適化できるファイルは frameset 定義されたファイルに限られてしまいます。なぜなら、フレーム内で読み込まれるWebページはそれ単独で表示させるわけにはいかないからです。先述した例2、例3のようにナビゲーション部分を別ウインドウに頼っている場合はなおさら単独表示させるわけにはいきません。もしフレームを使わなければWebサイト内のページボリュームを増加させる事ができるのに、フレームでWebサイト構築を行う事で制約ができます。これもフレームがSEO対策を困難にさせる一因となります。

さらに第3点。仮にフレーム内で表示されるべきある特定のファイルが上位に表示されてトラフィックを誘導できたとしましょう。しかし上述した通りナビゲーション部分がそのページ自体に存在しなければ、訪問者は検索エンジン経由で訪れたそのページから他に移動する事はできません。もしリンクがあってそれがクリック可能であったとしても、フレーム外で表示されている為に制作者が意図した通りに画面を表示できない可能性が高くユーザビリティを大きく損ねます。これは結果的に訪問者の離反を招きます。

第4点は SEO 以前の問題で、訪問者が好んだ特定のページをお気に入り(ブックマーク)できないという問題です。フレームサイトは常にある特定のURL (例えば index.html)上で表示されており、どのコンテンツを開いてもこの URL は変わりません。従って、訪問者がWebサイト内で特定のページを後日訪問するためにお気に入りに登録しても frameset を定義する index.html しか登録できないので、後日再び同じページに訪問するのが困難になります。

このようにフレームサイトはユーザビリティ及びSEOの観点どちらからもよくありません。

解決策としてフレームを除去するのが一番です。フレームを利用しないWebサイトで再度検索エンジン最適化を施すのが一番ベストである事は事実です。しかし、既にWebサイトをリニューアルしたばかりであるとか、リニューアルする為のお金がないなど、当分の間いまあるフレームWebサイトを運用しなければならない方もいるでしょう。

そこで解決策。

1つ目。frameset 定義をするファイルの、タイトルタグ、及び META タグをきちんと記述しましょう。これは基本です。トップページの内容に沿った適切なタイトルタグと META タグを設定して下さい。たくさんのキーワードで最適化をしようとしないで下さい。1つのページで最適化可能なキーワードの数は多くても3つ程度です。

2つ目。frameset 定義するファイルに <noframe> 〜 </noframe> を入れて下さい。<noframe> はフレーム表示非対応のブラウザでアクセスしてきた訪問者に対して表示するためのものですが、これはクローラーも内容を読み取ります。

フレームで表示するトップページの、非フレーム版のWebサイトを制作すると考えてこの <noframe> 〜 </noframe> 内に記述して下さい。テキスト中心で作成すればよいので、検索エンジンに好まれるような作り方を心がけて下さい。でもクローラーしか見ないからといってスパムぎりぎりの行為は慎むことです。

3つ目。クローラーは本来フレーム内で表示されるべきファイルをデータベースに登録してしまっており、訪問者は検索エンジン経由でそのファイルにアクセスするかもしれません。その時は自動的に frameset タグを読み込んでもらうようにしましょう。


<BODY onLoad="if (parent.frames.length==0)

top.location='http://(あなたのドメイン/URL)/(frameset を定義しているファイル名)';" >

このHTLMコードを全てのページに埋め込むことで解決します。

以上の解決策をとることで、フレームを使っているWebサイトでもある程度の検索エンジン対策は可能です。

COPYRIGHT © 1997-2020 渡辺隆広(わたなべ たかひろ) ALL RIGHTS RESERVED.

SEMリサーチ(www.sem-r.com)に掲載している文章及び図版の無断使用及び転載を禁じます。著作権侵害行為には厳正に対処します。

免責事項:SEMリサーチは、本記事中で触れている企業、商品、サービスの全て(情報)について、有用性、適合性、正確性、安全性、最新性、真実性に関する一切の保証をしておりません。各自の判断でご利用下さい。