【php.iniだけじゃダメ】WordPressで利用するメモリを増やす方法

WordPressを高速化するときに、「メモリを増やしましょう」というのがあって、古い記事だとphp.iniに「memory_limit = 256M;」って書きましょうとか書いてあるんですが、Wordpressでは内部的に消費メモリを限定する設定項目があって、そちらも変更しないと利用メモリを増やせないので、その方法を書きます。

結論:グローバル変数を設定する

WordPress本体のルートフォルダに入っている、wp-config.phpを変更します。

このファイルはとても大切なので、何かエラーがあったときに元に戻せるよう作業前に必ずバックアップを取ってください。

また、この設定は必ず「wp-settings.php」を読み込む前に書く必要があります

変更前(ファイルの最後の方です)

// ↑(上にはデータベースなどの設定が書かれている)
// ↓(この部分はファイルの最後の方の一部抜粋です)

/** Sets up WordPress vars and included files. */
require_once ABSPATH . 'wp-settings.php';

変更後(「require_once ABSPATH . ‘wp-settings.php’;」より前に)

上との実質的な違いは「define」から始まる2行を追加しているだけです。

// ↑(上にはデータベースなどの設定が書かれている)
// ↓(この部分はファイルの最後の方の一部抜粋です)


// wp-settingを読み込む前に設定する必要がある
define('WP_MEMORY_LIMIT', '128M'); // フロントエンド
define('WP_MAX_MEMORY_LIMIT', '128M'); // 管理画面


/** Sets up WordPress vars and included files. */
require_once ABSPATH . 'wp-settings.php';

解説

グローバル変数 WP_MEMORY_LIMIT と、 WP_MAX_MEMORY_LIMIT で、Wordpress内で利用できるメモリを設定できます。

特に設定されていない場合は、デフォルトは40MBになります。一般的に、重いサイトだと50MB~60MBくらい使っていますので、64M~128Mに設定しておくといいと思います。

数字を増やして(1024Mとかにして)めちゃめちゃ大量に確保しても一定以上は早くならないですし、サーバ側で(php.ini側で)設定したものよりも大きくならないので、必要なだけ確保するのが良いです。

その他:レンタルサーバでの設定

ロリポップなどの一部レンタルサーバで「クイックインストール」などの機能を使ったWordpres環境では、この項目は十分な値をあらかじめ設定されているので、変更する必要が無いかもしれないです。

その他:メモリの確認方法

現在のページでWordpressがどのくらいメモリを使っているかは、「Query Monitor」というプラグインを使うと確認できます。

インストールして有効化すると、Wordpressの実行に関する様々な情報を見ることが出来ます。具体的にどこを見ればいいかというと管理画面の一番、管理バーに「1.24s 76.0MB 0.08s」などの文字列が表示されるようになります。この文字列の2番目、この例だと「76.0MB」が現在のページで使ったメモリ量になります。

このプラグインは、メモリだけでなく他の情報も確認できるので、とてもおすすめです。あと、このプラグインはWordpressの動作状況を計測するだけなので、もし確認作業が完了して利用しなくてもよくなったら、無効化しておくことをお勧めいたします。

質問・コメントなどあると嬉しいです