WordPress高速化&スマート運用必携ガイド

WordPress 高速化&スマート運用必携ガイド

WordPress高速化&スマート運用必携ガイドWordPress 高速化&スマート運用必携ガイド

昨年末くらいから、こもりさんと一緒に本を書いてました。
先日、ようやく色校 up して 3/16 には発売されます。
右の写真が、出来立てほやほやのカバーの写真です。カッコいいっすなぁ、見るからに速そう。
WordPress サイトを高速化させるためのガイドで、こもりさんがフロントエンドの、僕がバックエンドの技術を色々紹介しています。
僕の書いたところは、このブログとか WordCamp Yokohama、Tokyo なんかで講演した内容が元になってます。
「WordPress のことは分かるんだけど、サーバの設定とか運用とかは、ちょっと
って感じの人を対象に書いてみました。
僕とこは、あまり突っ込んだことは書いてないので、普段からサーバ運用している人には物足りないかもしれませんが、そういう人には、逆にこもりさんの書いてくれたフロントエンドの高速化についての話がためになるのでは無いかな?(もちろん、逆もありえますよ。)

そもそもこの本を書くきっかけになったのは、こもりさんが Facebook で「wokamoto さん辺りと、WordPress 高速化についての本書くと面白いんじゃね?」って提案してくれて、それを MdN さんが拾ってくれたからです。
こもりさん、MdN さん、良い機会を与えてくれてありがとうございます。
きっかけってのは、ひょんなところから現れるもんですね。まさか、このブログに自分の書いた本の Amazon リンクを貼ることになろうとはブログ始めた頃は、想像もしてませんでした。

続きにこもりさんが書いてくれた序文を引用しておきますね。
続きを読む

Gamdalf

WordPress の新しいテーマプレビューがカッコいい

Yesterday marked the halfway point of our second cycle. We’re moving along at a steady clip. The main goal for the coming week is to tie up any loose ends and begin integrating the plugin into core. Until then, follow our progress at #19910 and in the plugin repo.

We’ve made considerable progress in the past week. We completed a first pass for menu locations and have almost all of the elements we need for custom backgrounds (all that remains is the file upload dialog and fixing the color picker). We also added the ability to alter/choose a static front page within the customization (as decided in dev chat yesterday). Under the hood, we’ve made numerous improvements including working APIs (including rendering controls, previewing, and saving) for theme_mods and options, proper handling of multidimensional IDs, and a whole bunch of bug fixes.

via. Team Gandalf Update « WordPress Development Updates

WordPress Development Updates を眺めてたら、Team Gandalf Update とか言ってるので、なんだろうと思って見てみたら、思いのほかカッコ良かったので、勢いでエントリ。
どうやら core に取り込む予定の機能を切り出して、プラグインとして公開したみたいすね。


なにやら Twitter で叫んでたやつです。
続きを読む

Codeigniter の言語クラスで gettext を使えるようにする

最近、ちょっと訳あって Codeigniter をいじってます。
すでに PHP が分かっていれば、学習コストも低く、直感的に使えるんでなかなか良いっすよ。

Codeigniter で、国際化するために用意されてる言語クラスですが、通常は以下のようにして使います。

application/language ディレクトリに各言語のサブフォルダ(例:japanese)を用意する。

その中に _lang.php (例:error_lang.php) というファイルを作成して、連想配列 $lang にテキストをセットする。

$lang['language_key'] = "実際に表示されるメッセージ";

Controller で言語ファイルを読み込む。

$this->lang->load('filename');

lang オブジェクトの line メソッドか、lang() 関数で、キーを指定してテキストを取得する。

$message = $this->lang->line('language_key');
// または
echo lang('language_key');

ただ、これだとキーとの対比とか、メンテナンスがめんどくさいので、できれば .mo ファイル作って gettext() で処理したい所です。
続きを読む

Akismet removal button

Akismet にコメント投稿者の URL を削除する新機能

Akismet removal buttonWordPress の SPAM コメント対策プラグイン Akismet に便利な新機能が追加されました。
ダッシュボードのコメント一覧を見ると分かるんですが、コメント投稿者の URL 右横に小さい「x」アイコンが表示されていると思います。
これをクリックすることで、コメント投稿者情報から簡単に URL を削除することができます。
これは、Akismet ver.2.5.4 で追加されたようです。中々、素敵な機能追加ですね。
ちょっと感動したので、勢いでエントリ。
via. Akismet 2.5.4 Adds Easy Link Removal Button

