Head Cleaner (仮) で、なぜ速くなるのか?

WordPress Plugin には、WP-Cacheや、WordPress Super Cache と言った高速化を実現するためのプラグインが多数あります。
これらのプラグインは、本来は動的に生成している WordPress のコンテンツをサーバ上にキャッシュしておいて、サーバ負荷を減らし、クライアントからのリクエストに対して、素早く返答しようというモノです。
つまりは、サーバ側の処理(バックエンド)の高速化。

Head Cleaner (仮) は、これらのプラグインとは違い、クライアント側の処理(フロントエンド)を高速化しようと言うのが狙いです。
多分、今まで無かったタイプの高速化プラグインでは無いでしょうか?
この辺のフロントエンドの高速化の解説は、以下のエントリが詳しいです。

これらで、提案されている基本的な技法は

  • クライアント側のキャッシュを活用したり、無駄な HTTP リクエストを減らして、ネットワークボトムを解消しよう
  • ページレンダリングに関連するもの(CSS)は先に読み込ませ、関係ないもの(JavaScript)は後で読み込んで、見た目の表示を速くしよう

と言うことになります。

では、 Head Cleaner (仮) の高速化技法について、当サイトのトップページを例に検証してみましょう。
続きを読む

Head Cleaner (仮) – ここまでのまとめ

さて、先日から「Head Cleaner (仮)」を、夜半になると Twitter 上で公開しては修正、機能アップを繰り返してきたのですが、盛り込みたかった機能もかなり盛り込めたので、これより熟成期間に入ります。
で、熟成期間に入る前に今までの経緯をまとめておきます。
まずは、このプラグインの基本的な動作原理。

  1. WordPress のテーマテンプレート inex.php や single.php に <?php get_header(); ?> って記述があると思いますが、これが呼ばれた時に動作を開始します。
    この時は、まだ ob_start で、バッファ取得開始するだけ。
  2. header.php の <?php wp_head(); ?> が呼ばれた時点でバッファ取得を終了し、書き出された文字列を解析して整形します。

やってることは、これだけ。
まだまだ開発途上のプラグインですが、人柱になっていただいている方々、ありがとうございます m(_ _)m
不具合は色々と出てきましたが、私は元気です。

さて、では以降は今までの経緯のまとめ。
続きを読む

4周年

このブログも Livedoor blog 時代から、数えて今日で4年目になりました。
なんとか、細々と続けています。

はじめ、このブログのコンテンツは、私の薄い映画・小説感想と、Ash の濃いマンガ・ラノベレビュー。
途中から、もとい君の特濃なゲームレビューが加わったんですが
いつの間にか、たまに私が WordPress 絡みのことを書いて、Ash が相変わらず、マンガとラノベのレビューをするサイトになってしまいました。
こんな弱小サイトですが、ここ二年ほどで、ようやくレジストラに払うドメイン管理費とレンタルサーバ料くらいは、Amazon アフィリエイトで稼いでくれるようになりました。

最近は、息子と一緒に録画しておいた「いないいない、ばぁ」を見て、ぐるぐるどかーんとかやってるので、中々DVDを見れません。
先日 TSUTAYA で、「片腕マシンガール」を見かけたので、借りてきて見たいのですが

そんなわけで、これからも当サイトをよろしくお願いします。

少年メリケンサック

少年メリケンサックはこんな感じ [DVD]少年メリケンサックはこんな感じ [DVD]
 監督 / 脚本:宮藤官九郎
 出演: 宮崎あおい, 佐藤浩市, 木村祐一, 田口トモロヲ, 三宅弘城, 勝地涼

「ジミーさんが立った!」

レコード会社の新人発掘部OL・かんな(宮崎あおい)が動画サイトで見つけたパンクバンド「少年メリケンサック」。
彼らと契約するため、連絡のついたベースのアキオ(佐藤浩市)に会いにいくと、ライブ映像で見つけたイケメンとは別人の酔いつぶれたオッサンが
続きを読む

Head Cleaner (仮)

WordPress にプラグインをガンガンと突っ込んでいくと <head> 部に、JavaScript やら CSS やらが、ドンドン追加されて、カオスなことになってしまいます。
そんな状態の自サイトを「YSlow for Firebug」で診断してみると、とても低いスコアになったりしてガックリ来るわけです。
プラグインを外したりしたくなかったりするので、チマチマと修正したりして使っていたんですが、プラグインのバージョンアップのたびに修正するのも面倒です。

