CMS: Joomla! サイトの高速化

 2017/08/18(金) 14:54  

Joomla! に限らず、WordPress でも Drupal でも、一般的に CMS と呼ばれているウェブサイト構築・運営ツールは、コアのシステムに付随するものに加え、追加したエクステンション(プラグイン等)分の、CSS や JavaScript がサイト表示を遅くする要因となり得ます

専門的な話はさておき、ごく簡単に説明しましょう。
閲覧者がウェブページ上の何かをクリックしますと、サーバー上ではリクエスト(要求)があったとみなされます。そして CMS の場合、その要求によって PHPで書かれたプログラムはデータベースから必要な情報を抽出し、HTML を生成して送り返します。閲覧者のブラウザにそのHTMLが届き、ブラウザはその HTML に書かれている情報に従って、ページを生成・描画します。

この際、サーバーが生成する HTML は、プログラムが指示した通りとなりますので、当然ながら、CMS の中核を為すシステムと追加したエクステンションそれぞれが必要とする CSS や JavaScript のファイルへのリンク情報が個別に記載されることになります。ブラウザは、HTML に書かれている、CSS や JavaScript へのリンク情報を元に、そのファイルを探し読み込むことになります。実際は、画像等、他のファイルへのリンクもありますので、ブラウザは秒単位の時間で大変多くの仕事をこなしている、というわけです。

この HTML に書かれたリンク情報によって取得するファイルの数と、実際に読み込むファイルサイズは、サイト表示の高速化というテーマにおいてはとても重要なファクターとなります。

また、これら情報が HTML のどこに書かれているか、というのも影響します。なぜなら、ブラウザにはブラウザ上の処理の順番・ルールがあるからです。

ある処理に時間が要せば、そこで次の読み込みが保留されることになってしまいます。本当に必要なファイルであるならば、それは仕方のないことですが、実際は後から読み込んでも大丈夫、つまり緊急性がないファイルということも多いに有り得るわけなのです。

しかしブラウザ自身には、ページ描画を行う上での緊急性について判断する術を持ち合わせていません。HTML に書かれた通り、ブラウザが本来持っている処理ルール通りに仕事をこなすしかありません。

では、サイト表示の高速化を行うためにはどうしたら良いのでしょうか?
それは、ブラウザの処理方法を理解して、それに見合った情報提供を行うようにする、ということに尽きます。つまり「HTML の書き方を変える」「ファイル自体を最適化する」ことです。そして動的な CMS を考慮したキャッシュの利用です(Joomla! にはキャッシュ機能がありますが、これを動作検証なしに利用することはお勧め出来ません)。

具体的には、

  • 複数存在する CSS や JavaScript の各ファイルをそれぞれ一つのファイルにまとめ、読み込み回数を減らす
  • ブラウザの読み込みを阻害する要素(レンダリングブロック)を排除する
  • 画像ファイルのファイルサイズを必要最低限まで小さくする
  • 各種ファイルを圧縮する(Gzip)

・・・といった事を行う必要があるのです。

ちなみに、上記以外にもサイト表示の高速化に貢献できる対策がいくつかあります。
その代表格は、サーバー自体の処理性能を上げることです。サーバーのスペックが低ければ、サイト表示が遅くとも仕方がありません。つまり、CMS を利用する場合はサーバーの選定も大切な要素である、ということになります。

以上を理解したとしても、実際これら施策を実行に移すのは容易なことではありません。
とりわけ CMS の場合は、各ページ毎に読み込む要素は一定ではありませんので、手動で行うことは現実的ではありません。

4CREATOR JAPAN では、上記の施策を自動化・最適化するためのプラグインを導入し、最良の結果を得るための「チューニング」を新たに提供サービスに加えました。何も施策を行なっていない Joomla! の表示スピードは、通常の閲覧において我慢ならないほど遅くはありませんが、閲覧者のウェブ体験をさらに向上させるに越したことはありません。

実際、このチューニングを行いますと、体感上分かるほど明らかな「表示スピードの違い」が出ます
現在ご覧いただいております 4CREATOR JAPAN サイトは、このチューニングがなされておりますので、通常の Joomla! サイトよりも格段に高速に動作しております。

なお、体感上も重要ですが、実際の計測データを知れば、より重要性にお気づきになることでしょう。
以下の外部ウェブサービスは、ウェブサイトの現状を診断することが出来ます。一度御社ウェブサイトを診断してみてはいかがでしょうか。

最終修正日 2017/08/18(金) 17:03
初めてのご利用ですか? ご登録はこちら!

ログイン