フレームとインラインフレームのSEO

フレームは20世紀のホームページでは大いに使用されていましたが現在は余り利用されません。フレームを使ったウェブサイトは検索エンジンに認識されにくいといわれます。なぜ検索エンジンはフレーム全体として把握できないのかという問題はさておき、フレーム使用者のためにSEO対策を考えてみました。他には名前は似てても親戚ではないインラインフレームについての記事も。

ロボット型検索エンジンはフレームが嫌い

ASY!通常のSEOはページ単位で行ないます。ところがフレームは「ページ群」として機能するものなので、元になる親フレームのSEO対策を意識して行なうようにします。
関連項目としてインラインフレームと文字のスパムについても解説します。

フレーム (frameset)

ASY!フレーム形式のサイトは、検索エンジンにコンテンツを上手く見せられない傾向が強くなります。
  例えばナビゲーションページに含まれるコンテンツがどうしても目次だけになるし、 ウェブサイトのトップページが親フレームだった場合、キーワードを効果的な形で盛り込みにくいのです。

ASY!XMLサイトマップを登録する事でフレーム内のコンテンツをインデックスさせることは可能。しかし本当に検索エンジンで上位表示させたいのなら、SEOテクニックを駆使するよりもフレーム形式は止め普通のウェブ構成を採用した方が賢明。

 その点をわきまえた上でフレームページを導入するためのSEO対策を紹介します。 DTDは見えませんが下記はXHTML1.0Framesetの例です。

見えないフレームと隠されたテキスト

ASY!noframesは広告ページ。従来、HTML解説書にはnoframes内に「フレームに対応したブラウザをお使い下さい」などと記入するように書かれていました。HTMLコーディングとしたら正しい用法なのですが、SEO対策としては落第になります。

ASY!親フレームの価値を高められるようにnoframesを活用する、ちょっとしたアイディアをご紹介しましょう。

(DTDからここまで略)
<title>夏虫の王様カブトムシ</title>
</head>
<frameset cols="150,*" frameborder="no" border="0" framespacing="0">
<frame src="menu.html" name="menu" scrolling="No" noresize="noresize" id="menu" title="menu" />
<frame src="main.html" name="main" id="main" title="main" />
</frameset>
<noframes>
<body>
<H1>夏虫の王様カブトムシとクワガタ虫</H1>
<p> 【昆虫採集と甲虫の飼い方、観察記録まであるページ】</p>
<p> 右手に<strong>カブトムシ</strong>左手に<em>クワガタ</em>、僕は近所のちびっ子ヒーローさ。今日も明日も昆虫採集だ。</p>
<p>【夏休み特別企画】<br />
最強王者決定バトルを始めました!</p>
<p>子供たち自慢の昆虫戦士が熱いバトルを展開中!連勝記録更新中の「ゴッキング」に勝てるツワモノは現れるのか?もう面白すぎてトーナメント時間には公園から子供が居なくなるよー。<br />
さあ、このリンクをクリッとして今すぐ見に来てください。</p>
<a href="main.html">白熱 昆虫バトルステージ!最強王者決定トーナメント開催中</a>
</body>

</noframes>
</html>

ASY!ここでのポイントは<W>ゴッキングが何者なのかということじゃなく/W>、noframes内にメインページのコンテンツ紹介を入れた事。
  メインページの関連ページとして認識されると良いので、アンカーテキストも含めキーワードを意識して書くと良い。

フレームセットの自動表示スクリプト

ASY!フレーム全体を表示させるために、まずフレーム内のページを表示させる作戦も検討して下さい。フレームページが検索されるとき、検索語句がフレーム全体にかかっていない限りフレーム内の個々のページがSERPsに表示されてしまい内容だけ見られてしまう。 親フレーム以外が表示された時でもフレームセットを表示させる方法を教えましょう。

<SCRIPT TYPE="text/JavaScript">
<!--
if (window == top) {
top.location.replace("index.html"); } //-->
</SCRIPT>

このジャバスクリプトを親フレーム以外の各ページへ入れて下さい。そうすると、他のページへ検索エンジンからやってきても自動的に親フレームへ切り替わるようになります。index.htmlの部分は親フレームに書き換えて下さい。

ASY!自動表示スクリプトが嫌いな方は次のHTMLで迷える子羊を脱出させましょう。
 <a href="index.html" TARGET = "_top">ホームへ</a>

メモフレームに関する記事はDanny Sullivan氏の記事を参考にしました。

インラインフレーム(iframe)

ASY!インラインフレームを記述する要素はiframeです。ブラウザで見ると表側のページと一体化しているように見えますが、インラインフレーム内のページは別のURIです。
  ifremeは便利で良く使われますがSEOには貢献しないと覚えておいて下さい。

ASY!インラインフレームのタグである<iframe>と</iframe>の間に書かれた文字はブラウザでは表示されない。以前これを利用したスパムがありましたが、現在は対策されています。

ASY!インラインフレームを使わずにアクセスランキングを表示する方法もあります。
SSIを使うと同じページ内の情報として検索エンジンにインデックスされる。なぜかというと、SSIは実行結果をHTMLに吐き出すから。リンクポピュラリティーやテキストマッチにも効果があるから試してみて下さい。

隠す行為はスパム

ASY!スパムといえば色も重要。検索エンジンはプログラムだから色は分らないと思いますよね?確かに色の好みは無いけど、色の構造なら理解できるのです。それで、背景に隠れそうな色で書かれた文字は「怪しい」と考えるようです。

ASY!文字の色を見えにくく調節したり、文字をとても小さくしてキーワードを詰め込むスパム手法が盛んに使われていました。検索エンジンはそんなテクニックが有利にならないようによく考えている。

ASY! 次の英文はGoogleの警告ですが、こう書かれるのはこのような事を実行した人が過去に居たということ。筆者も日本で一度だけクローラー専用ページを見つけたことがあります。ご苦労様です^^;

Don't fill your page with lists of keywords, attempt to "cloak" pages, or put up "crawler only" pages. If your site contains pages, links, or text that you don't intend visitors to see, Google considers those links and pages deceptive and may ignore your site.

「他の場所の著作を引用すればコピー」が原則

ASY!評論や参考のために他所の記事を引用することは筆者もあります。初級SEOスクールでも何度か引用させていただきました。
  そんな場合にはCITE属性やQ要素が用意されているので利用しよう。

メモこれを使うと引用文として認識されるので恐らくテキストマッチから除外されるけれど、こうすればロボット型検索エンジンからコピーページ扱いされずに済みます。 大量に引用することは普通無いので余り気にする事も無いと思います。引用の書式はW3C勧告と正しいHTML書式の実例に書いてある。

SEOスクールフレームとインラインフレーム おわり。 次は SEOとスタイルシート です。