さくらVPSでWordpressブログをやってます。そんなにアクセスがないはずなのに、さくらVPSに移行した当時は結構サーバが落ちました。topコマンドで見るとスワップが結構70%まで上がったりして、手動でapache再起動とかもやりました。。ネットでいろいろググッてそれなりにパフォーマンスチューニングした結果やっと安定して、同じサーバに2つのWordpressブログと一つのRailsアプリケーションを実行しています。

参考までにさくらVPSは一番安いの512MB、月1000円のプランで、平日だとこのブログの一日PVは大体500〜600です。

チューニングしてから結構時間が経ったのでだいぶ忘れました。Evernoteでのメモを貼ります。

効果が高い順で。

Wordpress

W3 Total Cacheプラグインが一押しです。インストールも設定も簡単ですし、一番効果があります。 ページのキャッシュ、cssやjavascriptのマージと圧縮など、結構やってくれます。実際これだけ入れても感じるほど早くなるはずです。

Apache

httpd.confを編集します。いろいろ修正してみましたが、結果下記の設定にしました。この辺はググったら結構出ますが、それぞれの環境に合わせて試行錯誤したほうがオススメです。


<IfModule prefork.c>
StartServers       5
MinSpareServers    5
MaxSpareServers   10
ServerLimit      64
MaxClients       64
MaxRequestsPerChild  50
MaxMemFree 2000
</IfModule>

PHP

/etc/php.ini

zlib.output_compression = On

APC

pecl install APC

Wordpressで画像アップロード時にいつも3サイズのサムネイルが生成されたのですが、さくらVPSに移行後それができなくなったのです。

調べてみたらPHPの画像処理のライブラリであるgdがインストールしてないことがわかりました。 CentOSなのでyumを使ってインストールすれば解決です。

sudo yum install php-gd
sudo service httpd restart
#wordpress

Social Metricsは今まで書いた記事のTwitterでのTweet数や、Facebookのいいね!他、Google+1などを管理画面で一覧表示してくれる

インストール

20110920現在はWordpress管理画面で検索しても出てこなかったので、手動でpluginフォルダにアップしてインストールしました。

利用

インストールするとDashboardとPluginsのサイドバーにSocial Metricsのリンクが表示され、記事がTwtter、いいね、はてブされた数が月別、カテゴリ別で見れます! ただしlinkedinはなぜか常に1になってます。

Social Metrics for Japanese

最後に。うちの小さいブログにとってはソーシャルなど意識すぎの課題があると思います。Google Analyticsで一ヶ月で各ソーシャルプラットフォーム(Facebook, Twitter, Google+1, はてな)からのアクセスは10も行かない場合があって、90%以上がGoogle検索でやってきています。この状況を踏まえて今まで導入したソーシャルボタンとか、効果対コストは極めて低い!と感じました。

#github #wordpress

gistでソースをjavascriptタグで表示したらRSSには出力できません。また毎回githubから呼びこむのはパフォーマンスも悪いですね。

これらの問題を解消してくれるプラグインがEmbed GitHub Gistです。 Embed GitHub Gistはgistから内容を取得して本文に出力するためRSSでも表示できるようになります。 記述ルールはとても簡単で**にgist id=12345のように書けば終わりです。詳細は上記のリンクで確認してください。 デフォルトのキャッシュは一日です。今のバージョン0.8ではまだ他の値に設定できませんが、簡単で十分だと思います。

#wordpress #plugin #tool

Disqusの概要

Disqusを導入すると一切のコーディングなしでユーザがFacebook, Twitter, OpenIDでコメントすることができます。このように:

Disqus Login with Twitter, Facebook, etc.

Disqus Comment system

導入手順

実際の導入フローはとても簡単なので、流れだけ書きます。

