動的ページについて



動的ページは、検索エンジンクローラー巡回されにくく、したがってインデックスされにくく、そのため検索で一覧されにくいと言われます。しかし、近頃、一般には、動的ページも、普通に巡回されます。なかなか巡回されない場合は、まず「検索エンジンに巡回推薦ページとして登録」を行ってみます。それでも巡回がない場合は、多くはページの内容やバックリンクの問題ですので、そのような点の改善と「検索エンジンに巡回推薦ページとして登録」を繰り返してみましょう。

ただし、静的ページにして問題があるわけではないですから、新たにサイトやページを作成する場合は、可能な場合、動的ページ静的ページに見せかけることを検討しましょう。「ドメインやURLの変更対応」の章で動的ページURL静的ページURLに書き換える方法を紹介していますので、その対応を検討してみてください。

ところで、その動的ページとは何でしょうか。

一般には、静的ページがファイルとして存在するページであるのに対し、動的ページは、ファイルとして存在せず、その瞬間に、サーバー上のプログラム(サーバーサイドプログラム)が必要なデータをデータベースなどから取得して作成するページを指します。

1000ページの静的ページには1000個のファイルを用意する必要があるのに対し、動的ページは、必要なデータをデータベースなどで提供すれば、1本のプログラムで無限のページを作成できます。

その際、プログラムにデータを指定する必要がありますが、URL中の “?” 以降の文字列がそれであり、それをパラメータと呼びます。以下の例では “page=123&optin=direct” がパラメータです。パラメータは複数の引数と値のセットで構成され、引数と値のセットは “&” で区分されています。また、引数と値は “=” で連結されています。

  http://www.example.com/program?page=123&optin=direct

動的ページには、セッション管理(利用者の動きを追跡して処理に矛盾が発生しないようにしていくための仕組み)のための符号(セッションID)が付けられている場合もあり、その場合はページの内容に関係なく、使用開始の都度、異なるセッションIDが割り振られ、クエリー文字列の一部に組み込まれますから、ページ(URL)が無限に発生することになります。以下の例では “PHPSESSID=c2fccef36acade9dcfdcda63a5966438” がセッションIDの指定です。

  http://www.example.com/index.php?PHPSESSID=c2fccef36acade9dcfdcda63a5966438

ちなみに、セッション管理を行う方法として、他に、クッキー(サーバーサイドプログラムがブラウザーにデータを保管する仕組み)を使用する方法もありますので、必ずしも、セッション管理する=セッションIDがURLに必要、ということではありません。

そのような動的ページの特性を理解すると、動的ページを収集するのは、検索エンジンとしてあまり行いたくないことであることを理解してもらえると思います。しかしながら、動的ページにも有用なページは数多いですから、動的ページだから無条件に巡回しない、というわけにもいきません。

そのため、検索エンジンクローラーには、動的ページかどうかを判断する仕組みと、動的ページと判断した場合に巡回を“抑制”する仕組みがあります。“停止”ではなく“抑制”と書いたのは、動的ページと判断した場合に必ず巡回しないというわけではなく、優先順位を下げる、他の条件によっては通常の優先順位に戻す、というような制御が行われているということです。

それでは、検索エンジンはどうやって動的ページかどうかを判断しているのでしょうか。厳密なことは言えませんが、URLに“?”、“&”、“=”のいずれかが含まれているかどうかが一番重要なポイントと思われます。

したがって、動的ページであってもURLに“?”、“&”、“=”が含まれないようにしてやれば、検索エンジン動的ページであることを判断できなくなります。

動的ページURLから“?”、“&”、“=”を取り除く方法については、「ドメインやURLの変更対応 」の章を参照してください。そこでは、ウェブサーバーがApacheの場合にmod_rewriteというモジュールを使ってURLを書き換える方法等を説明しています。それ以外にも、PATH_INFOという方法でURLから“?”、“&”、“=”を取り除く方法もあります。URLに“/何桁かの数字/”の形式を含むURLのほとんどは、そのいずれかを適用しているURLです。

FlashやAjaxを活用したページは動的なページですが、検索エンジンはその動きを把握できませんので、検索エンジン巡回という観点で言えば動的ページ扱いされません。もちろん、FlashやAjaxを活用したページには、FlashやAjax部分が検索エンジンインデックスされないという課題があります。

巡回の問題を議論するとき、動的ページという言葉以外にCGI(Common Gateway Interface:シー・ジー・アイ)という言葉が使われることがありますが、CGIとはサーバーサイドプログラミングの一形態であり、動的ページ作成手法の一つです。

再度確認しますが、以前はクローラー動的ページ巡回を避ける傾向が多く感じられました。しかし、最近は、そのような傾向をほとんど感じられなくなっています。既存の動的ページ静的ページ化は推奨しません。労多くして効果が大きくないからです。動的ページを新規に作成する場合、可能ならば、静的ページ化を検討してみてください。



   
関連サイト