WordPress保守完全ガイド:初心者が安心して実践できる定期メンテとセキュリティ強化

WordPress の保守は、サイトを安全に運営し、訪問者の体験を向上させるための不可欠なプロセスです。
初心者の方でも行いやすいように、保守を「定期メンテとセキュリティ強化」に分けて、ステップバイステップで解説します。
以下では、保守開始時にすべき基本作業から、日常で実践できる簡単タスク、さらにサーバー側で設定すべきポイントまで、網羅的にまとめました。


  1. 1. Webサイト保守の重要性とは
  2. 2. まずはバックアップの設計と実行
    1. 2-1. バックアップの種類
    2. 2-2. バックアッププラグインの選定
    3. 2-3. バックアップ失敗時の対策
  3. 3. WordPress コア・テーマ・プラグインのアップデート戦略
    1. 3-1. アップデートの優先順位
    2. 3-2. 自動更新の設定
    3. 3-3. バージョン管理とテスト環境
    4. 3-4. 失敗した場合のロールバック
  4. 4. データベース最適化とメンテナンス
    1. 4-1. データベースのクリーンアップ
    2. 4-2. テーブル最適化
    3. 4-3. プラグインの最適化
    4. 4-4. データベース自動化
  5. 5. セキュリティ対策:推奨プラグインと設定
    1. 5-1. サイト全体を守るプラグイン
    2. 5-2. 基本設定
    3. 5-3. 重要なファイル保護
    4. 5-4. ログインセキュリティ
  6. 6. ファイル権限とサーバー設定(.htaccess, wp-config.php)
    1. 6-1. 権限のベストプラクティス
    2. 6-2. .htaccess のセキュリティ強化
    3. 6-3. wp-config.php のセキュリティ
    4. 6-4. ファイルの自動更新を抑制
  7. 7. 侵入検知とログ監視
    1. 7-1. アクティビティロガー
    2. 7-2. 定期アラート
    3. 7-3. サーバー側ログ
  8. 8. 既知の脆弱性を防ぐための実践的ヒント
    1. 8-1. 定期脆弱性スキャン
    2. 8-2. 重要なファイルの署名
    3. 8-3. API キーと認証情報の暗号化
    4. 8-4. ファイルインクルード攻撃の防止
  9. 9. アクセス解析とパフォーマンス管理
    1. 9-1. アクセス解析
    2. 9-2. 速度テスト
    3. 9-3. リソースの分析
  10. 10. まとめとチェックリスト

1. Webサイト保守の重要性とは

WordPress はオープンソースであるがゆえ、世界中の誰もがコードを変更・アップデートできます。
その結果、以下のようなリスクが常に潜んでいます。

リスク 具体例 影響
バグ・脆弱性 コア・テーマ・プラグインの古いバージョン 不正ログイン、サイト停止
データ消失 バックアップ無し → 失敗 記事・ユーザー情報完全喪失
パフォーマンス低下 大量スレッド・古いキャッシュ ページ読み込み遅延
スパム・ボット攻撃 画像ロジックなし コメントスパム、DDoS

保守の目的は「予防」にあります。
定期的に行う簡単な手順で、事前にリスクを軽減できるため、サイトを継続的に安全に保つのは簡単です。


2. まずはバックアップの設計と実行

2-1. バックアップの種類

種類 内容 取得頻度
完全バックアップ データベース + ファイル全体 月1回
増分/差分バックアップ 変更箇所のファイル + 変更されたDB行 日次
ポイントインタイム 任意日時まで戻せるDBスナップショット 必要に応じて

2-2. バックアッププラグインの選定

プラグイン 特徴 無料/有料
UpdraftPlus スケジュール設定、クラウド(Google Drive 等) 無料・有料
BackWPup 大容量でメール送信可 無料
VaultPress 1日1回、リアルタイム 有料

初心者は UpdraftPlus で「毎日増分バックアップ、毎週完了バックアップ」と設定するのが手軽です。
バックアップファイルは オフサイト で保存(クラウドストレージや遠隔サーバ)を推奨。