Disqus comment system site

  • Disqusでアカウント登録
  • ブログサイトの情報、メインライター、導入ブログタイプ(ここはWordpress)などの設定
  • 自分のWordpressブログの管理画面でプラグインをインストール:Disqus Comment System
  • Disqusプラグインの設定画面でさっきDisqusで登録したアカウントでログイン
  • 必要でなれば今までのコメントをエクスポートすることもできる


既存コメントのエクスポート

既存コメントのエクスポートは時間がかかりそうで、すぐには反映しないようです。 Disqusの管理画面で確認したらステータスが”Queued for import”になってます。

DISQUS Admin page - tools - Import/export

すると翌日にインポートできましたよというメールがきました。管理画面でチェック:

Disqus-comment-import-complete

もともと勉強の目的もあって当サイトのFacebookのLikeボタンやTwitterボタンを全部手書きで用意したのですが、 ブログのRSS登録者を50%増やすシンプルな6つの方法 | Last Day. jpを読んでmixiやグリーなども一応設置したほうがいいかもと思いまして実践しました。 FacebookとTwitter、はてなはもちろん、グリー、EvernoteやDeliciousなどまで対応してて便利ですよ。

[WordPressにソーシャルブックマークボタンを楽々設置:WP Social Bookmarking Light ninxit.blog](http://www.ninxit.com/blog/2010/06/13/wp-social-bookmarking-light/)

設定

設定方法はとても簡単です。WPの設定画面でWP Social Bookmarking Lightを選択肢 下記のように必要なサービスを左にドラッグ&ドロップすればOKです。

WP Social Bookmarking Light Settings

General Settingタブ

「Singular」がDisabledにすれば記事の一覧ページにもボタンが反映するようになりますが、そうすると画面の読み込みが結構重くなるようでデフォルトのEnableのままにしています。

Facebookタブ

LikeボタンのVersionはデフォルトは「XFBML」となっていますが、XFBMLはもう廃止予定なのでiFrameに変更します。

WP Social Bookmarking Light Facebook Setting

#wordpress

http://b.hatena.ne.jp/guide/blogpartsにて自分のサイトの人気エントリーをブログパーツとして設置できます。 手順にしたがってブログのURLを入力して簡単の設定を行ったあとは貼り付けるコードが生成されるため、それをブログにコピペすればOKです。

できたらこんな感じです。なぜか画像が暗くなっちゃいました。

hatena-bookmark-entry

#wordpress

qTranslateを試しました。 ブログを多言語に対応する上でとても便利なプラグインです。 これからは日本語、英語、中国語で記事を書いていきたいと思います。 まだカスタマイズができてないので、 整理できたら投入メモとか書きます。

中文

试了试qTranslate。 好久不用中文写东西了有点生疏。。 今后博客将用中日英三语, 英语的不分应该会不熟练吧,当是锻炼了。 等把qTranslate使用明白以后再写一篇笔记。

English

I triedqTranslate, a multilingual wordpress plugin. I’m going to write blogs in English, Chinese and Japanese. I will post a memo about qTranslate after I master it.

#wordpress

本文はWPテーマGlowing Amberに二番目のサイドバーを追加する方法を紹介します。

Glowing Amberは今現在このブログで使われているテーマです。 見た目がいいデザインがいいのですぐインストールしましたが、 簡単にカスタマイズするメニューがなくて少し不便を感じました。 マニュアルもなく、作者が提示したURLにも無効となっています。。。

二番目のサイドバーを追加する方法

  • Main Index Templateのindex.phpかSingle Postのsingle.phpを編集します。 それぞれブログのトップページ、個々の記事ページのファイルです。

  • サイドバーを追加したい場所で下記コードを挿入します。

<div id="left">
<?php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('Sidebar Left')) : ?><?php endif; ?>
</div>

例えば左に追加したい場合は

の前に上記コードを挿入します。 +
に変更 これはid=mainbody-lrにwidthが適切に設定されているからです。 + Stylesheet (style.css)で幅を編集 104行目近くにある#mainbody-lr と#left, #rightのwidth値を編集すればOKです。 これでWidgetsメニューでSidebar Leftが使えるようになります。
#wordpress

