[連載]WordPressでWebサービスを作る方法(8:サーバ選びと高速化)

さて、ここまで読まれた方は WordPress でのブログはもちろん、Webサービスを作り、沢山の方に見てもらうために最低限必要なことはお分かりになったかと思います。

今回は、WordPress で作ったサイトを公開するために必要なサーバはどのように選ぶべきかと、WordPress をより高速に動かすためにはどうすればよいかについて考えてみたいと思います。

といっても、「WordPress を動かすなら絶対このサーバ!」というものがあるわけではなく、用途やPV(アクセス数)によって選ぶべきサーバは異なりますので、色々なサーバについてメリット・デメリットを考えてみたいと思います。

WordPressのロゴ

目次

  1. PHPとは
  2. 開発環境の構築
    • MAMPやXAMPPのインストール
  3. WordPressとは
    • WordPressの仕組み
    • WordPressで作られたWebサイトやWebサービス
    • WordPressでWebサービスを作るために何をしなければならないのか
  4. WordPressテーマの作り方
    • WordPressの「テーマファイル」とは
    • WordPressのテーマファイルを作る: Free.Stockerの場合
    • functions.php とは
    • loop.php とは
  5. WordPressをWebサービス用のCMSとして使うために
    • 写真のアップロード先
    • 「カスタムフィールド」とは
    • functions.php とは
    • loop.php とは
  6. WordPressとSEO
    • SEOについて
    • SEOはSEO業者でないとできない?
    • 内部SEOと外部SEO
    • WordPressはSEOに向いている
    • SEOケーススタディ: フリー写真素材サイトの場合
    • All in one SEO Packの設定
    • 共起語SEO
    • ケーススタディ: うさぎの飼育用品のECサイト「うさぎのしっぽ」
    • 便利なツール
  7. ソーシャルメディアマーケティング
    • 「ソーシャルメディア」とは何か
    • SMOとは具体的にどんなものか?
    • SMOの実践
    • ソーシャルメディアからの人の流れ
    • はてブのホッテントリに自分のWebサービスやブログ記事を載せる方法
    • はてブでの自作自演は無視される
    • はてブされる記事やWebサービスを作るために
    • シェアされやすいコンテンツとは
  8. サーバ選びと高速化(⇐今ここ)
    • WordPressのためのサーバ選び
    • WordPressを高速に動かすために
  9. おすすめのプラグイン
  10. 資料

※最後の方は多少内容が変更になる可能性があります。

安く気軽に始めたいなら「ロリポップ

ロリポプラン の場合
種別: 共用レンタルサーバ
初期費用: ¥1,575(他社からの乗換の場合半額)
月額費用: ¥263
サービス: WordPress簡単インストール機能付き

格安レンタルサーバとして有名な「ロリポップ」は月額費用も安く、WordPressの簡単インストール機能もあるので初心者の方も安心です。

WordPress をロリポップに簡単インストールする手順は、YouTube に動画もアップされていました。
YouTube – ‪ロリポップでワードプレスのインストール手順‬‏

私は2009年頃ロリポップを使用していて、夜間(22:00〜0:00頃)ページの表示が重くなったり「データベースに接続できません」というエラーが出ることがあったのですが、最近はかなり改善されたようでクレームを聞くこともほとんどなくなりました。

はじめて WordPress サイトを作る方、身内向けの小さなブログを作る方にはぴったりだと思います。

注意点として、ロリポップ の場合「コロリポプランは選択しないで」ください。
コロリポプランは MySQLデータベースが利用できないため、WordPress は利用できません

大量のアクセスには耐えられないので、はてブのホッテントリを狙ったブログを作る場合や、1日5,000PV以上のブログやWebサービスを作りたい方は、上位プランのチカッパプラン(月額費用: ¥525)を選択された方が良いと思います。

Linuxサーバのセットアップができるなら「さくらのVPS」が断然おすすめ

さくらのVPS 512プラン の場合
種別: VPS(仮想専用サーバ)
初期費用: ¥0
月額費用: ¥980

現在、このブログは「さくらのVPS 512プラン」で運用しています。
今私が制作しているWordPressベースのWebサービスも さくらのVPS 上で開発しており、機能はもちろん速度にも安定性にも非常に満足しているので、しばらく愛用することになりそうです。

VPSとは、Virtual Private Server(仮想専用サーバ)の略で、すごくぶっちゃけて言うと「値段は安いけど専用サーバのように使えるレンタルサーバ」ですかね…

例えば、一般の共用レンタルサーバで「PHPのバージョンが古いから新しくしたい」とか「サーバの設定を変えて、より高速にページが表示されるようにしたい」等と思ってもどうしようもありません。

かといって、専用サーバを丸ごと1台借りると初期費用 ¥10,000〜、月額費用 ¥10,000〜という感じで、個人が趣味で運営するサイトにはかなり重荷です。
今話題のクラウドも、例えば Amazon EC2 の場合月額 ¥7000以上はどうしてもかかるそうです。