2-3. バックアップ失敗時の対策

  • バックアップ完了メールを受け取る設定にする
  • 定期的に復元テストを行う(DBと画像が正常に復元されるか確認)
  • バックアップ保持期間を設定し、古いファイルは自動で削除

3. WordPress コア・テーマ・プラグインのアップデート戦略

3-1. アップデートの優先順位

  1. WordPress コア:毎月 1 つのバージョンがリリース
  2. セキュリティパッチを含む:脆弱性が公開された場合は即時
  3. テーマ / プラグイン:自動更新が設定されていないものは手動で確認

3-2. 自動更新の設定

  • WordPress コア:管理 > 更新 で「メンテナンス更新を自動で行う」を有効化
  • プラグイン:更新通知で「自動で更新」を有効化 (ただし安全性の低いプラグインは手動が安全)
  • テーマ:自動更新は非推奨。テーマ更新は必ず事前にテストサーバで検証されているものに限定

3-3. バージョン管理とテスト環境

  • ステージング環境(例:Subdomain staging.yoursite.comwp-tests を使用)で変更を検証
  • バージョン管理:重要な作業は Git で管理し、変更履歴を残す
  • 変更通知:重要アップデート時にメールで知らせるように

3-4. 失敗した場合のロールバック

  • UpdraftPlus の差分バックアップを元に復元
  • 変更前の wp-config.php や .htaccess をバックアップから差し替える

4. データベース最適化とメンテナンス

4-1. データベースのクリーンアップ

  • wp_posts:不要な「Revision」や「Draft」記事を削除
  • wp_postmeta:重複したメタ情報をまとめる
  • wp_optionssiteurl, home 以外の無効化

4-2. テーブル最適化

  • phpMyAdmin / Adminer から OPTIMIZE TABLE を実行
  • 定期的(3か月ごと)に実行することでパフォーマンス維持

4-3. プラグインの最適化

  • WP-Optimize でキャッシュと短期メタ情報を削除
  • Transients Manager で不要な transient を削除

4-4. データベース自動化

  • Cronwp-cli コマンドを実行し wp db optimize を自動化
  • 例: 0 3 * * * wp db optimize --path=/path/to/wordpress

5. セキュリティ対策:推奨プラグインと設定

5-1. サイト全体を守るプラグイン

プラグイン 主な機能 推奨設定 無料/有料
Wordfence Security ファイアウォール、DDoS防御 「ライブサイトトラフィック」を有効化 無料・有料
Sucuri Security ファイルの整合性監査 「サイトモニタリング」を常時オン 無料・有料
iThemes Security ブルートフォース防止、ログイン制限 「ロックアウト時間」を 300 秒に 無料・有料
Really Simple SSL HTTPS 強制 「自動移行」を有効化 無料・有料

5-2. 基本設定

設定項目 推奨値 目的
DISALLOW_FILE_EDIT true ダッシュボードからファイル編集を無効化
WP_SECURITY true 公式のセキュリティモード(実装はカスタム)
AUTH_KEY, SECURE_AUTH_KEY 固有に生成 セッション情報のハッシュ化強化
define('FORCE_SSL_ADMIN', true) 必要に応じて 管理画面を HTTPS で強制

5-3. 重要なファイル保護

  • .htaccess 編集により wp-config.phpreadme.html を非公開に設定
  • サーバー側でファイル権限 777 ではなく、755 (フォルダ)、644 (ファイル) を基本に

5-4. ログインセキュリティ

  • パスワードは 256 ビット SHA-512 で管理
  • 2 要素認証 (2FA) を活用(Google Authenticator, Authy 等)
  • ログイン試行に対して IP 制限や CAPTCHA を設置

6. ファイル権限とサーバー設定(.htaccess, wp-config.php)

6-1. 権限のベストプラクティス

  • wp-config.php: 600
  • wp-content/uploads: 775
  • すべてのディレクトリ: 755
  • すべてのファイル: 644

6-2. .htaccess のセキュリティ強化

