SEOが達成する目的の1つはクローラーがWebページの情報を適切に読み取りWeb制作者が意図するキーワードとの関連性を高める事です。しかしWebサイトを構成するテキスト、画像、flash、フレーム、JavaScript、動的ページ - これらの中にはクローラーへの情報伝達を妨げて結果的にランキングに悪影響を与えるものがあります。何がSEOに障害になるのかをきちんと把握しておきましょう。
JavaScript と SEO
現在のWebサイトの多くはウェブのインタラクティブ性を高めるためにナビゲーションメニュー等に JavaScriptを利用しています。しかし全てのクローラーが JavaScript で記述された内容を読み取れる訳ではありません。最近 Google は JavaScript で記述されたリンクでも URL を認識してクロールするようになりましたが、必ず読むわけでもありません。
JavaScript 記述自体がランキングに影響を与える可能性があります。JavaScript は通常 <head> 〜 </head> タグ内に置かれる事が多いのですが、これはテキスト情報が出てくる <body> タグの出現位置を押し下げてしまいます。しかしスパイダーはファイルのできるだけ最初の行に<body>タグやテキストが記述されているWebページを好みます。JavaScript を <head> 〜 </head> タグ内に入れることで全体を下に押し下げてしまうので個々のキーワードに対する評価に影響がでるかもしれないのです。
イメージ・画像とSEO
Webデザインを整えビジュアル要素を強化する為に多くの画像が使われます。しかしスパイダーが読みとる事ができる文章はテキストで記述された情報だけであり、画像の中に記述された文字を読みとることはできません。Webページの大部分を画像を利用して作成されているWebページはスパイダーが訪れてもWebサイトの情報を取得することはできません。サイトの内容や重要なキーワードが何かを判断する為の材料となる情報を何も取得しないため、結果的にページの評価が大きく下がってしまいます。
Macromedia FlashとSEO
スパイダーが読みとることができる情報はテキスト文字のみであり、Macromedia Flash の内容を読むことはできません。インタラクティブ性を高める為に Flash を利用したり、メインページに入る前の Splash ページに Flash を利用しているサイトは少なくありませんが、スパイダーはこれらに含まれる情報を全く評価しません。
Webサイト制作会社のサイトには、サイト全体を Flash で作成しているサイトが少なくありませんが、これは検索エンジン対策の観点から見れば最悪のWebデザインでありスパイダーには全く評価されません。
動的ページとSEO
動的ページ(Dynamic Page:ダイナミックページともいいます)とは、asp や php、jsp 等の技術を利用して生成されるWebページです。ショッピングサイトや会員制のサイト、複数言語で作成されているWebサイトでよく利用されています。ユーザーがアクセスした時に、データベースから表示するコンテンツを抽出して表示します。アクセスした時にオンザフライで生成することから動的ページと呼ばれます。
動的ページのURLは次のように & や ? 等のパラメーターがついていますのでURLを見ることでそれが動的ページ、または静的ページ(.html や .htm 等)のどちらであるかを見分ける事ができます。
../input_product.php3?GoodsCode=000424&USE=ie
※ 上記のように引数のついたURLをダイナミックURL (Dynamic URL)と呼ぶ事があります
スパイダーは動的ページインデックスしないことがあります。理由は先に述べたように動的ページには複数パラメーターがついていますが、このパラメーターがほんの少し違うURLであっても表示されるコンテンツの大部分は同じことがあります。もしスパイダーが個々の動的に生成されたURLを巡回していくと内容の大部分は同じなのにURLのパラメーターだけが違う数千ものページをインデックスしなければならなくなります(同じページを無限ループにインデックスし続けることからをスパイダートラップとよばれます)。また、小規模Webサイトであっても動的ページで生成されているWebサイトもスパイダーから見れば非常に大規模なサイトに見えるのです。スパイダーは基本的にほぼ同一のコンテンツを持つURLを大量にインデックスすることを好みませんので、インデックスしない事があります。
なお、ここ数ヶ月の間Google は動的ページもインデックスするように様々なテストを重ねており、実際に以前なら登録されなかった動的ページの多くがクロールされGoogleデータベースにも登録されている事が確認されています。もう以前ほど動的ページとSEOとの相性は悪くなくなりました。
フレーム とSEO
フレームとは、フレームセットを定義したファイルを元に1つのぺージを複数のウィンドウに分割して表示しているサイトです。スパイダーはこのフレームを非常に嫌います。理由は、通常のWebページは1URLにつき1つのファイルしか存在しないのに対して、フレームは複数のファイルで1つのページを構成していますがスパイダーは複数のファイルを1つのウェブとしてうまく認識できません。最近はフレームを構成する個々のページの内容を読みとった上でフレームセットを定義するファイルの内容を判断するように改良されてきているものの不完全です。
例えばあるキーワードで検索を行った際にフレームを構成する複数のファイルの中の1ファイルだけが検索でヒットする事があります。この場合フレーム全体読み込まれないため、もしサイトがメニュー部分とコンテンツ部分の2つにわかれていてユーザーが検索エンジン経由でコンテンツ部分のページだけを開いたらWebサイト内を移動することができません。逆にメニュー部分のファイルだけを開いてしまってもコンテンツが表示されなくなります。
このように検索エンジン対策の観点からいえばフレームは全く不向きです。
なお、補足としてユーザビリティーという観点から述べてもやはりフレームは不向きです。フレームはどのコンテンツを開いていても常にブラウザのアドレスバーのURLは同一です。従って、ユーザーがWebサイト内のあるページをお気に入り(ブックマーク)に登録しようとしてもその特定のページが表示されているURLは登録されないため、ユーザーは後日同じページへ戻ってくることはできません。この意味でもフレームは使わない方が賢明です。
後半では、これらの要素に対する解決策について話しましょう。
(2003/02/11 執筆 / 2003/09/25 改訂 / 渡辺隆広)