ちなみにスクリーンショットに表示されている国旗・OS・ブラウザのアイコンは、僕の作ったプラグイン Commenters Info を導入すると表示されるようになります。
こちらも地味に便利ですよ。ダウンロードは下記から。
WordPress > Commenters Info « WordPress Plugins

Nginx + memcached で WordPress をキャッシングしてみる

nginxNginx + memcached が気になったので試してみました。元ネタは、下記です。
CakePHPとnginx+memcachedで手軽にキャッシュを活用する – Shin x blog

Nginx では、HttpMemcachedModule を用いることで memcached にキャッシュがあれば、それをそのままレスポンスとして返すことができます。
ただし memcached に保存するキャッシュデータは、アプリケーション側で生成してやらなければなりません。

一方、WordPress では advanced-cache.php というドロップインを作成することでキャッシュデータの制御を行うことができるので、これを作って url をキーとしたキャッシュデータを memcached に保存し、これを Nginx の HttpMemcachedModule に使わせてみました。
続きを読む

WordPress on PHP5.4.0 RC4 + APC

明けましておめでとうございます。本年も、よろしくお願いいたします。

スクリーンショット(2012-01-03 11.15.50)さて、パフォーマンスアップしたと噂の PHP 5.4 系。
WordPress も、ちゃんと動くんかいな?と思って試してみました。
使用しているプラグインによっては問題が出てくるかもですが、とりあえずデフォルト状態の WordPress 3.3 + TwentyEleven では問題なさそうです。
あと、このサイトで使ってるプラグインでも問題は発生しなかったようです。

ちなみにこのサイトで使ってるプラグインの一覧は以下の URL で見ることができます。
https://dogmap.jp/plugins/3/
続きを読む

2011年の人気記事トップ10

msng さんの記事にインスパイアされてエントリ。
dogmap.jp で、この1年で良く読んでもらった記事をあげてみます。

ページビュー上位10記事だと1番アクセスがあったのは、去年どころか2007年のこの記事になっちゃうんですが、今年書いた記事にしぼって10件ほど。

全体的に WordPress の高速化の話題が多いです。
僕の興味もそっちに向いてたんで、そっち系の記事が多かったからですね。
続きを読む

公式プラグインページにヘッダ画像を追加

Been giving a lot of thought to how to give plugin authors more control over their plugin pages. In WordPress custom headers have been hugely beneficial in people’s ability to make a theme their own without having to be a designer. (And designers can make them really sing.)

via. Been giving a lot of thought to how « WordPress Development Updates

hello-claudia最近 WordPress 公式プラグインディレクトリのデザイン変更があったんですが、それに伴ってヘッダ画像を追加することができるようになりました。
ヘッダ画像を追加すると以下のリンクのようになります。
WordPress > Hello Claudia « WordPress Plugins
WordPress > Head Cleaner « WordPress Plugins

結構、良い感じですね。
続きを読む

WordPress をとにかく速くする (WordPress Advent Calendar 2011 20日目)

12月25日まで毎日ブログをつないでいく WordPress Advent Calendar 2011、20日目担当 @wokamoto です。
@mypacecreator さんに引き継いでいただきました!ドキドキ。
そんな、@mypacecreator さんのエントリはこちら。
3大「WordPressに慣れていない人がやってしまいがちだけど、こっちのほうがいいのになぁ」って思うこと

去年は PHP Advent Calendar に参加して「匿名関数と無名関数 (PHP Advent Calendar 2010 16日目)」って記事を書いたんですが、今年は WordPress Advent Calendar に参加します!

そんなわけで、(一部の)みんな大好き WordPress のハイパフォーマンスチューニングの話題。
このサイト dogmap.jp で行っている施策について書きますね。
続きを読む

Amazon EC2 マイクロインスタンスに移行

仕事で Amazon EC2 使うことが増えてきたこともあって、このサイトのサーバも Amazon EC2 のマイクロインスタンスに移行しました。
移行作業自体は、簡単。

  • 新サーバに Nginx, PHP, MySQL をインストール
  • 現行サーバから rsync で WordPress フォルダの内容を全て新サーバにコピー
  • 現行サーバの MySQL でテーブルをロックしてから /var/lib/mysql/ 以下を全部 tar で固めて、新サーバにコピー
  • /etc/my.cnf, /etc/php.ini, /etc/nginx/ 等の設定ファイルをコピー
  • ローカルPCの hosts 変更して確認取れたら DNS 変更

の5ステップです。
以下、メモがてら作業ログを書いておきます。
VPS – VPS 間での WordPress のお引越しの参考になれば幸いです。 続きを読む