2026年10月4日

2026年10月4日

WordPressのApache設定を最適化する方法

はじめに

WordPressサイトのパフォーマンスとセキュリティを向上させるためには、サーバー設定を最適化することが重要です。ApacheはWebサーバとして広く使用されており、その設定を最適化することで、サイトのロード速度やアクセス数に対する耐久性が向上します。

症状・背景

このテーマが必要になる主な場面:

  • サイトのロード時間が長い
  • ユーザーからのアクセス数が増えた場合に性能が低下する
  • 通信エラーが多くなる
  • セキュリティ上の問題が発生する可能性がある

手順・設定方法

ステップ1: Apacheモジュールの有効化

# mod_deflateでコンテンツ圧縮を有効にする
a2enmod deflate

# モジュールが正しく読み込まれていることを確認する
apachectl -M | grep deflate

ステップ2: .htaccessファイルの設定

# 静的ファイルのキャッシュ制御を有効にする
echo "Header set Cache-Control \"max-age=31536000, public\"" >> .htaccess
echo "ExpiresActive On" >> .htaccess
echo "ExpiresDefault A2903040" >> .htaccess

# 画像等のキャッシュ期間を設定する
echo "<FilesMatch \\.(ico|pdf|flv)$>" >> .htaccess
echo "Header set Cache-Control \"max-age=2903040, public\"" >> .htaccess
echo "</FilesMatch>" >> .htaccess

ステップ3: MultiViews機能の無効化

# MultiViews機能を無効にするために、DocumentRootディレクトリにデフォルトドキュメントが存在する場合のみ許可
sed -i 's/Options Indexes FollowSymLinks/Options -MultiViews Indexes FollowSymLinks/g' /etc/apache2/sites-available/000-default.conf

# ファイルの内容を確認し、変更が適切に行われていることを確認
cat /etc/apache2/sites-available/000-default.conf | grep Options

ステップ4: PHP設定とApache設定の統合

# php.iniでタイムアウト時間を長く設定する
echo "max_execution_time = 300" >> /etc/php/7.4/apache2/php.ini

# Apacheの設定ファイルを更新し、PHPのインクルードパスを追加
sed -i 's^<Directory /var/www/html/>^<Directory /var/www/html/>\n\tIncludeOptional /etc/php/7.4/apache2/*.ini^g' /etc/apache2/sites-available/000-default.conf

# ファイルの内容を確認し、変更が適切に行われていることを確認
cat /etc/apache2/sites-available/000-default.conf | grep IncludeOptional

注意事項

  • サーバー設定の変更は、サイトへの影響を最小限に抑えるために慎重に行うべきです。
  • パフォーマンスとセキュリティのバランスを見つけることが重要です。
  • Apacheの最新版を使用することを強く推奨します。
  • すべての設定変更後にはApacheが正しく動作していることを確認するため、systemctl restart apache2コマンドで再起動を行ってください。

まとめ

1. mod_deflate: コンテンツ圧縮を有効にすることで、データ転送量の削減とパフォーマンス向上が可能になります。

2. キャッシュ制御: .htaccessファイルで静的コンテンツのキャッシュ期間を設定し、ブラウザやCDNからのリクエストを減らすことができます。

3. MultiViews無効化: ファイル名の自動推測機能はセキュリティ上のリスクがあり、無効化することでサイトの安全性が向上します。

4. PHP設定とApache統合: PHPの設定ファイルとApacheの設定を適切に連携させることで、より効率的なサーバーレベルでの最適化が可能になります。

5. 再起動確認: 各ステップ終了後にApacheを再起動し、設定が正しく反映されていることを確認してください。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ
▲