VPS vs 共用レンタルサーバー:VPSは自分でサーバーを管理する必要がありますが、メモリやCPUを独占できるためトラフィックが増えても安定します。月10万PV以上、または複数サイトを運用する場合はVPSへの移行が有効です。
Phase 1 / プラン選択
WordPress向けVPSプランの選び方
小規模
1GBプラン
月1〜5万PV
サイト数:1〜2
プラグイン:10本以下
目安:880〜1,200円/月
サイト数:1〜2
プラグイン:10本以下
目安:880〜1,200円/月
中規模 推奨スタート
2GBプラン
月5〜30万PV
サイト数:3〜5
プラグイン:20本程度
目安:1,500〜2,200円/月
サイト数:3〜5
プラグイン:20本程度
目安:1,500〜2,200円/月
大規模
4GBプラン
月30万PV以上
サイト数:10以上
EC・会員サイトなど
目安:3,000〜4,000円/月
サイト数:10以上
EC・会員サイトなど
目安:3,000〜4,000円/月
初めてVPSにWordPressを構築する場合は2GBプランから始めるのが安定します。1GBはMySQL+PHPのメモリ消費でギリギリになる場合があります。
| 要素 | 確認すること |
|---|---|
| メモリ | MySQL + PHP-FPM + Nginx の合計メモリ使用量は1GB環境で600〜900MB。余裕を持たせるなら2GB |
| CPU | 2コア以上推奨。1コアだとアクセス集中時に遅くなりやすい |
| ストレージ | 画像・動画コンテンツが多い場合は50GB以上確保 |
| データセンター | 読者が日本なら東京・大阪のDCを選ぶ |
Phase 2 / 初期セットアップ
VPS初期設定(Ubuntu 22.04)
- VPSにSSH接続し、一般ユーザーを作成する
adduser deployerusermod -aG sudo deployer - SSH鍵認証を設定し、パスワード認証を無効化する
# ローカルPCで公開鍵を生成ssh-keygen -t ed25519 -C "your_email"# 公開鍵をサーバーにコピーssh-copy-id deployer@サーバーIP - パッケージを更新し、ファイアウォールを設定する
apt update && apt upgrade -yufw allow 22 && ufw allow 80 && ufw allow 443ufw enable
Phase 3 / Webサーバー・PHP・DBのインストール
Nginx + PHP-FPM + MySQL のインストール
# Nginx インストール
apt install -y nginx
# PHP 8.2 + PHP-FPM + WordPress必須拡張
apt install -y php8.2-fpm php8.2-mysql php8.2-xml php8.2-curl php8.2-mbstring php8.2-zip php8.2-intl php8.2-gd php8.2-imagick
# MySQL インストール
apt install -y mysql-server
mysql_secure_installation
MySQL にWordPress用DBを作成する
mysql -u root -p
CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY '強いパスワード';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
WordPress のインストール
cd /var/www/html
wget https://ja.wordpress.org/latest-ja.tar.gz
tar -xzf latest-ja.tar.gz
mv wordpress/ example.com/
chown -R www-data:www-data /var/www/html/example.com/
Nginx 設定ファイルの作成(WordPress向け)
# /etc/nginx/sites-available/example.com に以下を記述
server {
listen 80;
server_name example.com www.example.com;
root /var/www/html/example.com;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff2)$ {
expires 30d;
add_header Cache-Control "public, no-transform";
}
}
# 設定を有効化してNginxを再起動
ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
Phase 4 / SSL(HTTPS)設定
Let's Encrypt で無料SSL証明書を取得する
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com
# 自動更新のテスト
certbot renew --dry-run
Phase 5 / パフォーマンス最適化
高速化の設定
| 設定項目 | 方法 | 効果 |
|---|---|---|
| OPcache(PHP) | php.ini で opcache.enable=1 | PHP処理が2〜5倍高速化 |
| Nginx静的ファイルキャッシュ | CSS/JSに expires 30d を設定 | 繰り返しアクセス時の転送量削減 |
| Gzip圧縮 | Nginx設定に gzip on; を追加 | HTML/CSS/JSのサイズを約70%削減 |
| WordPress キャッシュプラグイン | WP Super Cache / LiteSpeed Cache | 動的ページを静的HTML化 |
| 画像最適化 | WebP変換プラグイン(Imagify等) | 画像容量を30〜60%削減 |
| MySQL slow query log | slow_query_log=1 でボトルネックを特定 | 重いクエリを発見して最適化 |
OPcache の設定例(/etc/php/8.2/fpm/conf.d/10-opcache.ini):
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.validate_timestamps=0
Phase 6 / セキュリティ設定
WordPress セキュリティのポイント
- wp-config.php のパーミッション:
chmod 600 wp-config.phpでオーナー以外の読み取りを禁止する - xmlrpc.php の無効化:Nginx設定で
location = /xmlrpc.php { deny all; }を追加し、ブルートフォース攻撃の入り口を塞ぐ - 管理画面のIP制限:
location /wp-admin/ { allow 自分のIP; deny all; }を設定してWP-Adminへのアクセスを制限する - fail2ban の導入:ログイン試行失敗を監視してIPをブロックする
- 定期バックアップ:UpdraftPlusなどのプラグインでDB+ファイルをリモートストレージ(S3等)に自動バックアップ
- WordPressとプラグインの定期更新:脆弱性対策の基本。更新前にバックアップを取る習慣をつける
⚠️ デフォルトの管理者ユーザー名「admin」は変更してください。パスワードは16文字以上の複雑なものを使用し、二段階認証プラグインの導入も推奨します。
メンテナンスとモニタリング
- ディスク使用量の確認:
df -hで定期確認。WordPressのログやバックアップでディスクが埋まることがある - メモリ使用量の確認:
free -mまたはhtopでメモリ消費を監視する - Nginxアクセスログの確認:
/var/log/nginx/access.logで異常なアクセスパターンを確認する - SSL証明書の自動更新確認:
certbot renew --dry-runを定期実行してcronジョブが動いているか確認する - MySQLのバックアップcron:毎日深夜にmysqldumpを実行して外部ストレージへ転送するcronジョブを設定する
WordPress VPS バックアップの設定方法
VPS上のWordPressは共用サーバーと異なり、バックアップは基本的に自分で設定します。DBファイルとWordPressファイルの2つを定期的に外部に保存することが基本です。
| バックアップ方法 | 対象 | 自動化 | ストレージ先 |
|---|---|---|---|
| UpdraftPlus(プラグイン) | DB+ファイル | ◎ 自動 | Google Drive / S3 / Dropbox 等 |
| mysqldump(コマンド) | DBのみ | ○ cron設定 | ローカル or S3 |
| VPS スナップショット | サーバー全体 | △(手動 or VPS機能) | VPS提供元のストレージ |
| rsync + S3 | ファイル全体 | ○ cron設定 | AWS S3 / Wasabi 等 |
最小構成のバックアップ自動化(cron + mysqldump):
# /etc/cron.d/wp-backup を作成(毎日深夜2時に実行)
0 2 * * * www-data mysqldump -u wp_user -p'パスワード' wordpress_db > /backup/db_$(date +\%Y\%m\%d).sql
# 7日以上前のバックアップを自動削除
0 3 * * * www-data find /backup -name "*.sql" -mtime +7 -delete
UpdraftPlusの設定方法(プラグイン):WordPress管理画面 → プラグイン → UpdraftPlus をインストール → 設定でバックアップ頻度(毎日推奨)とストレージ先(Google Drive等)を選択 → 「今すぐバックアップ」で初回動作確認。無料版でもDB+ファイルの自動バックアップが可能です。
WordPress VPS おすすめプラン比較
WordPress運用に特化した場合のVPS選定基準を整理します。
| VPSサービス | 推奨プラン | 月額目安 | 強み | 注意点 |
|---|---|---|---|---|
| ConoHa VPS | Linux 2GB | 774円〜(12か月契約) | WordPressテンプレートあり・国内DC・初心者向き | 料金体系が複数あり、期間やキャンペーンで変わる |
| Xserver VPS | 2GBプラン | 1,620円〜 | WordPress特化設定・高速SSD | 国内専業のため海外対応は限定的 |
| さくらVPS | 2GBプラン | 1,738円〜 | 老舗で安定・豊富な日本語情報 | 管理画面がやや古め |
| Vultr | 2GBプラン | 約$10〜12/月 | コスパ良・グローバルDC | 日本語サポートなし・英語設定が必要 |
WordPressをすぐ立ち上げたい初心者はConoHa VPS(テンプレート一発セットアップ)、コマンドで自由に設定したい場合はさくらVPS・Xserver VPS、コスパ重視なら海外VPSが選択肢です。
既存VPSからの移行手順を見る →