# 1. wp-config.php を保護
<Files wp-config.php>
deny from all
</Files>

# 2. 読み取り専用で index.html を防止
<Files ~ "\.(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$">
Order Allow,Deny
Deny from all
</Files>

# 3. 画像フォルダだけを許可
<Directory "/wp-content/uploads">
Order Allow,Deny
Allow from all
</Directory>

6-3. wp-config.php のセキュリティ

define('SCRIPT_DEBUG', false);          // 本番時は最小化
define('WP_DEBUG', false);             // デバッグ情報は非表示
define('DISALLOW_FILE_MODS', true);    // ファイル改ざん防止
define('DISALLOW_FILE_EDIT', true);    // ダッシュボードからの編集無効

6-4. ファイルの自動更新を抑制

add_filter('auto_update_plugin', '__return_false');   // プラグイン更新をオフ
add_filter('auto_update_theme', '__return_false');    // テーマ更新をオフ

7. 侵入検知とログ監視

7-1. アクティビティロガー

  • Activity Log (WP Activity Log):ユーザー行動履歴と変更ログ
  • WP Security Audit Log:セキュリティ関連のログ(ログイン、変更、エラー等)

7-2. 定期アラート

  • 「失敗ログイン 5 回」「ファイル変更 50 行以上」があった場合にメールで通知
  • Fail2Ban で SSH / FTP アクセスのブロックを自動化

7-3. サーバー側ログ

  • Apache / Nginx のアクセスログとエラーログを 7 番台で確認
  • mod_securityModSecurity で一般的な攻撃パターンをブロック

8. 既知の脆弱性を防ぐための実践的ヒント

8-1. 定期脆弱性スキャン

  • WPScan(無料)で脆弱性をチェック
  • Sucuri SiteCheck:サーバーとファイルをチェック

8-2. 重要なファイルの署名

  • wp-content/uploads の中の画像は sha256sum を保存し、改ざんを検知
  • 画像アップロード時に hash=sha256:xxx をデータベースに保存

8-3. API キーと認証情報の暗号化

  • wp-config.phpdefine('SECRET_KEY', 'xxxxx');
  • 環境変数で管理(.envconfig.php への直書きは不可)

8-4. ファイルインクルード攻撃の防止

  • require_once のパスをフルパスで指定
  • realpath() でパス正規化

9. アクセス解析とパフォーマンス管理

9-1. アクセス解析

  • Google Analytics: ページ滞在時間、直帰率の監視
  • Google Search Console: サイトマップ、検索クエリ、リンクステータス

9-2. 速度テスト

  • GTmetrix, Pingdom, WebPageTest を定期的に実行
  • 画像圧縮(EWWW Image Optimizer)、キャッシュ(WP Rocket)を併用

9-3. リソースの分析

  • 1 サーバーに最大 50 同時接続を想定
  • バックアップやログファイルは /tmp 等別パーティションへ

10. まとめとチェックリスト

項目 実施
バックアップ(最低週1回) はい
コア・テーマ・プラグイン更新 週次で確認
データベース最適化 3か月ごと
セキュリティプラグイン運用 Wordfence / Sucuri 有効
.htaccesswp-config.php 設定 チェック済み
ファイル権限 755/644 基本
ログ監視 月に1回確認
パフォーマンス測定 1か月1回
侵入検知設定 有効化
アクセス解析 データ収集継続
チェックリスト 毎週完了チェック

初心者の方は 「一度に全部を完了」 を目指すべきではありません。
まずは「バックアップ+更新」を確実に行い、次に「パフォーマンス+セキュリティ」を徐々に補完するのが最適です。

保守は継続のプロセス。
1 周期ごとに上記チェックリストを通り、疑問点が生じたらサポートフォーラムで質問しましょう。
WordPress を安全に、そして高性能で維持できれば、訪問者も安心し、SEO も上がります。

安心して運営を続けるために、今日からでも小さなメンテナンスを取り入れ、サイトを守りましょう。

コメント

タイトルとURLをコピーしました