WordPress のメモリ上限エラーメッセージ「Allowed memory size of 268435456 bytes exhausted」や「Allowed memory size of 536870912 bytes exhausted」に遭遇したことはありませんか?
この WP メモリ上限エラーが発生すると、サイトにアクセスできなくなり、重要な作業を完了できなくなることがあります。この記事では、WordPress のメモリ上限を増やして、メモリ枯渇エラーを修正する方法を説明します。
WP STAGING で Backup を作成中にメモリ使用量が高くなり、メモリ枯渇エラーが発生した場合は、この記事をお読みください。
Contents
「Allowed Memory Size of X Bytes Exhausted」エラーの原因
WordPress のメモリ上限エラー「Allowed memory size of 268435456 bytes exhausted」は、WordPress サイトが消費するメモリが多すぎる場合に発生します。WordPress を動かすプログラミング言語である PHP は、プロセスごとに利用できるメモリが限られています。サイトがこの上限を超えると、PHP はエラーをスローしてプロセスを停止し、エラーメッセージが表示されます。
WordPress サイトのメモリ消費が高くなる要因はいくつかあります。例えば、次のようなものです:
- 大きな画像ファイル: 大きな画像は、特に Web 用に最適化されていない場合、大量のメモリを消費する可能性があります。
- Plugin や Theme の競合: 一部の Plugin や Theme が互いに、または WordPress と競合し、メモリリークや高いメモリ使用率を引き起こすことがあります。
- キャッシュの問題: キャッシュ Plugin の設定が適切でないと、メモリ使用量が急増することがあります。
- トラフィックの急増: サイトのトラフィックが急に増えると、メモリ使用量が高くなることがあります。
「Allowed Memory Size of X Bytes Exhausted」エラーの修正方法
「Allowed memory size of X bytes exhausted」エラーを修正するために実行できる手順は次のとおりです:
PHP のメモリ上限を増やす
PHP のメモリ上限を増やすのが、このメモリエラーを修正する最も簡単な方法です。wp-config.php ファイルに以下のコードを追加することで設定できます:
define('WP_MEMORY_LIMIT', '256M');このコードはメモリ上限を 256 メガバイトに設定します。この数値はサイトのニーズに応じて調整・増加できます。メモリ枯渇エラーが発生しなくなるまで値を増やしてください。
必ず WP_MEMORY_LIMIT 定数を以下のコードブロックよりも前に追加してください:
/* That's all, stop editing! Happy blogging. */
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');画像を最適化する
メモリ使用量を減らすには、画像を Web 用に最適化する必要があります。Smush や EWWW Image Optimizer などの画像最適化 Plugin を使えば、品質を損なうことなく画像を圧縮できます。
Plugin と Theme を無効化する
Plugin や Theme がメモリ使用量を高めている疑いがある場合は、1 つずつ無効化して原因を特定できます。
ホスティングプランをアップグレードする
サイトでトラフィックの急増が頻繁に起こる場合は、増加したトラフィックに対応するためにホスティングプランのアップグレードが必要になることがあります。
これで WordPress / PHP のメモリ問題が解決しない場合は、以下のアドバイスに従ってください:
「Memory Exhausted」エラーの修正方法
まず、PHP が割り当てているメモリ量を確認し、システム情報のログを見てみましょう。
WP STAGING > Tools > System Info に移動して確認できます:

これは少なくとも 128M、できれば 256M 以上であるべきです。
より正確な代替方法は、空のファイルを作成して、以下のコードを追加することです:
<?php echo phpinfo();- このファイルを info.php として保存し、FTP またはファイルマネージャー Plugin を使ってサイトのルートにアップロードしてください。
- 続いて https://yoursite.com/info.php を開き、
memory_limitという行を見つけてください

この行は、サイトが使用するメモリの正確な量 (メガバイト単位) を示しています。
中規模の WordPress サイトでは、このメモリ上限は少なくとも 128M、できれば 256M 以上であるべきです。
メモリ上限が低い場合は、引き上げる必要があります。PHP.ini を編集することで PHP メモリ上限を増やせます。PHP.ini を開き、memory_limit という行を見つけ、値を次のように変更してください:
memory_limit = 256MPHP.ini がどこにあるかは、ホスティング業者に確認してください。
このファイルにアクセスできない場合は、.htaccess ファイルを編集して、以下のコードを追加してみてください:
php_value memory_limit 256Minfo.php ファイルまたはシステム情報のログを再度開いて、メモリ上限が増えているかを確認してください。
うまくいって phpinfo() が正しいメモリ上限を表示したら、サイトを再読み込みしてください。「Allowed memory size exhausted」エラーは解消されているはずです。
ご自身でメモリ上限を増やせない場合は、ホスティング業者に増やしてもらえるか問い合わせてください。
まとめ
「Allowed memory size of X bytes exhausted」エラーは厄介ですが、この記事で説明した手順で修正できる一般的な問題です。PHP のメモリ上限を増やす、画像を最適化する、競合する Plugin や Theme を無効化する、キャッシュの設定を確認する、必要に応じてホスティングプランをアップグレードすることで、メモリ使用量を減らしてこのエラーの発生を防ぐことができます。