WordPressへ画像、PDF、テーマ、プラグインなどをアップロードしたときに、upload_max_filesizeを超えていますというエラーが出ることがあります。これは、アップロードしようとしているファイルが、PHPやサーバーで設定された1ファイルあたりの上限を超えている可能性を示します。
- アップロードするファイルの容量
- WordPress画面に表示される最大アップロードサイズ
- サイトヘルスのメディア処理情報
- PHPのupload_max_filesizeとpost_max_size
- レンタルサーバー独自の設定・制限
upload_max_filesizeとは
upload_max_filesizeは、PHPでアップロードできる1ファイルの最大サイズを決める設定です。たとえば上限が2MBなら、5MBの画像やZIPを送ると処理できません。
一方、post_max_sizeはブラウザから送信するPOSTデータ全体の上限です。複数ファイルやフォームデータを含むため、upload_max_filesizeだけを大きくしても、post_max_sizeが小さいままだと失敗することがあります。
まずWordPress画面で上限を確認する
「メディア」→「新しいメディアファイルを追加」を開くと、現在の環境で許可されている最大アップロードサイズが表示されます。まずは、送ろうとしているファイルの容量と比べてください。
さらに「ツール」→「サイトヘルス」→「情報」のメディア処理項目では、最大アップロードサイズや最大POSTサイズなどを確認できる場合があります。
よくある原因
| 状況 | 考えられる原因 |
|---|---|
| 大きな画像だけ失敗 | 1ファイル上限を超えている |
| ZIPやインポートで失敗 | upload_max_filesize・post_max_size・実行時間の不足 |
| 上限を変えたのに反映しない | 編集した設定ファイルが現在のPHP環境で使われていない |
| 特定サービスだけ上限が小さい | 契約プランやサーバー側の制限 |
対処方法
1.ファイル自体を小さくする
画像なら、必要以上に大きな縦横サイズを見直し、WebPなどの形式を使う方法があります。単に上限を上げる前に、Webページで本当にその容量が必要かを確認しましょう。
画像軽量化の考え方は、WordPress画像を軽くする方法も参考になります。
2.レンタルサーバーのPHP設定画面を使う
多くのレンタルサーバーでは、コントロールパネルからPHP設定を変更できます。upload_max_filesize、post_max_size、必要に応じてmemory_limitや実行時間を確認します。
3.設定ファイルを直接触る場合は公式手順を優先
php.ini、.htaccess、user.iniなど、環境によって使える方法が異なります。サーバー会社が指定していない方法を試すと、500エラーや設定競合の原因になることがあります。
数値はどれくらいにすればよい?
必要な上限は、扱うファイルによって変わります。大きければ大きいほどよいわけではありません。実際に扱う画像・PDF・ZIPのサイズを確認し、その用途に必要な範囲で設定します。
WordPress.orgの資料でも、post_max_sizeはupload_max_filesizeより大きく、memory_limitはさらに十分な余裕を持たせる考え方が示されています。
上限を上げても直らないとき
- サーバーの空き容量が不足していないか
- wp-content/uploadsの権限に問題がないか
- WAFやセキュリティプラグインがブロックしていないか
- 画像形式やMIMEタイプが許可されているか
- ブラウザやネットワークの一時的な失敗ではないか
通常の画像アップロードで失敗する場合は、画像をアップロードできない原因と対処法、サーバー容量が気になる場合はレンタルサーバーの容量不足で起きる症状も確認してください。
やらない方がよいこと
- 必要性を確認せず上限を極端に大きくする
- 同時に複数の設定ファイルへ同じ値を書く
- 変更前の数値を控えない
- バックアップなしでサーバー設定を編集する
よくある質問
WordPressの設定画面だけで上限を変えられますか?
通常のWordPress管理画面だけでは変更できないことがあります。PHPやサーバー側の設定に依存するため、契約先の公式案内を確認してください。
画像を圧縮すればSEOにもよいですか?
過度な圧縮は画質を落としますが、必要以上に重い画像を軽くすることは表示速度の改善につながる場合があります。用途に合うサイズと画質を選びます。