2026年8月30日
2026年8月30日
WordPressのzlibが無効な場合のエラー解決
はじめに
WordPressの管理画面上で「圧縮が無効になっています」という警告メッセージが出る場合があります。これは、サーバー側でZLIB圧縮が有効になっていないことを示しています。この問題は、特定のプラグインやテーマを正しく機能させるために重要です。
症状・背景
- ワードプレス管理画面の「システム情報」タブに「圧縮: 無効」という警告が表示される
- 一部の画像ファイルやCSS/JSファイルが正しく読み込まれない
- サイト速度が低下する可能性がある
- 関連プラグインが正常に動作しない
手順・設定方法
ステップ1: PHP設定ファイルを確認する
# WordPressインストールディレクトリでphp.iniファイルを検索します
find / -name 'php.ini' 2>/dev/null
# ファイルが見つかった場合、その内容を開きます(エディタはviまたはnanoなど)
sudo vi /etc/php/7.4/apache2/php.ini
ステップ2: ZLIB設定を有効にする
# php.iniファイルに次の行を追加します
zlib.output_compression = On
# 変更内容を保存し、サーバーを再起動します(エディタのコマンドはviの場合)
:wq
sudo systemctl restart apache2
ステップ3: .htaccessファイルに圧縮設定を追加する
# WordPressインストールディレクトリで.htaccessファイルを開きます
cd /var/www/html/wordpress/
sudo vi .htaccess
# ファイルに次のような内容を追加します
<IfModule mod_deflate.c>
# ジャバスクリプト圧縮
AddOutputFilterByType DEFLATE application/javascript
# CSS圧縮
AddOutputFilterByType DEFLATE text/css
# HTML圧縮
AddOutputFilterByType DEFLATE text/html
# XML圧縮
AddOutputFilterByType DEFLATE text/xml
# テキスト圧縮
AddOutputFilterByType DEFLATE text/plain
# Flash圧縮
AddOutputFilterByType DEFLATE application/x-javascript
# ソースコード圧縮
AddOutputFilterByType DEFLATE application/javascript source-code
# データ圧縮
AddOutputFilterByType DEFLATE application/json
</IfModule>
ステップ4: 実践/トラブルシュート/監視
# PHP設定が正しく適用されているか確認します
php -i | grep 'zlib'
注意事項
- サーバーの再起動は、サイトへの影響を最小限に抑えるために非ビジネス時間帯に行うことが推奨されます。
- .htaccessファイルの変更は、WordPressテーマやプラグインによって上書きされる可能性がありますので、その点に注意してください。
- ZLIB圧縮の設定変更は、サイトのパフォーマンス向上には効果的ですが、サーバーの負荷を増加させる可能性もあります。適切な監視とチューニングが必要です。
まとめ
1. PHP設定ファイルの確認: 必要な圧縮オプションが有効になっていることを確認します。
2. htaccessファイルへの追加: ファイル形式ごとの圧縮を設定します。
3. サーバー再起動: 変更内容を反映させるために必要です。
4. トラブルシュート: PHPの情報でZLIBが有効になっていることを確認します。
関連記事: