アジャイル,Trac,オープンソースなどの話。認定スクラムマスター。Twitterは@ryuzee
wordpressの高速化といえば、WP Super Cacheによるhtmlレベルでのキャッシュ化なんだろうけど、同一URLで、異なるデバイス向けにサイトを提供している環境だと、少々面倒になってしまう。
ということで、高速化の一環として、DB Cache Reloadedを導入してみた。
まずはDB Cache Reloadedの配布ページにアクセスして、アーカイブを取得する。取得したら解凍して、いつものように、/wp-content/plugins以下に配置し、プラグインを有効にする。
次に、左ナビの設定をクリックし「DB Cache Reloaded」を選択すると、画面が表示されるので、下図のようにEnableにチェックを入れて有効にし、「Save」をクリックする。

以上で導入は完了だ。
僕のサイトのトップページに複数回リクエストを投げてみた。
導入前 47 queries. 1.147
導入後 19 queries. 0.818
クエリの呼び出し回数は半分以下になっている。
これならDBがボトルネックになっているような環境であれば手軽に性能向上できそうだ。
WordpressからTwitしたり、ブログ書いたときに自動でTwitしたり、自分のTwitをブログサイドバーに表示したり、とブログとTwitterの連携箇所は一杯あるんだけど、それらをまとめてやってくれるプラグイン「Tweetable」が便利なので紹介する。
Tweetableは以下のURLから入手できる
http://wordpress.org/extend/plugins/tweetable/
いつも通りアーカイブを解凍し、/wp-content/plugins以下に配置し、プラグインを有効にすれば良い。
ただしこれだけでは動かないので初期設定のところで細かく説明する。
(1)まず、左メニューの「設定」の下に「Twitter」という項目が増えているので、これを選択すると下図のような画面が表示される。ページ下部に説明書きが書いてあるので、良く読んだ上で、ページ上部の「Register Application」をクリックする。

(2)上記のとおり「Register Application」をクリックすると、Twitter側のアプリケーション登録画面が表示される(下図)ので、必要な項目を入力する。
(3)Consumer KeyとConsumer Secretが生成されるので、控えておく。(下図)

(4)Tweetableのセットアップ画面に戻り、最下部の「Continue」ボタンをクリックすると下図が表示されるので、先ほどTwitter側で発行されたConsumer KeyとConsumer Secretを入力する。入力が終わったら「Save and Continue」をクリック。

(5)Twitterのアカウントを入力する画面が下図のように表示されるので、入力する。

(6)Twitterアカウントの認証が行われるので、下図の「Sign in with Twitter」ボタンをクリック

(7)アクセス許可画面が表示されるので「許可する」をクリック

(8)wordpress側に戻されるので、画面右下の「finish」をクリック

(9)左ナビの「Twitter」から「Setting」を選択すると、下図のような設定画面が表示される。
短縮URLの設定、wordpress投稿時にTwitするかどうかの設定、Twitter投稿時に付与するprefixの設定を行う。

上記の手順を行えば、wordpressへの投稿時に自動でTwitterに投稿することが可能になる。
それ以外にもいくつかのwordpress用の関数が用意されている。
他はマニュアルを読むとよろしい。
ちゅうことで便利なので、お勧めです。
TwitThisは、ブログ等にTwitterに投稿用ボタンをつけるプラグイン。ポップアップでTwitterへの投稿用の画面が表示される。
で、このプラグインだがバグがあって、このままだと、オプション設定でpermalinkを選択すると、トップページ等の一覧ページでコンテンツが表示されなくなる。
ということで、145行目からの関数を以下に差し替えるとちゃんと動作するよ。
はてなが6月3日に公開したはてなブックマークのWeb Hook機能を利用して、ブックマークするとともに指定したwordpressのブログに投稿するプラグインを練習がてら作ってみた。
設定画面もあるようなwordpressのプラグインを作るのは初めてだけれど、意外と簡単だったかも。
Hatebu2Postプラグインをダウンロードする。
ライセンスはGPLってことで。
バグ報告とか改善要望とかあればコメントきぼんぬ。
はてブの Web Hook で Twitter を更新する - IT戦記
404 Blog Not Found:API - Twitterfeed から Hatena::Bookmark Web Hookへ
MovableTypeでも同じことが簡単にできそうだね。
前のエントリで書いたWordTwitだが動作したよ。
修正ポイントを書いておく。
(1)wordtwit.phpで日本のタイムゾーンが考慮されていない?
wordtwit.phpの288行目あたり。
で投稿した時刻を取得して最終更新時刻と比較しているんだけど、こいつがGMTでの日時になっておりタイムゾーンが考慮されていない様子。なので以下のように変更する。
(2)MySQLのバージョンによってはテーブルが作成されない。
wordtwit_check_table() 関数の中でテーブルの存在チェックをして、無ければ作成しているんだけど、ここで文字コード等の属性を設定してテーブルを作成している。しかし、これができるのはMySQL4.1以降とMySQL5以降のはずで、僕が使っているさくらのレンタルサーバだと、4.0.27のバージョンなのでテーブルが作成されない。
仕方ないので自前で以下のようなクエリを使ってテーブルを作ってやる必要がある。
意外とはまったなぁ。
タイトルのまんま。こういうこともプラグインで簡単に出来てしまうwordpressって楽でいいね。
WordTwitというプラグインを使う。
使い方も簡単。いつもどおりアーカイブをダウンロードして解凍し、pluginsフォルダにアップロードして有効化。有効化が完了したら設定画面で自分のTwitterのアカウントとパスワードの設定をすれば良い。
#はずなんだけど、うまくPOSTしてくれていないような・・・。
このブログをiPhone対応してみた。iPhoneでみると以下のように表示される。
これ実現するためにはWPTouchというwordpressのプラグインを使えば良い。
導入は容易で、上記サイトから最新版をダウンロードしてきて解凍し、wordpressのpluginsディレクトリにアップロードし、有効化するだけ。
なお、WP-Cacheのようなコンテンツをキャッシュするプラグインを利用しているとバッティングしてしまって、キャッシュ切れのあとの初回アクセス時の媒体用のコンテンツが表示されてしまうことになるので注意が必要だ。確か同じような問題に携帯対応のときぶちあたっているのだが、もう面倒なので、一旦WP-Cacheを無効にしてある。
それにしても、中小企業がマルチキャリア対応のWebサイト作るんだったら、やっぱりブログエンジン使うのが一番簡単だよな~、とつくづく思うよ。
なんか、真夜中に目が覚めちゃったので、wordpressのアップグレードをしてみた。
手っ取り早くまとめていうと以下のようになる。
それにしても2.7.1は管理画面のデザインがごっそり変わっていてビックリしたよ。

日記 PHP オープンソース インストールマニアックス IIS Trac MySQL Perl Linux Agile・生産性向上 wordpress フリーソフト 自宅サーバ 書評 ブックマーク phpMyFaq TraM Plugin 早起き Delphi apache CakePHP Firefox Ruby eclipse セキュリティ プラグイン アジャイル mojavi Subversion Ajax/Web2.0 SQLServer Zope サーバ フレームワーク phpBB 仮想化 PostgreSQL OpenVZ scuttle CMS 文字化け 自宅 翻訳・日本語化 ApacheDS LDAP Excel 生産性向上 CodeIgniter XAMPP hacks taskfreak 修正 言語ファイル Ajax SBM ダウンロード HTML::FillInForm mod_security 情報共有