espar とは
espar は、WordPress等のCMSで構築されたWebサイトについて、応答速度とセキュリティを理論上の最高レベルに引き上げるSaaS型サービスです。
独自開発の静的化エンジンを使ってCMSサイトを静的化し、弊社用意の公開サーバに静的ホスティングするのが特徴です。類似の静的化ツールやサービスと比較して以下のような特徴があります。
- 弊社独自開発のマルチスレッド型の高速静的化エンジン
- サイト全体だけでなく1ページ単位での部分的静的化が可能
- CMS環境の引越しや再設定等が必要なく既存サイトにそのまま導入が可能
- 問い合わせフォームや検索など動的要素を混在させることが可能
- CMSとは関係のない独自実装ページが混在していても一緒に静的化可能
- 運用保守やセキュリティ対策が全て含まれる公開サーバを提供
espar を導入することで、制作会社様はCMSを使ったサイトの構築に集中できるようになります。またエンドユーザ様はCMSを使ったコンテンツの作成に集中出来ます。結果、esparを導入するとコンテンツに直接関係のないことに労力を割かなくてもよくなる体制を獲得できます。
以下、espar 導入時にご理解頂きたいことについて記します。esparでは従前のCMSサイト運用とは全く異なる考え方が必要になりますので、必ずお読み頂けますようお願い致します。
espar導入前後の構成変化
従来のCMSサイトと決定的に異なるのはサーバ構成です。従前のCMSサイトと、esparを導入したCMSサイトとの違いを以下に示します。
従来のCMSサイト
従来のCMS構築では、サーバ1台のみの構成です。CMSサーバは、サイト管理者向けには「コンテンツの管理」機能を提供し、サイト閲覧者向けには「Webサイトの公開」機能を提供します。つまり、1台のサーバーで2つの役割を担っています。
esparを導入したCMSサイト
espar の導入により、サイトは実質2台のサーバ構成に変わります。アクセスのされ方が従来のCMSサイトとは全く異なる点に注意して下さい。
CMSサーバはサイト管理者向けに「コンテンツの管理」機能だけを担当することになります。すなわちCMSサーバは、(基本的に)一般閲覧者からのアクセスを受け付けなくなります。
上図の中央ギヤ印が espar の静的化エンジンです。CMSが更新される度に、静的化エンジンがCMS上の全ページにアクセスして、
- ページのhtmlをファイル化
- htmlに記述された画像/CSS/JavaScript等のファイルを収集
の処理を行い、それらを espar 公開サーバ(図の右側青色四角)に転送します。DNSの設定は espar 公開サーバ側を向け、閲覧者からの全てのアクセスを受け付けます。公開サーバ上にはページ表示に必要なファイルが一式揃っているので、それらを返すだけです。原則、閲覧者をCMSサーバにアクセスさせる必要がなくなる点に注目して下さい。
2台構成にするメリット
なぜ、あえてこんなに複雑なことをするのでしょうか。それは、CMSを使って構築したサイトの二大課題を一度に解決するためです。CMSの二大課題とは、
- セキュリティ事故が起りやすい
- サイトが重くなりやすい
の2点です。そしてこれら課題の根本原因は、閲覧者をCMSサーバに直接アクセスさせることにあります。
アクセスする度にPHPやDBが動作するため、データが増えるほど、またアクセスが多くなるほどサイトが重くなるのは当然です。また、PHPやDBが動くシステムをインターネット上に「晒している」のですから、悪意ある第三者に攻撃され易く事故も起こりがちです。
espar では、表示用ページをHTMLファイル化した上で関連ファイルも取得し、PHPもDBも存在しない別の公開用サーバに配備します。そのサーバーに代わりに応答させるだけで十分ですから、CMSサーバに直接アクセスが届く必要もなくなります。
その結果、上に掲げた二大課題は解消します。
- 悪意ある第三者はそもそもCMSサーバにアクセス(攻撃)ができなくなる
- 一般閲覧者にはhtmlファイルを返すだけなので理論上の最高速度で応答できる
このメリットを一挙両得でき、かつ、難しい公開サーバの運用を弊社に任せられるのが espar です。
espar 静的化エンジンの挙動
espar 導入サイトでは、CMSを更新した時に原則手動で静的化を行う必要があります。具体的にはespar 専用の管理画面で「反映」という操作を行います。
espar 専用の管理画面で「反映」(静的化を行うこと)の操作をすると、静的化エンジンはCMSサーバ側のトップページを基点にサイト全体を静的化します。実際には以下のように挙動します。
- 静的化エンジンがCMSサーバにアクセス
- 静的化エンジンはCMSサーバが生成したHTMLを受け取り.htmlファイルとして保存
- さらにHTMLを解析してページに必要なCSS/JavaScript/画像ファイル等も全て取得
- さらにHTMLを解析して<a>タグの
href
属性にリンク先記述があればそのURLを基点に1.に戻る - サイト内の全ページを辿り終えたら、1〜4で生成・取得した全てをespar公開側サーバ(青色)に転送
更新する度にサイト全体を「反映」することが推奨されます。これをサイト全体の静的化と言います。
しかし、typoの修正や微調整等で一部だけを静的化したい場合もあります。espar 管理画面にはそのような使い方ができる機能も備わっています。詳しくは指定パスの静的化をご覧下さい。