SEO対策についての質問

このQ&Aのポイント
  • TOPページのhtmlがすべてIFRAMEで呼び出される場合、テストのようなリンクはSEO的に効果があるかどうか
  • テストのようなリンクはスパム行為とみなされるのか
  • IFRAME内に記述してもSEO的に効果はないのか
回答を見る
  • ベストアンサー

SEO対策について

単純な質問かもしれませんが、 以下のようにTOPページのhtmlがあったとし、TOPページはすべてIFRAMEで呼び出されるようになっています。 <html> <head> <title>質問用</title> </head> <frameset rows="85,1*,60" frameborder="NO" border="0" framespacing="0"> <frame src="111.htm" name="5555" SCROLLING="no"> <frame src="222.htm" name="6666"> <FRAME SRC="333.htm" NAME="7777" SCROLLING="no" frameborder=0 noresize MARGINWIDTH=0 MARGINHEIGHT=0> </frameset> <a href="http://abcabcabac12.com/">テスト</a><br /> </html> ここで質問です。 上記のように<body></body>は記述せず、テストのようにリンクを張った場合、これはTOPページには表示されませんが、SEO的には効果はあるのでしょうか。また、これはスパム行為なのでしょうか。 最後となりますが、IFRAME内に記述してもSEO的には何の効果もないと言われたのですが本当でしょうか。 詳しい方宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • einn
  • ベストアンサー率37% (671/1802)
回答No.1

基本的にIFRAMEはSEO的にNGです。 なぜなら、1ページの中に、SEOの要素となるタグが入っていないからです。 いやTITLEとかmetaとか、それもSEOの要素ですが、 それ以上にh1とかstorongとか、そういったタグを入れませんよね。 肝心の上位表示させたいキーワードがbody中にも含まれない、 つまり検索エンジンが認識できるキーワードが減るからということです。 フレーム内で同時表示させる各ページですが、 これはセットではなく「それぞれが別々のページ」としてカウントしています。 つまり、IFRAMEで画面を左右に2分割している場合、 (1)クソも情報がないIFRAMEだけのページ、 (2)2分割の左側のページ (3)2分割の右側のページ と、それぞれ別々に検索エンジンがインデックスしています。 SEOの効果もそれぞれ別ですので、 上の(1)についてはまったくSEO効果がないままということです。 ですからそれぞれ別々に検索エンジンにインデックスされているということは、 下手をすると(2)や(3)のほうが上位に表示されて、 検索結果でクリックしたらIFRAMEをすっとばして片側だけ全画面表示される、 という可能性もありえます。実際にそういうサイトはたくさんありますから。 あとbodyをすっ飛ばしてよいか、ということですが、別に問題はないと思います。 そもそも文章表示させる為の機能ではありませんから。 IFRAME内に記述してもSEO効果がない、というのは本当です。 SEO効果のあるタグというのは決められていまして、 簡単にいうなれば、タグに囲まれた文章が【人の目に触れる文字】 であることが最重要の条件です。 つまり、見えないようにした文字はmeta以外一切SEO効果がありません。 そして、本来見える文字を故意に見えなくする場合、 colorなんかで背景色に隠しちゃう場合なんかはNGです。 ともあれ、SEOを気にするならば大至急IFRAMEをやめることですね。

ariga10564
質問者

お礼

大変わかりやすかったです。 長文感謝します。 ありがとうございました。

その他の回答 (1)

noname#132800
noname#132800
回答No.2

frameとかframesetはw3cでは非推奨で、次回のHTML5は「次に挙げる要素もまた HTML5 に存在しません。これらの要素はユーザビリティやアクセシビリティに影響するからです。」 今から frameは使用しないほうがいいかも知れません。SSIなど変わりに検討したらどうでしょうか。 http://www.google.com/support/webmasters/?hl=ja googleの場合ですが、参考に。

ariga10564
質問者

お礼

そういえばSSIもありましたね。 ありがとうございました。参考になりました。

