IT-WEB -- MCタイチ

静的ページ/動的ページとは?2008-03-17

よくwebサイトで「静的ページ」とか「動的ページ」という言葉が使われますが、これは何を意味するのでしょうか?

文字や静止画だけなら「静的」で、ムービーやらアニメーションが動いていたら「動的」・・・なのではありません。

静的ページの場合、例えば「example.com/page1.html」というURLのページを見ているとすれば、Webサーバ上にpage1.htmlというファイルがあって、それをブラウザで表示しています。「それが普通じゃないの?」と一般の方は思うかも知れません。

しかし、動的ページはそうではないのです。 例えば、掲示板を思い起こしてください。当然ながら、誰かが書き込むとページの内容が変わりますよね。ということは、サーバ上に前とは違うHTMLファイルが出来たのでしょうか?

違うんです。サーバー上のファイルはずっとそのまま、変わりません。実はこのファイルは単なるテンプレートであって、記事の内容はデータベースから呼び出して表示しているのです。逆に言うと、掲示板に書き込むということはデータベース(DB)に書き込んでいるのです。

これは掲示板やSNSだけではなく、部外者が書き込めない一見静的なサイトでも同じことです。サーバ上にあるのは幾つかのテンプレートファイルだけで、URLが”example.com/page1.html”となっていても実際にはpage1.htmlなんてファイルは存在しないのです。これは一種の偽装URLです^^; (詳しくは後述の、「動的ページとパラメータ」をご覧ください。)

このDBからコンテンツを引っ張ってきてWebページに表示する作業は、PHPのようなサーバ上のプログラムで行われます。上述のテンプレートの中身は静的な通常のHTMLコードと、動的にDBから取り出して表示するプログラム部分から成ります。このプログラム部分は全てWebサーバ上で動作し、クライアント(ネット閲覧者のPC)は出力結果(HTMLファイル)をもらっているだけで、静的ページを見るのと変わりません。

現在インターネット上にあるほとんどすべてのサイトは(FacebookもTwitterもYoutubeも)動的サイトです。ページ数(見かけ上)で言えば99.9・・%かな? 逆に静的ページは、コンテンツが少なくほとんど更新されない、中小企業や個人商店のお店紹介ページくらいでしょうか?(これとは別に、ブログサービスを使って最新情報を配信してるところが多い)。

因みに、2000年代初頭にブログが普及する前は、個人が「ホームページ」を持つという事は、自分でHTMLファイルを作ってWebサーバにアップロードする事を意味していました。これは素人には中々ハードルの高い作業です。自分でHTMLを書くのは難しそうなので、「ホームページビルダー」を買ったけどその使い方も難しかった・・・みたいな^^;

勿論、プログラムが必要な分、動的サイト(テンプレートを含むシステム)を作る方が難しいのですが、そういうことは我々Web制作業者しかしません。一般ユーザーはブログサービスやソーシャルメディアなど出来合いのシステムを使い、文字や画像をフォームから流し込むだけでOKです。こうした無料の動的ページサービスが普及したからこそ、世界中で何億人の人がネットに情報発信するようになったと言えるでしょう。

動的ページとパラメータ

動的ページといえば、 単に決まった内容をDBから抽出するだけでなく、URLに変数(抽出条件)を埋め込んで、表示する内容を操作することが可能なのです。

例えば、僕のサイト(バイクインプレ集)に下記のようなURLがあります。

http://www.mc-taichi.com/Bike/test/index.php?id=85

末尾に”?id=85″というコードが付いていますが、これは「”id”というパラメータが85である」という情報を、DB(を操作するシステム)に送っているのです。

このサイトでは、idとはバイクの車種毎の識別ナンバーで、85番のバイクのインプレを表示せよ、という意味になります。他の車種のリンクをクリックすると、また別のidが付いていて、それに該当する車種の情報を表示します。

この仕組みは非常に便利というか動的ページの肝で、ブログやニュースサイトの各記事や、ショッピングサイトの各商品ページなどほとんど全ての動的ページに使われます。

しかし、URLを見てもパタメータらしきものは付いていないページがあります。末尾がhtml拡張子で終わってたり、それもなくてアルファベットやスラッシュで終わってたり(実はこのブログもそう)。じゃあ、そういうのは静的ページなのかというと、そうではありません。

実はこうした静的っぽいURLの中に先ほどのパラメータが決まった法則で埋め込まれていて、Webサーバ上で”?”付きのものに変換する仕組みが備わっているのです。これがURLの偽装です^^;

動的ページとSEO

かつては、「動的ページはSEO上不利」なんて言われましたが、今はそんなこと無いというのが大方の見方です。

また、同じ動的ページでも、URLに”?”マークが付いていると不利、なんて書いてあるドキュメントを見かけますが、これも根拠が無いと考えてよいでしょう。(例えばはてなの記事参照)

WikipediaだってAmazonだって、思いっきりパラメータがくっ付いたURLですが、ちゃんとインデックスされていますしね。
検索ロボットが嫌がるのは、パラメータにどんな値が入りうるか判らない状態。 例えば、「item=100」と言う商品ページがあったとして、「じゃあitemが1から99までのページもあるはずだ」と言って一々調べていたらきりが無いという話しです。

だから、解決策は簡単で、存在するアイテムのURLへのリンクを全部張ってしまえば良いのです。 まあ、普通は何がしかのリンクを辿って行けば、全ての商品ページにたどり付くはず(そうしないと見てる人間が辿りつけない)ですが、リンク構造が複雑になりがちなのは事実です。そんな場合は、Googleだったらサイトマップを登録してくださいね、という事です。

↓↓ ♥ ♥ ♥ Share this post ♥ ♥ ♥ ↓↓