iPhoneでうちのブログを見ている割合をGoogle Analyticsで確認しました。 12月で1.68%でした。 僅かな割合なんですが、それでもうれしいです。

Blog-Browsers-and-OS

WPTouch

WPTouchはiPhone閲覧に最適にしてくれるWPプラグインです。 インストールするだけでもうOKです。 設定メニューも簡単で、とても使い易いです。
以下iPhoneでこのブログを見る際のスクリーンショットです。 今のところFollow Meのプラグインがうまく表示されませんが、 これはFlashがiPhoneではサポートされてないからです。

初期画面:記事一覧

記事概要

記事詳細

カテゴリ、タグ、コメント

#wordpress

WordPress記事にはてなブックマーク数を表示する方法です。 プラグインのわざわざインストールする必要はなく、 一行のコードで簡単に実現できるものです。

コード

<a href="http://b.hatena.ne.jp/entry/<?php echo get_permalink(); ?>">
  <img src="http://b.hatena.ne.jp/entry/image/<?php echo get_permalink(); ?>" alt="" />
</a>

挿入箇所

Word Pressの管理画面内「表示 -> テーマエディタ」で下記ファイルを修正します。

  • ブログホームページのファイル(index.php)
  • アーカイブ、カテゴリ、タグなどのファイル(archive.php)
  • 単一記事のファイル(single.php)