関連するQ&A

  • 変動する場合のiframeの高さ指定について

    横2つに分けたページ(index.htm)があり、スクロールバー非表示にしてあります。 左(left.htm)右(raight.htm)にそれぞれiframeが入っていて、これにスクロールバーが表示されます。 この時、ウィンドウの大きさを変えても常に一番最後までスクロールできるような高さ指定の方法はありますでしょうか? なにか良い知恵がありましたら教えてください。 よろしくお願いします。 --index.htm <html> <head> <title>サンプル</title> </head> <frameset rows="*" cols="220,*" framespacing="0" frameborder="no" border="0"> <frame src="left.htm" name="left" frameborder="no" scrolling="no" noresize> <frame src="raight.htm" name="raight" frameborder="no" scrolling="no"> </frameset> <noframes> <body></body></noframes> </html> --left.htm <html> <head> <title>左</title> </head> <body bgcolor="#66CCFF"> <div align="center"> ここにメニュー<br>ここにメニュー<br>ここにメニュー<br> ここにメニュー<br>ここにメニュー<br>ここにメニュー<br> <iframe src="in_left.htm" name="in_left" width="190" height="100%" frameborder="0" scrolling="auto"></iframe> </div> </body> </html> --raight.htm <html> <head> <title>右</title> </head> <body bgcolor="#FFFFCC"> ここにリード文<br>ここにリード文<br>ここにリード文<br> ここにリード文<br>ここにリード文<br>ここにリード文<br> <div align="center"> <iframe src="in_raight.htm" name="in_raight" width="90%" height="100%" frameborder="0" scrolling="auto"></iframe> </div> </body> </html>

    • ベストアンサー
    • HTML
  • フレーム分割した全体をスクロールバーで動かせないでしょうか?

    フレーム分割したホームページをスクロールバーで上下したいのですが、書き方が分からなくて困っています。お分かりになる方がいらっしゃいましたら、教えて下さい。 尚、当方htmlでようやく簡単なページが作れるレベルです。宜しくお願い申し上げます。 尚、フレームの割り方が違う時はそちらもお教え下さいませ。 <HTML><HEAD> <META Http-Equiv="Content-Type" Content="text/html;charset=Shift_JIS"> <TITLE>フレーム分割</TITLE></HEAD> <FRAMESET Rows="195,*,50" Frameborder="1"> <Frameset cols="10%,80%,10%" Frameborder="1"> <FRAME Src="./frame1.html" name="f1" Scrolling="no"> <FRAME Src="./frame2.html" name="f2" Scrolling="no"> <FRAME Src="./frame1.html" name="f3" Scrolling="no"> </Frameset> <Frameset cols="10%,20%,60%,10%" Frameborder="1"> <FRAME Src="./frame1.html" name="f4"> <FRAME Src="./f001.html" name="f5" scrolling="no"> <FRAME Src="./f002.html" name="f6" scrolling="no"> <FRAME Src="./frame1.html" name="f7"> </Frameset> <FRAME Src="./end.html" name="f8" scrolling="no"> <NOFRAMES>恐れ入りますがフレーム対応ブラウザでご覧下さい</NOFRAMES> </FRAMESET> </HTML>

    • ベストアンサー
    • HTML
  • 改・キーボードナビゲーション

    http://oshiete1.goo.ne.jp/kotaeru.php3?q=762151 にて質問し、解決したに見えたのですが、確認もせず閉じた為、再度投稿させて下さい。 ページトップにフレームファイルを置き、 <frameset cols="250,*" frameborder="0" framespacing="0"> <frameset rows="16,*" frameborder="0" framespacing="0"> <frame src="***.html" name="0" SCROLLING="NO" NORESIZE> <frameset rows="25,*" frameborder="0" framespacing="0"> <frame src="***.html" name="1" SCROLLING="NO" NORESIZE> <frameset rows="51,*" frameborder="0" framespacing="0"> <frame src="***.html" name="2" SCROLLING="NO" NORESIZE> <frame src="***.html" name="3" SCROLLING="NO" NORESIZE> </frameset> </frameset> </frameset> <frame src="***.html" name="4" SCROLLING="NO" NORESIZE> </frameset> とします。 NAME“0”のページがメニューで、ここをクリックするとNAME“1”に開かれる仕組みです。 NAME0に、 function checkNavigation() { if(event.keyCode==49)location.href="NAME1に開くページ"; } window.document.onkeydown = checkNavigation; と書きます。 前投稿では、「1.location.~」とすればOKだとなっていたのですが、確認した所何故か機能しませんでした。 NAME0をアクティブページにして“1”を押下してみたり、試して見たのですが駄目でした。 どうしたら良いのでしょうか。お願いします。

  • frame をセンタリングしたい

    お世話になります。 Frameを2つ表示するhtmlを作成しているのですが、 2個目の「src="Window_2.HTM」をセンタリングして 表示したいのですが、どのように記述を変えれば よいでしょうか? お手数ですがなにとぞよろしくお願いいたします。 ///////////作成ソース/////////// <frameset rows="45,*" frameborder="NO" border="0" framespacing="0"> <frame src="Window_1.HTM" name="menuhead" frameborder="no" scrolling="NO" marginheight="0" > <frame name="menumain" src="Window_2.HTM"> </frameset> /////////////////

    • ベストアンサー
    • HTML
  • フレーム内から親ウィンドウにロケーション?

    こんにちは。 どなたかよい解決策をご存知でしたら教えてください。 フレームで切られたウィンドウの一部のフレームから、PHP(ver.3)でページをロケーションで呼ぶと、そのフレームの中に呼んだページが表示されてしまいます。 JavaScriptは使わずに、親ウィンドウにページを表示させることは出来ないでしょうか、、、 よろしくお願いいたします。 以下はイメージサンプルです。 ■frame.html <html> <head><title>フレームセット</title></head> <frameset cols="100,*" frameborder="NO" border="0" framespacing="0"> <frameset name="left" rows="60,*" frameborder="NO" border="0" framespacing="0"> <frame name="a" noresize scrolling="NO" src="./test1.html"> <frame name="b" noresize src="./test2.html"> </frameset> <frameset name="right" rows="44,*" frameborder="NO" border="0" framespacing="0"> <frame name="c" noresize scrolling="NO" src="./test3.html"> <frame name="d" noresize src="./locat.php3"> </frameset> <noframes> このページはフレーム対応のブラウザでご覧ください。 </noframes> </frameset> </html> ■locat.php3 <? header("Location: ./test4.html"); exit(); ?> ■test1.html <html> <head><title>テスト1</title></head> <body> 左上 </body> </html> ■test2.html <html> <head><title>テスト2</title></head> <body> 左下 </body> </html> ■test3.html <html> <head><title>テスト3</title></head> <body> 右上 </body> </html> ■test4.html <html> <head><title>テスト4</title></head> <body> このページをウィンドウ全画面に表示 </body> </html>

    • 締切済み
    • PHP
  • フレームなしPからフレームありP内へのアンカーへ

    フレームなしページからフレームありページ内の指定アンカー(ラベル)へ飛ばしたいと思い、過去ログq135419を参考に JavaScript を埋め込もうとしていますが、うまくいきません。 フレームありのページは3分割してあり、上をaaa.htm、左をbbb.htm、右をccc.htmと作ってあります。 -例- <html> <head><title></title> </head> <FRAMESET rows="82,*" cols="*" frameborder="NO" border="0" framespacing="0"> <FRAME src="framef/aaa.htm" name="ue" frameborder="no" scrolling="NO" noresize id="header"> <FRAMESET rows="*" cols="228,*" framespacing="0" frameborder="NO" border="0"> <FRAME src="framef/bbb.htm" name="hidari" frameborder="no" scrolling="auto" noresize id="navi"> <FRAME src="ccc.htm" name="main" frameborder="no" scrolling="auto" id="main"> </FRAMESET> <NOFRAMES> <P>このページを表示するには、フレームをサポートしているブラウザが必要です。</P></NOFRAMES> </FRAMESET> </html> この内、ccc.htmにアンカー(ラベル)を指定し、フレームなしページからフレーム内のそのアンカー(ラベル)まで飛ばしたいと思っていますが、過去ログで提示してあるJavaScriptを当方のページで作ってあるものに置き換えてもうまく表示されません。(何も表示されません。) そもそも提示のJavaScriptでは3分割に対応してないのでしょうか。 元のページは業者で作成してもらったもので、フレームのページはcssとか使用され凝ったものになっています。それも何か関係あるのでしょうか。 よろしくお願いいたします。

  • フレームの読込み順

    皆さん、こんにちは。Blackwinglsです。 フレームの読込み順で困っています。 index.htmを以下のようにし、 <frameset rows="20%,80%" frameborder="0" border="0" framespacing="0"> <frame src="a.htm" name="up" scrolling="no"> <frame src="b.htm" name="down" scrolling="no"> </frameset> a.htm、b.htmを読んでいますが、a.htm内に <script language="JavaScript"> <!-- document.write(parent.down.myForm.word.value) //--> </script> のscriptを記述すると、当然まだb.htmは読み込まれていないのでエラーが最初の一回だけ出てしまいます。 a.htmはフレームの上部に表示したいので、 <frameset rows="20%,80%" frameborder="0" border="0" framespacing="0"> <frame src="a.htm" name="up" scrolling="no"> <frame src="b.htm" name="down" scrolling="no"> </frameset> の順は変更したくありません。 なんとか、先にb.htmを読み込ませて下部に表示させる方法はないものでしょうか?

    • ベストアンサー
    • HTML
  • 画面の四分割の方法について

    教えていただきたいのですが、↓で作成した画面の最下部にbottom(titleと同じ幅で画面の下部)を作りたい場合は、どのように追加記述すべきなのでしょうか? いろいろ試しているのですが上手くいかないのです(汗 <frameset rows="90,*" border="0" frameborder="0" framespacing="0"> <frame name="title" src="title.html" scrolling="NO" noresize> <frameset cols="180,*" border="0" frameborder="0" framespacing="0"> <frame name="menu" src="menu.html" noresize> <frame name="body" src="body.html"> </frameset> </frameset> 宜しくお願いいたします。。。

    • ベストアンサー
    • CSS
  • スクリプトエラーに手を焼いています

    よろしくお願いいたします。 以下のようなスクリプトエラーに手を焼いています。IEでエラーが出ます。ノートンのファイアウォールが原因かなと思ってOFFにしてみましたが、やはり出ます。 実行しましたが、ページでエラーが発生しました ライン:18 文字:1 エラー:オブジェクトを指定してください。 コード:0 URL:http://www.****.ne.jp/~***/frame.htm ──────────── 思い当たる箇所は、index.htmlファイルで、 <FRAMESET rows="0%,*" frameborder="NO" border="0"> <FRAME src="frame.htm" noresize scrolling="NO"> <FRAME src="top.shtml" scrolling="AUTO" name="BODY"> <NOFRAMES> <BODY> <P></P> </BODY> </NOFRAMES> </FRAMESET> なのですが、どこが悪いのかわかりません。 お知恵をお貸しください。

    • ベストアンサー
    • HTML
  • マックは平気なのに、ウインドウズで表示されない。

    macのOS10でHPを作っています。ネットはインターネットエクスプローラーです。 すでにアップして、マックではちゃんと見る事ができるのですが、ウインドウズでは見れません。 インデックスページは正常に見る事ができるのですが、次のページから、真っ白になります。 そのページが、フレームを5つも使っているページなのですが、それが問題なのでしょうか。 それともタグの問題?? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <Title></Title> <body bgcolor="#260d00" link="white"vlink="white"alink="#ddff26"> </head> <Frameset cols="*,350" Frameborder="no" Scrolling="no" Border="0"> <Frame name="hidari" src="menu.html" noresize> <Frameset rows="80,*,50" Frameborder="no" Scrolling="no" Border="0"> <Frame name="ue" src="ueframe.html"noresize> <frameset cols="300,50"> <Frame name="mannaka" src="body.html"> <Frame name="migi" src="migiframe.html"noresize> </Frameset> <Frame name="sita" src="sitaframe.html" noresize> </Frameset> <Noframes> <body><p><Center> 申し訳ございません。<Br> あなたのブラウザではこのページをご覧頂けません。<Br> 最新版のブラウザをお使い下さい。</p></body> </Center> </Noframes> </frameset> </html>

    • ベストアンサー
    • HTML