昔は、古いPCを初期化してWindowsの代わりにLinuxをインストールしたりして「自宅サーバ」として運営する方も結構いらっしゃいましたが(今でもいらっしゃいますが)、電気代が結構掛かるのと火災の危険などがあり、あまりおすすめはできません。

そこで注目されているのが VPS です。
「共用レンタルサーバ」と「VPS」は何が違うのか、口頭や文章で説明するのはなかなか難しいので図にしてみました。

共用レンタルサーバとVPSのイメージ

サーバを1台まるごと借りると高くつくので、共用レンタルサーバの場合はサーバのフォルダ(容量制限付き)を借りるイメージでしょうか。
1台のサーバをたくさんの方が借りる事により、月額数百円でサイトを維持することができます。

初期設定もほとんど必要なくすぐに使い始めることが出来ますが、サーバの設定を変えることはできませんし、サーバが混雑する時間帯になると自分のサイトへのアクセスはほとんど無くても表示に時間がかかるようになってしまいます。

それに対して、VPSはサーバの中にたくさんの仮想サーバが立ち上がっており、その中の1台を貸りるというイメージです。
「サーバの中にたくさんの仮想サーバが…」というのはピンと来ない方もいらっしゃるかもしれませんが、例えば Mac で Web制作されている方ならIE確認のために「VMware」というソフトを使って Mac 上に仮想の Windows を立ち上げている方もいらっしゃると思います。
それと同じようなものを想像して頂ければ分かりやすいかと思います。

VMware

もちろん、利用できるメモリやHDD容量に制限はありますが、仮想サーバの管理権限がもらえるのでサーバの設定を自由に書き換えたり必要なソフトをインストールしたりすることができます。
また、1台1台の仮想サーバは独立しているため、サーバ全体にアクセスが集中する時間帯(例えば夜21:00〜23:00)であっても、自分の仮想サーバへのアクセスが多くなければ表示が遅くなることはありません。

共用レンタルサーバと比較した場合のデメリットとしては、以下のようなことが挙げられるでしょうか。

  • Linuxサーバの設定方法についてきちんと勉強しなければならない
  • 設定に時間がかかる
  • セキュリティ設定をきちんとしていないと乗っ取られたりする危険性等がある

ちなみに、WordPress サイトを運用するにあたって VPS だとどのようなメリットがあるかについてはこの後詳しく解説します。

WordPressを高速に動かすために

このブログでは、過去にも ついに出た!Chrome版「Page Speed」の使い方 の記事等でWebサイトを高速化することの重要性について書いていますが、最近はそれ以外にもサイトを高速化しなければならない理由が出てきました。

それが、はてブの Chromeアプリ です。
はてブのChromeアプリは結構便利で私もよく利用しているのですが、あのアプリでは、ページが表示され始めるまでに3秒以上かかると「ページを読み込んでいます…」と表示されるのですが、他の事ができないし、なんだか404エラーみたいな画面で思わず閉じたくなるのは私だけでしょうか…?

はてブChromeアプリ

はてブアプリはページを別タブで開くことができず「待たされる」感覚が長く、さらに「ページを閉じやすい」ので、このブログのようにはてブのホッテントリページからの流入に頼っているブログには死活問題です。

これは、WordPress の高速化について本格的に考えなおさなければまずいと思ったので、ここでは WordPress を少しでも高速に動かすためにできることを考えてみます。

まずは余計なプラグインを停止する

WordPress で作ったサイトの表示に時間がかかる場合、まず余計なプラグインを停止させるところからはじめます。

管理画面にログインし、サイドバーにある [プラグイン] をクリックすると現在その WordPress にインストールされているプラグインの一覧が表示されますので、どうしても必要なもの以外は全て停止させましょう。

たまに「WordPress に必ずインストールすべきプラグイン30」みたいな記事をご覧になって、全てのプラグインをインストールしたためにページの表示に20秒以上かかるようになった…という方もいらっしゃいますが、どうしても必要なもの以外は全て停止させましょう。

たまに、Google Analytics を設置するだけのプラグイン等をインストールされている方もいらっしゃいますが、そんなのはテーマの header.php ファイル内にベタ書きで良いのではないでしょうか…

WordPress を高速化するためのプラグインを入れる

上記と反するようですが、WordPress を高速化するためのプラグインを入れると表示が速くなる場合「も」あります。
「も」というのは、速くならない場合もあるということです。

例えば、有名なプラグインだと

というキャッシュ系プラグインがあります。

以前に、この連載で「WordPressサイトにアクセスがあると、設定ファイルの内容に基づきデータベースにアクセスして必要なデータを取り出し、テーマファイルをもとに HTML を生成し、ブラウザに送信する」と書きましたが、キャッシュ系プラグインは生成された HTML をキャッシュしておき、次回からはそれを送信するものですね。