```

#wordpress

閲覧者がコメントする際にチェックボックスにマークしておくことで、 さらにコメントが追加された場合、メールで知らせてくれるプラグインです。 閲覧者が自分のコメント以降に追加されたコメントを把握できるようになります。

wordpress-plugin-subscribe-to-comments

ダウンロード

http://txfx.net/wordpress-plugins/subscribe-to-comments/でダウンロードか、 WordPress管理画面から「subscribe-to-comments」を検索してインストールする

カスタマイズ

初期設定ではメールの本文が英語となっています。

それを日本語にカスタマイズしてみました。 管理画面でsubscribe-to-commentsプラグインを編集します。 「There is a new comment on the post」で検索すれば一発で見つかります。 そのあたりの英語を自分が好きな言葉に置換すればOKです。

以下自分のサンプルです。

:There is a new comment on the post:新規のコメントが投稿されました。
:See all comments on this post here:すべてのコメントを確認するには下記のリンクをクリックしてください
:Author:お名前
:Comment:コメント
:To manage your subscriptions or to block all notifications from this site, click the link below:コメント閲覧を管理、このサイトからの通知をブロックするには下記のリンクをクリックしてください

修正後のメール本文はこんな風になりました。

#wordpress

Wordpressブログにはてな記法を適用するプラグインを紹介します。 はてな記法に慣れたら結構手軽にブログを書けます。 Wordpressにそのはてな記法のプラグインがあります。

インストール

  • WordPressにはてな記法を導入するプラグインにてダウンロード
  • サーバにアップロード(wp-content/pluginsフォルダに)
  • ダッシュボード→プラグイン→インストール済みでアクティブすればOK
  • 設定画面の「Posts -> WP HatenaNotation」で適用する時間範囲を決める、するとその時間以降の記事に対して有効になる

hatena-notation-plugin

この例で言うと、2009年11月30日以前のはてな記法で書かれて記事は対象外となる意味です。

まだ対応してない機能

http記法の[http://~~]は現時点まだ対応予定の状態です。

#wordpress

エラー詳細

Flexible uploadのプラグインを使うときに出たエラー内容です。

| Warning: call_user_func_array() function.call-user-func-array: First argument is expected to be a valid callback, ‘feed_links_extra’ was given in ### /### /wp-includes/plugin.php on line 339 |<

回避方法

wp-content/plugins/flexible-upload/flexible-upload-wp25.phpに以下のコードを追加


function media_admin_css() {
	wp_admin_css('css/media');
}

バージョン情報

  • WordPress : 2.8.6
  • Flexible upload: 1.1.3

参考サイト

WordPress2.6のFlexible upload 1.13不具合解消

#wordpress

最初はわざと英語版を入れましたが、日本語に簡単に切り替えるかと思って検索してみたんです。こんなに簡単に変更できるんだ。さすがWordPressだ!

日本語リソースのインストール

  1. WordPress | 日本語 » 日本語リソースのインストールから ja.mo、continents-cities-ja.mo をダウンロード
  2. サーバのWordPressフォルダのwp-content 以下に languages ディレクトリを作成
  3. ダウンロードした2つの .mo ファイルを languages ディレクトリにアップロード
  4. WordPress ルート直下の wp-config.php ファイルを開き、「WPLANG」の箇所を次のように設定
``` define ('WPLANG', 'ja'); ```

他にインストールしたい言語があれば該当リソースをWPにインストールして、

wp-config.phpを編集すればOKです。

参考サイト:

WordPressの言語を切り替えてみよう(日本語・英語・中国語…) - wordpressのテンプレート wpskinのブログ

#wordpress

移行手順

  • はてなダイアリーの「管理→ データの管理→ Movable Type形式」で記事をダウンロード
  • そのままWordPressの「ツール→ インポート→ Movable Type and TypePad」にアップロード

トラブル

すると一部の記事の投稿時間が1970年になってしまったんです。

検索してみたらはてなより出力されたファイルを下記のように「00:00:00」の「AM」を消せばいいとのことです。

  • 修正前: DATE: 11/19/2009 12:47:59 AM
  • 修正後: DATE: 11/19/2009 12:47:59

秀丸なのどエディタで一気に変更できるため、あんまり時間かからないはずです。 が、それでも一つの記事が1970になってしまって、そのデータをよ~く見たら「0:xx:xx PM」の形になってました。 ほかにもいろんなPMで始まる記事があるんですが、なぜかこれだけバグってます。

試しにDATE: 11/19/2009 00:47:59 PMDATE: 11/19/2009 01:47:59 PMに変更したら解決しました。 やはり0時のPMはうまく認識されないようです。

まとめ

  • 「AM」をすべて消す
  • 「2009 00:」を検索し「2009 01:」のように00時以外の時間に置換する
#wordpress

いつも自分のサイトを作りたいけど、なかなか時間的余裕がないし、技術の面でもまだまだの感じで、躊躇ばかりしていて先に進めませんでした。


先日やっと決意しました、とりあえずドメインとサーバを申請して、ブログでも移行して好き放題いじればと。


  • ドメイン:kinopyoです。お名前で380円一年を契約をしました。
  • サーバ:もともと自宅サーバを考えたんですが、ルータにNAT機能がないみたいでやはりレンタルサーバのチカッパを選択しました。値段的にも安いし機能も充実で。今はまだ15日間無料使用中です。

そして噂のWordPressを使えるようになりました。インストールとカスタムがとても簡単で、使い勝手がとてもいいです。プラグインも充実だし、手軽に自分が好きなブログが作れます。


これでやっと最初の一歩を踏み出しました。

#wordpress

手法

もう一つのWordPressフォルダをサーバにアップロードし、

設定ファイルで作成するテーブル接頭辞を変えることで

DBの衝突を避けるという手法です。

詳細

  1. もう一つのWordPressフォルダが必要(ダウンロードでもいいし、現行のものをコピーしてもOK)
  2. フォルダをリネームしサーバにアップロード
  3. 該当フォルダのwp-config.phpの下記行の内容を編集:例えばwp_をwp_sub_にするとか、既存のWordPressと衝突しなければOK
  4. 後は普通のインストールと同じように\wp-admin\installを実行
``` $table_prefix = ‘wp_’; ```

参考サイト

レンタルサーバーに複数のWordPressを設置する方法 - HUBLOG