2012年1月
データの移行に伴い、phpコードの文字化けが発生している箇所があります。
&lti や > のような文字化けが出ているコードはコピーしないでください。
現在、手直し中です。すみません。

WordPress サイト表示を高速化する方法

WordPressは動的生成のため、どうしてもサーバーに負荷をかけやすく、表示にも時間がかかりがちです。

またデータベースにもどんどんゴミが溜まって、動作が重くなっていきますので、負荷を抑え、サイト表示を速くする工夫が必要です。

以下は、データベース最適化とWordPress高速化のためのTipsです。

§ 特に関連のある記事

§ キャッシュ系プラグインを導入する

WordPressは動的生成されますが、キャッシュ系のプラグインを使用することにより見かけだけ静的にすることができます。

最も有名なプラグインは、WP Super Cacheですが、ネットワーク機能で動作させるなら『Quick Cache ( A WP Super Cache Alternative )』がおすすめです。

設置も簡単で、ネットワーク上でも問題なく動作します。

配布元よりダウンロードし、解凍したファイルをpluginsフォルダにアップロードして有効化すればインストール完了です。

WPMUおよびネットワークで動かすには、『wp-contents』に『mu-plugins』フォルダを作成します。

そこに『quick-cache-mu.php』をアップロードして、管理画面で有効化すればインストール完了。

自動的にすべての子サイトに有効になります。.htaccessの書き換えなどは必要ありません。

次に、管理画面のメニューから「Config Option」にアクセスします。

Quick Cache

まずはQuick Cache On/Offを開き、On(enabled)を選択します。

Quick Cache

その他の設定は分からなければデフォルトのまま置いておきましょう。

これだけで50%~70%ぐらい高速化します。ぜひお試しください。

Googleウェブマスターツールの「クロール統計情報」
Quick Cache

§ 投稿リヴィジョンのコントロール

記事を作成していると、自動保存機能によってどんどんrevisionが作成され、データベースが増大していきます。
これを回避するには、wp-config.phpにこれらのコードを書き込むことによってコントロールできます。

自動保存の間隔を秒単位でコントールする。 160秒おきに自動保存する場合。

define('AUTOSAVE_INTERVAL', 160 );  // 秒数

自動保存の回数を制御する。3回までの場合。

define('WP_POST_REVISIONS', 3);

自動保存の機能を無効にする。

define('WP_POST_REVISIONS', false );

自動保存は無効にしても差し支えありませんが、いざという時、参照することもあるので、回数を制御する方がベターかなと思います。

またリビジョンの削除には、こちらのプラグインも使えます。

Delete-Revision http://wordpress.org/extend/plugins/delete-revision/
DBに残っているリヴィジョンのデータを一括して削除してくれる。
非常に簡単。うちでも使いましたが、問題なく動作しています。


Revision Control http://wordpress.org/extend/plugins/revision-control/

リヴィジョン機能を自分の使いやすいようにアレンジできるプラグイン。


No Revision http://wordpress.org/extend/plugins/no-revisions/

リヴィジョン機能そのものを停止するプラグイン

データベースから手動で削除する場合は、phpMyadminのSQLに次のクエリを走らせます。

DELETE FROM wp_posts WHERE post_type = 'revision';

§ データベースの最適化

データベースも長く使用していると、リヴィジョンやスパムコメント、不要な空白などが溜まって余計な重量が増します。

これを削除することで、動作が軽くなることがあります。

海外サーバーだと、データベースのRepair機能があるので、これをクリックするだけで自動的に不要なスペースなどを削除し、最適化してくれます。
Quick Cache

Repair機能がない場合は、プラグインを使って最適化する方法があります。

WP-Optimizeは、クリック一つでリビジョン投稿やスパムコメント、データのゴミを削除してDBを軽量化してくれます。

必要な時だけ有効化して、定期的に使うことをおすすめします。

§ テキストベースのデザインを使用する

WordPressの魅力はカラフルでビジュアル効果の高いテーマ・テンプレートを気軽にインストールできる点ですが、jQueryやSlideShowなど、様々なエフェクトがたくさん盛り込まれていると、その分、サイトの読み込みも遅くなり、サーバーにも大きな負荷をかけることになります。

最近の情報では、表示の遅いサイトはSEOに不利だとも言われています。

個人でテキスト主体のサイトを運営するなら、テキストベースのデザインが軽くておすすめです。

「Simple」「Minimalism」といった検索ワードで探せば、ほとんどテキストだけで構成されたお洒落なテンプレートがたくさん見つかりますので、ぜひご一案ください。

§ 関数をHTMLタグに置き換える

これは荒技の一つですが、たとえばheader.phpにありがちな

<title><a href=&quot;http://word-express.net&quot; title=&quot;初めてのWordPress&amp;PC&quot;>初めてのWordPress&amp;PC</a></title>

といったコードも、普通にHTMLタグに置き換えることができます。

<title><a href=&quot;http://●●.com&quot;>私のブログ日記</a></title>

関数で呼び出す情報をHMTLで書き表すことによって負荷を軽減する、という考え方です。

しかしながら、この考え方には賛否両論あって、置き換えない方がよい、という意見もあります。

私も半々ぐらいに置き換えていますが、今のところ大きな弊害は出ていません。

§ テンプレート内にフィードを呼び出さない

複数サイトを運営している場合、他のブログの新着記事をフィードを使って呼び出す方法があります。

しかし、記事タイトルだけでも、フィードの読み込みはサーバーに大きな負荷をかけ、サイト表示を遅くします。

ブログパーツを使って、外部のRSSサービスを利用する方法もありますが、そこまで劇的に軽減するわけではありません。

それなら、ブログロールとして扱い、ブログロール用のプラグインを使うか、フィードの読み込みは避けるか、どちらかです。

もし、サブドメインやサブディレクトリで複数サイトを運営しているなら、いっそネットワーク機能を取り入れ、データベースから呼び出した方が動作は速いです。

こちらはMU用のプラグインですが、WP3.0のネットワーク上でも機能します。
jopGlobalBlogArchive(WordPress MU Plugin)

新着記事を表示するのと同じ要領でデータベースから呼び出してくれるので、動作も軽快でおすすめです。

Ads

Leave a Reply

Trackback URL

QR Code Business Card