WordPressの特徴と言えば『プラグイン』や『テーマ』と言った目に見える部分に注目されがちですが、実はWordPressはその設計自体が非常に特徴的なものになっています。
少々技術的な話になりますが、今日はそんなWordPressの仕組みについて、なるべく分り易く簡単に説明してみたいと思います。
今からWordPressを利用しようとしている方、技術的な話に興味がある方、業務で使用する時にWordPressのプロフェッショナルを装う必要のある方等の参考になれば幸いです。
この記事はWordPressの技術的な設計の話から始まって、最終的にはキャッシュ系プラグインの働きと、何故メリットがあるのかまでを整理して理解出来るように説明していきたいと考えています。
WordPressは動的にページを作成する
この話は頻繁に『動的』と『静的』という言葉が出てきます。しかし、このままでは少し分かり難いかも知れないので、まずはここを簡単に説明させて頂きます。
『動的』と『静的』とは、大雑把に言うと下記の様な意味になります。
- 動的 ≒ 動いている ≒ リアルタイム
- 静的 ≒ 止まっている ≒ 既に出来上がっている
つまり、『WordPressは動的にページを作成します』という事は、『WordPressはリアルタイムにページを作成します』という事になります。
動的ページはアクセス毎にページを作成する
『動的ページ』(動的サイト)とは、簡単に言うとアクセスがある度に、リアルタイム(動的)にページを作成する事を言います。
私のブログもWordPressで作成されています。つまり、今こうしてアナタが読んでくれている記事は、あなたがこの記事にアクセスした時に作成されたものです。
WordPressはアクセスがある度に、3つのステップを踏んでページを表示しています。
- アクセスリクエストの受領
- MySQLデータベースを読み込んでコンテンツの作成
- あなたのパソコンへのページの表示
という流れです。
静的ページは既に作成されているページを表示する
前項で、動的ページはアクセス毎にページを作成するという事をご説明しました。では、それに対して『静的ページ』(静的サイト)とはどういうものなのか?
先に結論をお伝えすると、既に在る物をアクセスに対してそのまま表示する。これが『静的ページ』のイメージになります。
静的ページの最も一般的な形は、HTMLを作成してサーバーにアップロードするタイプのWebサイトやホームページです。
一昔前 1の所謂『Webサイト』はHTMLやCSSなどを打ち込んで、文章や画像・Flashなどの全て作成した上でサーバーにアップロードして作成していました。
これらは1ページ1ページのHTMLファイルを予め作成した上で、アクセスがある度にそのHTMLファイルをそのまま表示します。
WordPressのような動的なシステムと違って、リクエストに対してダイレクトにコンテンツを表示していますね。
食べ物屋で例えると…
動的ページと静的ページについてイメージが、いまいちピンと来ない…という方は、例えば食べ物屋を思い浮かべてみて下さい。
動的ページとは、アクセス毎にページを作成します。つまり、オーダーが入る度にシェフが料理を作り始めるタイプのレストランです。ちょっと高級なタイプですね。
逆に静的ページとは、既に作成されているページをそのまま表示します。例えるならば、牛丼屋等のファストフード店ですね。オーダーに関係なく物を作っておいて、人が来たらそれを出すイメージです。
あくまでもイメージですので、Webに関しては『動的』と『静的』に料理程、格の差は発生しません。
動的に作成されようが、静的に作成されようが同じ内容のページならば、同じ品質のページになります。
WordPressサイトとはMySQLそのものである
ここまでで、『動的ページ』と『静的ページ』の違いに関しては何となくでも理解して頂けたと思います。
厳密に言うと語弊がある部分や、それぞれのタイプの特徴などやメリット・デメリット等も色々あるのですが、それは一旦置いておきましょう。今日は、あくまでも簡単なお話に留めておきたいと思います。
さて、ではここで『WordPressサイト』を少し分解してみましょう。
Webページの大半を占めている『文章』がありますよね。
これも『静的』『動的』の非常に大きな特徴になるのですが、『文章』というコンテンツがそれぞれのHTMLファイルに収められている『静的サイト』と違って、『動的サイト』であるWordPressの場合はご存知MySQLデータベースに格納されています。
文章だけでなく、パーマリンク・画像とのリンク情報・著者情報・設定などの全ての情報がMySQLには詰まっており、WordPressはそれを状況に応じて読み出す事によってページやコンテンツを作成しています。
つまり、私達が『WordPressサイト』と呼んでいるものは、MySQLから読みだして構築したデータという事になります。
ここまでの纏め
ここまでが基本的なWordPressの技術的な構造になります。
この後、WP Super CacheやQuick Cacheに代表されるキャッシュ系プラグインの機能と、それによってどのようなメリットがあるのかを説明したいと思います。
その前に、少々長くなってしまったので、一旦内容を整理してみましょう。
WordPressのポイント
- 『動的』なシステムである
- 全ての情報はMySQLデータベースに格納される
動的ページの特徴
- アクセス毎にMySQLからデータを読み出してページを作成する
- 『リクエスト・ページ作成・表示』の3ステップを踏む
静的ページの特徴
- アクセスに対して既に作成済みのデータを表示する
- 『リクエスト・表示』の2ステップを踏む
どうですか?簡単でしょう?
分かりやすさを重視して便宜上端折ってる部分もあるので、「厳密に言うと違う」という部分もありますが、そこは厳密に言うのが好きな人にお任せしましょう。厳密に言ってると、本が一冊書けてしまうのでね。
WordPressキャッシュ系プラグインの役割
では最後に、WordPressのキャッシュ系プラグインの役割についてご説明したいと思います。
まずは下の画像を御覧下さい。
これは最初に載せた、動的ページを表示する時の流れです。
動的サイトの大きな特徴として、上記の画像で言う『作成』のステップに時間とパワーを使います。その為、静的サイトに比べて表示が遅いというデメリットも生じてきます。
これを解消するのが、キャッシュ系プラグインという事になります。
キャッシュプラグインは動的を静的に変える
WP Super Cache, Quick Cache, W3 Total Cache, に代表される、WordPressのキャッシュ系プラグインは、ユーザーがWordPressにアクセスする前に予めMySQLからデータを読みだして、静的ファイルを作成してくれます。
キャッシュ系プラグインをインストールしてからサーバーのファイルを見てみると分かるのですが、"◯◯◯.html"というお馴染みのファイルが沢山作成されています。
つまり、本来はアクセスがあった際に『作成』して『表示』するWordPressサイト(動的サイト)のページを、予め『作成(キャッシュ)』しておいてアクセスがあった際に、既に出来上がった静的ページ(キャッシュ)として表示する事で、WordPressサイト全体の表示速度を底上げするという働きをしています。
キャッシュ系プラグインは他にも様々な方法でWordPressサイトの表示速度を底上げしていますが、基本となる機能は上記の通り、予め静的ページ(キャッシュ)を作成しておく事によって、アクセスの際にページを作成する時間をカットする事にあります。
今回の纏め
ここまで読んで頂いて有難う御座います。お疲れ様でした。
以上が、WordPressの特徴となる『動的サイト』についてと、技術面から見たキャッシュ系プラグインの機能と導入メリットになります。
また、途中途中お断りを入れていますが、今回は基礎中の基礎という事で分り易さを重視しています。正確に説明しようとするのであれば細かい突っ込みは幾らでも入れる事が出来ますが、話が広くなりすぎても混乱してしまうと思うので、敢えて端折ってる部分が結構あります。
が、基本的な理解としては十分かと思いますので、何かの参考になれば嬉しいです。
WordPressの基礎的な仕組み『静的サイトと動的サイト』の解説とキャッシュ系プラグインの役割 is a post from: room402.biz
Notes:
- 便宜上の表現です。今でも静的サイトは数多く作成・管理されています。 ↩