【WordPress】オススメの設定値|WP Memory LimitとPHP php_value memory_limit, post_max_size, max_execution_timeの推奨値(違いと設定方法)

wordpress-prograshi(プロぐらし)-kv WordPress
記事内に広告が含まれていることがあります。

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のメモリ使用量をより細かく制御できます。


設定時の注意点

設定時は以下の項目に注意してください。

設定時の注意点
  1. レンタルサーバーによっては、.htaccessに記述した内容をサーバーに反映するために、サーバー設定を変更する必要がある。
  2. 単位は「MB」ではなく「M」で記述する(〇「upload_max_filesize 128M」)
  3. メモリ制限を大きくしすぎると、サーバーに負荷がかかり、他のユーザーのサイトに影響が出る可能性がある。
  4. 各設定値はサーバーの環境やWordPressのバージョンによって最適な値が異なる。
  5. 変更前にバックアップを取っておくことを推奨。


  • サーバーのメモリ容量や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つを設定することができます。

wp-config.phpのdefineで設定可能な項目
  • wp_memory_limit・・・非共通
  • upload_maxfilesize・・・共通
  • post_max_size・・・共通
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 Memory Limitの設定方法
  1. サーバー全体:php.iniファイル(max_execution_time)
  2. 特定のディレクトリのみ:.htaccess ファイル(php_value memory_limit)


サーバー全体:php.iniファイル(max_execution_time)

サーバー全体のPHP設定を変更したい場合は、php.iniファイルに以下を記述します。

max_execution_time = 64M

*上記は64MBにする場合です。必要に応じて数値を変更してください。
*php.iniファイルの場所はサーバーによって異なります。

注意点

lolipopやさくらインターネットなどのレンタルサーバーでは、安全性の観点から基本的にphp.iniが編集できないようになっています。

また設定できるものも限られます。lolipopの場合、CGI版は変更ができますが、モジュール版・LiteSpeed版は変更できません

また、変更可能なCGI版でもPHP設定画面で「php_valueを利用可能にする」をONにしないと設定できません。



特定のディレクトリのみ:.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を調整します。

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