去年 に引き続き、今年も dogmap.jp でこの1年で良く読んでもらった記事をあげてみます。
去年同様、ページビュー上位10記事だと1番アクセスがあったのは、去年どころか2009年のこの記事になっちゃうんですが、2012年に書いた記事と、去年のランキングに入っていない 2011年に書いた記事にしぼって10件ほど。
去年に引き続き、WordPress の高速化ネタが多いですね。
続きを読む
既存の独自 CMS とかのデータを WordPress に移行する際に、csv に落として CSV Importer とかを使うことが多いと思います。
ただ、これだとかゆい所に手が届かないとか、細かく設定できないとか、往々にしてあると思うんですよ。
そんな時は、wp_insert_post() とか wp_add_post_tags() とか wp_insert_attachment() とかを駆使して移行プログラムを書いたりするんですが、微妙に使いづらいので、これらをラップして使いやすくするクラスを作って、github で公開しました。
簡単な使い方は memo.dogmap.jp にも書いたんですが、あっさりとしすぎてるので、ここにも書いておきますね。
以下、使い方
続きを読む
シンガポールでの AWS イベントの次は、マニラで行われた WordCamp Philippines 2012 に行ってきました。
今回、僕らだけでなく、Nao さんとか、AWS の堀内さん、メッサリバティの篠原さん、GMO さんなど、日本からの参加者がいっぱい居て現地スタッフが「あいつら、なんか間違って登録したんじゃないの?」とかって思ったらしいです。
WordCamp は、フィリピンでは4回目の開催になるそうです。
Cebu 島から、わざわざフィリピン入りした方も居るようで、フィリピンでの WordPress コミュニティも中々盛り上がってる感じです。
参加者からの質問も多く、中には5〜6分自分の言いたいことを言ってる人も(あんた、それ質問とちゃうやろ!)。
参加者・スタッフ共に、一体感のある良いイベントでした。
最初のサプライズプレゼント(座ったイスの裏に当たり券が貼ってある)とか、最後のプレゼント大会でもハッシュタグ #wcph2012 でツイートした人の中から Twicket という Web サービスでランダムで選ばれるとか、工夫されてて楽しかったです。
この Twicket ってサービス良いですね、イベントの最初に告知しておけば、イベント中のツイートを促進させる効果があると思います。
これ、ちゃんと独自ドメインにして、動きつけたりしたら面白そうなサービスです。
続きを読む
シンガポールの AWS オフィスで行われた二つのイベント、JAWS UG Singapore Meetup と AWS hands-on in Singapore に行ってきました。
海外の IT 系イベントは初めてだったので、中々興味深かったです。
JAWS-UG Singapore Meetup では、シンガポールで仕事をしている日本企業の担当者の方々とお会いしました。
ブイキューブの塗師さんの講演は、中々興味深かったです。
障害対策として AWS の東京リージョンとシンガポールリージョンをまたいでファイル同期してるとか。
あと、OSSの分散ファイルシステム Gluster も興味深かったです。
試してみよう、そうしよう。
WordPress ハンズオンでは、AWS の堀内さんとウチの小賀さんに WP Booster と 網元 を紹介していただきました。
以外だったのは、一般での AWS の認知度が低かった点。
AWS のシンガポールリージョンは、東京リージョンよりも前からあったので、もっと浸透してるのかと思ってたんですが、法人利用の方が多くて個人利用は少ないんですかね?
まぁ、初心者向けハンズオンなので来場していただいた層が、たまたまそうだっただけかもです。
# 日本でも、個人利用はまだそんなに浸透してないですしね。
WordPress に特化した網元とか WP Booster は、個人でも AWS 利用するハードルを下げてくれると思うので、こちらを頑張って浸透させたい感じです。
続きを読む
手軽に memcached サーバを使うことができる Amazon ElastiCache を WordPress で使用するための方法を解説します。
# なんか、あまり日本語での説明とか見つけられなかったんで…
WordPress には Object Cache って機能があって、複雑なデータベースクエリなどの生成に負荷のかかるデータをキャッシュすることができます。
ただ、この Object Cache でキャッシュされるデータは永続的な物ではなく、キャッシュされたデータはすべてのページをまたいで使用される訳ではありません。
このキャッシュされたデータを永続的に使用するための特殊なプラグイン(正確には、ドロップイン)は、いくつか提供されています。
今回は、それらのプラグインの中で memcached にキャッシュデータを貯めておくことができる Memcached Object Cache を使います。
以下 Amazon ElastiCache の設定方法から、Memcached Object Cache の導入方法まで
続きを読む
Google の Apache サーバ向け高速化モジュール mod_pagespeed の最初の安定版がリリースされました。
折角なので WordPress で試してみました
mod_pagespeed の設定は、デフォルトのままです。
比べてみてもらうと分かるんですが、CSS、JS、画像のファイルサイズが小さくなってます。
幾つかの画像は、すでに Yahoo! Smush.it で最適化されているので、それほど違いがありません。
しかし、Yahoo! Smush.it を適用していない以下の画像は mod_pagespeed を通したものと通していないものでは、ファイルサイズに差が出ています。
また、CSS は Minify するだけでなく、複数 CSS を結合後、小さい画像ファイルは自動でデータURIスキーマに変換してくれたりします。
これらを、特に意識することなく勝手にやってくれるのでラクチンですね。
以下、インストール方法。
続きを読む
WordPress を、別サーバに移行するにあたってサイト URL を変更したい時があります。
例えば、開発環境から本番環境に移行する時とか
そんな時は、以下の SQL 文を発行することで wp_posts 内のデータを一発で置換できます。
UPDATE `wp_posts` SET post_content=REPLACE(post_content, "{旧URL}", "{新URL}") where post_content like "%{旧URL}%";
ただ wp_options とか wp_postmeta とかにはシリアライズされたデータが入っていることもあるので、これらはそのまま置換するとまずいです。
(シリアライズデータの中には、文字列の長さとかも含まれてるので)
そこで、シリアライズされたデータは一度アンシリアライズしてから置換して、シリアライズした後に DB に書き戻してやる必要があります。
ただ、手作業でこれやってるとかったるいので、それらを自動で行う PHP スクリプトを作りました。
https://gist.github.com/3627972
上記の gist から download するなり raw データを取得するなりして、PHP スクリプトを取得してください。
以下、使い方
続きを読む
Web サーバから送出されるデータに Expires ヘッダーを追加して、ブラウザにキャッシュを持たせることで体感速度をあげてやるということは、良く行われていますね。
実際にどうやって設定するかは、以下のエントリで説明しています。
で、この時さらにキャッシュを長期間持ってもらおうと思って1年とか10年とか、とにかく長い有効期限を設定したりするわけです。
そうすると、困ったことに style.css とか修正しても、いつまでもブラウザのキャッシュが消えなくて、変更が反映されないとかいう事態も発生してしまう訳ですね。
そんな時は、名前を変えるとかクエリー文字列を変えるとかしてやれば良い訳です。
ただ style.css とか修正した時に、header.php の方を修正し直すのを忘れちゃうこともあるので、これを自動で更新して、ブラウザのキャッシュをコントロールしてあげようかという提案です。
続きを読む
Nginx Cache Controller の 1.1.4 をリリースしました。
今回の修正では、以下の変更を行っています。
これだけです。
ただ、このアクションフックを使用することで複数台構成にしている WordPress のサーバのキャッシュを一括で消せるようになります。
以下、やりかた。
続きを読む
WordPress で、必ず有効にしておきたいプラグインがある場合、wp-content/mu-plugins というサブディレクトリを作って、その中に有効にしておきたいプラグインを入れておきます。
例えば、クライアントに納品した WordPress サイトで必ず有効にしておいてほしいプラグインがある場合、mu-plugins に入れておくと便利です。
しかし、残念ながら wp-content/mu-plugins に入っているプラグインは、ダッシュボードからアップデートしたりすることができません。
その問題を解決するために、特定のプラグインを必ず有効にしておくプラグインをさくっと書いてみました。
特定のプラグインを有効にするプラグイン — Gist
適当な名前で保存して wp-content/mu-plugins に入れておくと、特定のプラグインを必ず有効にしてくれます。
続きを読む