WordPressサイトの速度を最大限に引き出すには適切な設定が不可欠です。
特にElementorなどを使う場合はPHPサーバーの設定を正しくしないと500エラーが頻発することになります。
この記事では、WP Memory LimitやPHPのメモリ制限など、パフォーマンスに大きく影響する設定項目について、その違いや推奨値、設定方法をわかりやすく解説します。
特に、以下の悩みをお持ちの方におすすめです。
- WordPressサイトが遅い
- 画像や動画がうまくアップロードできない
- プラグインが途中で止まってしまう
- サーバーエラーが発生する
この記事を読めば、これらの問題を解決し、快適なWordPressサイトを構築するためのヒントが得られます。
オススメの設定値
最初に結論から言うと、お勧めの設定値は以下になります。
.htaccessに追記する内容
php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value memory_limit 300M
php_value max_execution_time 300
php_value max_input_vars 2000
wp-config.phpに追記する内容
define('WP_MEMORY_LIMIT', '128M');
*上記は128MBにする場合です。必要に応じて数値を変更してください。
特に、自分のホストに動画などをアップロードする場合は「upload_max_filesize」や「post_max_size」を大きくしておく必要があります。
動画をアップロードする必要がなく画像のみの場合は、32MB程度でも基本的に問題ありません。自分がアップロードするファイルサイズに合わせて設定してください。
各項目の内容
php_value upload_max_filesize
php_value upload_max_filesize 128M
アップロードできる単一のファイルの最大サイズを128MBに制限します。
大容量の画像や動画などをアップロードする場合に影響します。この値が小さすぎると、大きなファイルをアップロードできない場合があります。
php_value post_max_size
php_value post_max_size 128M
HTTP POSTメソッドで受け取れるデータの最大サイズを128MBに制限します。
フォーム送信など、大量のデータを一度に送信する場合に影響します。通常、upload_max_filesize
よりも大きな値を設定します。
php_value memory_limit 300M
php_value memory_limit 300M
PHPスクリプトが使用できるメモリの最大サイズを300MBに制限します。
複雑な処理や大規模なデータ処理を行うスクリプトを実行する場合に影響します。メモリ不足になると、スクリプトが途中で停止してしまうことがあります。
php_value max_execution_time
php_value max_execution_time 300
PHPスクリプトの実行時間を300秒(5分)に制限します。
長時間実行されるスクリプトが途中で強制終了される可能性があります。
php_value max_input_vars
php_value max_input_vars 2000
$_POSTと$_GETで受け取れる変数の最大数を2000に制限します。
多くのフォーム要素を持つフォームや、大量のクエリパラメータを含むURLを使用する場合に影響します。
define(‘WP_MEMORY_LIMIT’, ‘〇M’)
define('WP_MEMORY_LIMIT', '128M')
WordPressが使用できるメモリの最大サイズを128MBに制限します。
WordPressのコア、プラグイン、テーマが使用するメモリ量を制限します。php_value memory_limit
と併せて設定することで、WordPressのメモリ使用量をより細かく制御できます。
設定時の注意点
設定時は以下の項目に注意してください。
- サーバーのメモリ容量やCPU性能に合わせて調整します。
- サイトの規模が大きいほど、メモリや実行時間が必要になります。
- 使用しているプラグインやテーマがメモリを大量に消費する場合は、メモリ制限を増やす必要があります。
- 複雑な処理や大規模なデータ処理を行う場合は、メモリ制限や実行時間を増やす必要があります。
推奨値の例(Premium Addons)
Elementor用のプラグイン「Premium Addons for Elementor」では、System Infoのメニューにいくと、現在の設定値と推奨の設定値が表示されます。
例えば、WPのMemory Limitが40MBの場合、最低でも64MBが推奨と表示されます。
また、PHPのTime Limit(max_execution_time)はデフォルトは30secですが、最低でも300sec以上にすることを推奨しています。
なぜWP Memory Limitのみ個別に設定しなければいけないのか?
lolipopやさくらインターネットなど基本的にphp.iniを直接編集することはできません。編集するのは「.htaccess」になります。
WordPressのwp-config.phpでも以下の3つを設定することができます。
define('WP_MEMORY_LIMIT', '256M');
define('UPLOAD_MAX_FILESIZE', '64M');
define('POST_MAX_SIZE', '128M');
このうち、「upload_maxfilesize」と「post_max_size」は.htaccessでも設定可能です。「wp_memory_limit」のみがWP特有の設定となっているため、個別に設定する必要があります。
WP Memory LimitとPHP Memory Limitの違いの詳細については下記をご参考ください。
WP Memory LimitとPHP Memory Limitの違いと設定方法
WP Memory LimitとPHP Memory Limitはどちらも使用可能なメモリ上限を設定するものですが、それぞれで上限設定の対象や設定方法が異なります。
WP Memory Limit
WP Memory Limitとは何か?
WP Memory Limitは、WordPressが利用できるメモリの最大値を指定します。
WordPressの動作に直接的な影響を与え、主にWordPressコアやインストールされているプラグイン、テーマが使用するメモリ量を制限します。
WP Memory Limitの設定方法
WP Memory Limitを設定するには、wp-config.phpファイルを編集します。
WordPressのルートディレクトリにある wp-config.phpファイルを開き、以下の行を追加または編集します。
define('WP_MEMORY_LIMIT', '64M');
*上記は64MBにする場合です。必要に応じて数値を変更してください。
PHP Memory Limit
PHP Memory Limitとは何か?
PHP Memory Limitは、PHPスクリプトが利用できるメモリの最大値を指定します。
WordPressだけでなく、サーバー上で実行されるすべてのPHPスクリプトに適用されます。つまり、WP Memory Limitよりも広範囲なPHP処理のメモリ使用量を制限します。
WP Memory Limitと同様にWordPressの動作に直接的な影響を与え、主にWordPressコアやインストールされているプラグイン、テーマが使用するメモリ量を制限します。
PHP Memory Limitの設定方法
PHP Memory Limitの設定方法はどの範囲に適用するかで以下の2種類があります。
サーバー全体:php.iniファイル(max_execution_time)
サーバー全体のPHP設定を変更したい場合は、php.iniファイルに以下を記述します。
max_execution_time = 64M
*上記は64MBにする場合です。必要に応じて数値を変更してください。
*php.iniファイルの場所はサーバーによって異なります。
特定のディレクトリのみ:.htaccess ファイル(php_value memory_limit)
特定のディレクトリ内のPHPスクリプトに適用したい場合は、そのディレクトリの.htaccessファイルに以下の行を追加します。
php_value memory_limit 64M
*上記は64MBにする場合です。必要に応じて数値を変更してください。
どちらを設定すべきか?
- WordPressに特化した問題: WP Memory Limit
- プラグインによるメモリ不足、テーマの処理が重いなど、WordPress固有の問題が発生している場合に調整します。
- サーバー全体の設定: PHP Memory Limit
- サーバー上で実行されるすべてのPHPスクリプトに影響を与えたい場合に調整します。
- WordPressだけでなく、他のPHPアプリケーションにも影響します。
注意点
- メモリ制限を大きくしすぎると、サーバーに負荷がかかる可能性があります。
- 変更する前に、必ずバックアップを取ってください。
- wp-config.php や .htaccess ファイルを編集する際は、慎重に行ってください。誤った編集は、サイトに不具合を引き起こす可能性があります。
- レンタルサーバーによっては、メモリ制限の変更ができない場合や、変更できる範囲が制限されている場合があります。
まとめ
WP Memory LimitとPHP Memory Limitは、どちらもメモリの制限に関わる設定ですが、対象範囲が異なります。
WordPressに特化した問題の場合はWP Memory Limit、サーバー全体の設定を変更したい場合はPHP Memory Limitを調整します。