特に「W3 Total Cache」は多機能なので、非常に期待していたのですが フリー写真素材 :: Free.Stocker ではほとんど効果がなく、むしろ「テーマを変更したときにキャッシュをクリアしないと反映されない」「CSSが読み込めなくなることがある」など問題もあったので無効にしてしまいました。
素材サイトでは、テーマに色々なPHPを書いていることも影響しているのかもしれません。
一般的なブログであれば、効果があったという方もたくさんいらっしゃいます。

ちなみに、私が以前公開した WordPressを高速化するプラグイン WP Hyper Response はキャッシュ化とは全く違うアプローチでページの表示にかかる時間を短縮しており、一般的な共用レンタルサーバであればページの表示にかかる時間は速くなるはずです。
素材サイトの場合、管理画面の表示が大幅に速くなったのでサイトの管理がやりやすくなりました。

画像はなるべくCSSスプライトでまとめる

ページが表示され始めてから、全ての画像が読み込まれるまでに時間がかかる場合は、CSSスプライトをはじめ、下記ページに書かれている対策をとってみてください。
ついに出た!Chrome版「Page Speed」の使い方

サーバを移転すべきか検討する

それでもページの表示が速くならない場合は、サーバを移転することも検討した方が良いかもしれません。
私がいくつか調査した中では、共用レンタルサーバはどこも MySQL(データベース)の読み書きが遅く、Apache 以外のHTTPサーバソフトウェアを選択できないことから WordPress を高速に動かすのは難しいと思い、現在は さくらのVPS に移転しました。
(実は、昨年密かに別のVPSも試していたのですが速度が遅いことや障害が多いことから結局 さくらのVPS にしました。)

ちなみに、Webサービスを本格的にやろうとしている場合、いつかレンタルサーバを離れてVPSやクラウド、専用サーバに移行しなければいけない日が来ます。
まだ PHP や WordPress を使ったことのない方がいきなりVPSなどに挑戦…というのは難しいと思いますが、共用レンタルサーバに不満のある方や Linuxサーバ の勉強をしたい方は、ぜひこの機会に挑戦してみてください。

このブログの動作環境

現在このブログは以下の環境で動作しています。

サーバ: さくらのVPS 512プラン
OS: CentOS 5 (64bit)
HTTPサーバソフトウェア: Nginx (Proxy Cache使用)
PHP: php-fastcgi + APC
データベース: MySQL 5.3
gzip: on(HTMLやCSSを圧縮して転送)
expires: 30d(画像やCSSがブラウザのキャッシュにある場合、30日間はそちらを優先)

さくらのVPS 512プラン はメモリが 512MB と少なめですが、Apache の代わりに Nginx という軽量・高速でメモリ消費量も少ない HTTPサーバソフトウェア を使用し、MySQL もメモリの使用量を控えめになるようチューニングし、余計なソフトは起動しないことでメモリ消費量を抑えています。

WordPress はそのままだと毎回 MySQL データベースを読みに行くためどうしても静的な HTML(=普通のHTML)に比べて遅くなってしまいますが、Nginx の Proxy Cache を使うと素晴らしく速くなります。
試しに、このページを表示した状態でブラウザの「再読込」または「更新」ボタンを押してページを再読込して頂ければ、一般的な WordPress ブログより速いことがお分かり頂けるかと思います。

具体的な設定方法を、Linux のセットアップをしたことのない方でも分かるようにまとめて記事にしようかと思っていたのですが、最近CentOSが今後どうなるか分からなくてごたごたしているため、落ち着いてからにしようと思います。

私は、以下の記事を参考に初期設定・セキュリティ設定をし、

はじめてのさくら VPS + CentOS の初期設定からチューニングなどの作業まとめ | ウェブル
(Apache や eAccelerator はインストールしていません)

Nginx、php-fastcgi、APCなどの設定についてはある方にコマンド一覧をメールで頂いたのですが、こちらのブログの設定に非常に近いです。

WordPressを100倍速くする! MySQLの調整やnginx proxy cache | KRAY Inc
(WP Super Cache 等は設定していません)

※VPSはセキュリティ設定を全て自分でやらなければいけません。最低限、ウェブルに書かれているセキュリティ設定(SSHポートの変更、rootログイン禁止等)は必ず設定しておきましょう。

素材サイトは、今は共用レンタルサーバで動かしていますが近々 さくらのVPS に移転する予定です。

今作っている新サービスは、画像の転送量が多そうなのですが、転送量が増えてきた場合は さくらのVPS の上位プランに移行するより、無料の CDN を使って負荷分散をしようかと思っています。

今すぐ使える!CDN ~はじめてのCloudFlare(クラウドフレア)導入~ – SINAPlog

If you like this article click the Facebook “Like” button to share it with your friends!