静的/動的ページ
よくwebサイトで「静的ページ」とか「動的ページ」という言葉が使われますが、これは何を意味するのでしょうか?
文字や静止画だけなら「静的」で、ムービーやらアニメーションが動いているから「動的」・・・なのではありません。
静的ページとは「ブラウザで見ているHTMLが、そのままの形でWebサーバ上のファイルとして存在している事」とでも申しましょうか。まあ、「それが普通じゃないの?」と一般の方は思いますよね。
しかし、動的ページはそうではないのです。 例えば、掲示板を思い起こしてください。当然ながら、誰かが書き込むとページの内容が変わりますよね。これって、前とは違うHTMLが出来たのでしょうか?あるいは上書き保存されたのか?
違うんです。HTMLファイルはずっとそのまま、変わりません。実はこのファイルは単なるテンプレートであって、記事の内容はデータベースから読み込んで表示しているのです。つまり、掲示板に書き込むということはデータベースに書き込んでいるのであって、それを表示しているファイルをリダイレクトすると内容も変わる、という事です。
ちなみに、このDBからデータを引っ張ってきてテンプレートに流し込む作業は、サーバ側で行います。ですのでクライアント(ネット閲覧者のPC)はできた結果(HTML)をもらっているだけで、静的ページを見るのと変わりません。
逆に言うと、動的ページはサーバに負担をかけます。ただ、(全体の負荷にもよりますが)現在のマシンの処理能力から言えば、それほど大変な作業ではありません。現に、静的ページと動的ページにアクセスしてみて、反応速度の違いが判るでしょうか?僕は判りません(^^;
動的ページとパラメータ
動的ページといえば、 単に決まった内容をDBから抽出するだけでなく、URLに変数(抽出条件)を埋め込んで、表示する内容を操作することが可能なのです。
例えば、僕のサイト(バイクインプレ集)に下記のようなURLがあります。
http://www.mc-taichi.com/Bike/test/index.php?id=85
末尾に”?id=85″というコードが付いていますが、これは「”id”というパラメータが85である」という情報を、DB(を操作するシステム)に送っているのです。
このサイトでは、idとはバイクの車種毎の識別ナンバーで、85番のバイクのインプレを表示せよ、という意味になります。他の車種のリンクをクリックすると、また別のidが付いていて、それに該当する車種の情報を表示します。
この仕組みは非常に便利なので、通常は動的ページには何らかのパラメータが埋め込まれています。例えば、ショッピングサイトの商品詳細ページとか。そうしないと、膨大なアイテム一種類毎に一つのHTMLを用意しなくてはならなくなりますから。
動的ページとSEO
かつては、「動的ページはSEO上不利」なんて言われましたが、今はそんなこと無いというのが大方の見方です。
また、同じ動的ページでも、URLに”?”マークが付いていると不利、なんて書いてあるドキュメントを見かけますが、これも根拠が無いと考えてよいでしょう。これは、サーバ側の設定で”?”が付いたURLを、静的ページのようなURLに書き換えて(偽装して)いるだけですから、本質的には何も変わりません。(例えばはてなの記事参照)
WikipediaだってAmazonだって、思いっきりパラメータがくっ付いたURLですが、ちゃんとインデックスされていますしね。
検索ロボットが嫌がるのは、パラメータにどんな値が入りうるか判らない状態。 例えば、「item=100」と言う商品ページがあったとして、「じゃあitemが1から99までのページもあるはずだ」と言って一々調べていたらきりが無いという話しです。
だから、解決策は簡単で、存在するアイテムのURLへのリンクを全部張ってしまえば良いのです。 まあ、普通は何がしかのリンクを辿って行けば、全ての商品ページにたどり付くはず(そうしないと見てる人間が辿りつけない)ですが、リンク構造が複雑になりがちなのは事実です。そんな場合は、Googleだったらサイトマップを登録してくださいね、という事です。
基礎技術講座がはじまりましたね。
まあ、確かにWEB技術系でない普通の人だと、アニメーションが動いたら「動的」と思うのは無理ないかな。
言葉にも問題あるかもしれないけど、専門用語は変なのも多いですね。
コメント 2008 年 3 月 18 日 7:43 AM