そんな折、「WordPress Head Cleaner」というプラグインを見かけました。
これは、ひょっとして <head> 部を自動でキレイにしてくれるのか?と期待してダウンロードしてみたんですが、ソースを見てガッカリ。
ついカッとなって、こんなプラグインを作ってしまいました。

ダウンロード

Head Cleaner@WordPress Plugins
または
Head Cleaner (最適化&高速化)@JSeries

[2/24 6:00 追記] コメント蘭での、ゆりこさんからの指摘により、 Safari では拡張子が .gz の css, JavaScript を認識できないことが判明。
多分 「.gz」の Content-Type が 「text/javascript」 or 「text/css」 になっていないからだと思われます。
Ver.0.3.2 以降で、Safari に対しては gzip 圧縮されたファイルを転送しないように修正しました。
なお IE, Firefox, Opera, Chrome では、問題無いようです。

[2/25 8:00 追記]Ver. 0.4.0 から CSS もすべて結合することができるようになりました。
# ただし、デフォルトでは OFF になっています。
CSS 内の画像ファイル等への相対パスはすべて絶対パスに置き換えます。
制限事項としては、media 属性を気にせずにすべて結合し、media="screen" にしてしまうため、想定外の表示になる可能性もあります。
この辺は、後々修正します。

[2/26 12:30 追記]Ver. 0.5.x から、CSS と JavaScript をそれぞれ CSSTidyjsmin-php で圧縮できるオプションを付けました。
また、コメント欄でのゆりこさんからの指摘により、ユーザエージェントに「AppleWebKit」を含むブラウザ(ただし chrome は除く)からのリクエストがあった場合は .gz ファイルを転送しないように修正しました。
あと、簡単な注意書きを書いた「readme_ja.txt」を同梱したので、読んでやってください。

[3/4 18:30 追記]正式版のリリース準備版を公開しました。
今まで、php ファイルを直接修正していた各種設定は、管理画面の「設定」>「Head Cleaner」から行えます。
また、競合が報告されているプラグインと、その対処法について「readme_ja.txt」に書いてあります。
そちらも、ご一読ください。

[3/5 23:00 追記]正式版リリースしました。
続きを読む

電波女と青春男

電波女と青春男 (電撃文庫)電波女と青春男
著者:入間人間
イラスト:†ブリキ
メディアワークス/電撃文庫
関連記事:嘘つきみーくんと壊れたまーちゃん 1 巻

買いました〜。

「今から一緒に空を飛んでやる。出来なかったらお前、地球人になれ」

続きを読む

WordPress コメントをスレッド対応にする

管理画面WordPress 2.7 から、プラグイン等を導入せずともコメントをスレッド(入れ子)表示できるようになりました。
対応するテーマを使っていれば、管理画面の [設定] – [ディスカッション] で [コメントをN階層までのスレッド (入れ子) 形式にする] にチェックを入れてやれば良いのですが、使用しているテーマが対応していないと修正する必要があります。
このテーマの修正が、意外と面倒なので自分用のメモも兼ねて修正方法をエントリしておきます。
続きを読む

長岡雪しか祭り 2009

雪しか祭り 2009雪しか祭り 2009 10号玉今日、明日と開かれている「長岡雪しか祭り」の雪花火を見てきました。
花火は、10号二発、スターマイン二種類、二尺玉のみですが、打ち上げ場所が近いのでなかなかの迫力。
ただ、息子が怖がったのは残念。
続きを読む

ステーションの奥の奥

ステーションの奥の奥 (ミステリーランド)ステーションの奥の奥 (ミステリーランド)
 著者:山口雅也

「うん。ぼくはこれから、ここへ吸血鬼を呼び出してみようと思うんだよ。」

小学6年生の陽太は東京駅が全面改築されることを知り、東京駅を探検して夏休みの自由研究にしようとする。
東京駅を探検するため、夜之介おじさんとともに東京駅の「東京ステーション・ホテル」に向かう。
そこで、彼らが遭遇した奇妙な事件。
続きを読む