最終更新日
アップロードサイズ制限について
WordPressで画像や動画などのメディアファイルをアップロードしようとした際、「アップロードファイルの最大サイズを超過しています」といったエラーに遭遇した経験はありませんか?この制限はWordPress自体が課しているものではなく、利用しているサーバー環境に起因することがほとんどです。ここでは、なぜこの制限が存在し、どのように解決し、さらに効率的なメディア管理を行うためのベストプラクティスについて深く掘り下げて解説します。
1. WordPressのアップロードサイズ制限が存在する理由
WordPressのファイルアップロードサイズには、サーバー側の設定によって上限が設けられています。これには主に以下の理由があります。
- 【サーバーリソースの保護】無制限に大きなファイルをアップロードできてしまうと、サーバーのメモリやCPUリソースを過剰に消費し、他のウェブサイトや同じサーバーを利用するユーザーに影響を与える可能性があります。
- 【セキュリティの確保】大容量ファイルのアップロードは、悪意のある攻撃(DoS攻撃など)に悪用されるリスクもゼロではありません。制限を設けることで、ある程度のセキュリティを維持しています。
- 【効率的な運用】ウェブサイトの読み込み速度は、ユーザー体験やSEOに直結します。あまりに大きなファイルを直接アップロードさせないことで、サイト全体のパフォーマンス低下を防ぐ狙いもあります。
2. 現在のアップロードサイズ制限を確認する方法
まず、自身のWordPressサイトの現在のアップロードサイズ上限を確認しましょう。
- WordPressの管理画面にログインします。
- 左メニューから「メディア」→「新規追加」をクリックします。
- ファイルアップロードエリアの下に「最大アップロードファイルサイズ:〇〇MB」と表示されています。
3. WordPressのアップロードサイズを増やす方法
アップロードサイズを増やすには、主に以下の4つの方法があります。サーバー環境や契約プランによって、実行できる方法が異なります。
方法1:php.ini
ファイルを編集する(推奨される主要な方法)
php.ini
はPHPの設定ファイルで、サーバー全体または特定のディレクトリでのPHPの動作を制御します。多くの場合、このファイルの設定を変更することでアップロードサイズを調整できます。
変更すべき主要なディレクティブは以下の通りです。
upload_max_filesize
:アップロードできるファイルの最大サイズを定義します。例えば「64M」と設定すれば64MBまでアップロード可能です。post_max_size
:POSTリクエストで許可されるデータの最大サイズを定義します。フォームからのデータ送信にも影響するため、upload_max_filesize
以上の値を設定する必要があります。memory_limit
:PHPスクリプトが使用できる最大メモリ量を定義します。アップロード処理中に必要なメモリも含まれるため、post_max_size
以上の値を推奨します。max_execution_time
:PHPスクリプトが実行される最大時間を秒単位で定義します。大きなファイルをアップロードする際にタイムアウトしないよう、十分な時間を設定します(例: 300秒)。
php.ini
ファイルの探し方と編集方法
- ファイルマネージャーまたはFTP/SFTPクライアントでサーバーに接続:多くのレンタルサーバーでは、コントロールパネルからファイルマネージャーにアクセスできます。または、FileZillaなどのFTP/SFTPクライアントを使用してサーバーに接続します。
php.ini
の場所- ルートディレクトリ(
public_html
やwww
など)直下にあることが多いです。 - 場合によっては、
wp-admin
ディレクトリ内や、レンタルサーバー固有のPHP設定ディレクトリにあることもあります。 - もし見つからない場合は、サーバーのドキュメントを確認するか、PHP関数
phpinfo();
を記述したファイルを作成し、ブラウザでアクセスするとLoaded Configuration File
の項目でphp.ini
のパスを確認できます。
- ルートディレクトリ(
- 編集:
php.ini
ファイルを開き、上記のディレクティブを探して値を変更します。もし存在しない場合は、ファイルの末尾に追加します。 Ini, TOMLupload_max_filesize = 64M post_max_size = 64M memory_limit = 128M max_execution_time = 300
- サーバーの再起動(必要であれば):変更を適用するために、サーバーの再起動が必要な場合があります。レンタルサーバーの場合は、コントロールパネルからPHPバージョンの切り替えやPHP設定の再読み込みを行うことで反映されることがあります。不明な場合は、サーバーのサポートに問い合わせましょう。
方法2:.htaccess
ファイルを編集する
.htaccess
ファイルは、Apacheウェブサーバーの設定をディレクトリ単位で制御するためのファイルです。サーバーがApacheを使用している場合、このファイルにPHPの設定を記述してアップロードサイズを変更できることがあります。
WordPressのルートディレクトリにある.htaccess
ファイルに以下のコードを追加します。
Apache
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value memory_limit 128M
php_value max_execution_time 300
php_value max_input_time 300
注意点:
- この方法は、PHPがApacheモジュールとして動作している場合にのみ有効です。FPMなど他のPHP実行環境では機能しません。
- サーバーによっては、
.htaccess
ファイルでのPHP設定変更を許可していない場合があります。
方法3:wp-config.php
ファイルを編集する
wp-config.php
はWordPressのコア設定ファイルです。このファイルにPHPのメモリ制限を設定することで、アップロードサイズに影響を与えることがあります。
WordPressのルートディレクトリにあるwp-config.php
ファイルを開き、/* That's all, stop editing! Happy publishing. */
の行の上に以下のコードを追加します。
PHP
define('WP_MEMORY_LIMIT', '128M');
注意点:
- この設定は
memory_limit
にのみ影響し、直接upload_max_filesize
を変更するものではありません。 - サーバーの
php.ini
設定がwp-config.php
の設定よりも優先される場合があります。
方法4:テーマのfunctions.php
ファイルを編集する
一時的な対応や、他の方法が難しい場合に試せる方法ですが、推奨度は低いです。テーマのfunctions.php
ファイルに以下のコードを追加します。
PHP
@ini_set( 'upload_max_filesize', '64M' );
@ini_set( 'post_max_size', '64M');
@ini_set( 'max_execution_time', '300' );
@ini_set( 'max_input_time', '300' );
注意点:
- テーマを更新するとこの変更が上書きされる可能性があります。子テーマを使用するか、別途プラグインで対応することを推奨します。
@
記号はエラーを非表示にするものですが、サーバーによってはini_set
自体が許可されていない場合があります。
方法5:プラグインを利用する
コードの編集に不安がある場合は、プラグインを利用するのが最も簡単な方法です。
- WP Increase Upload Max Filesize:シンプルにアップロードサイズの上限を管理画面から変更できるプラグイン。
- Increase Max Upload Filesize:同様に、設定画面から数値を変更できる。
プラグインは手軽ですが、機能が限定的であることや、サーバーの根本的な制限を解除できない場合があることを理解しておきましょう。
4. 変更が反映されない場合の確認事項
- サーバーのキャッシュ:サーバー側でキャッシュが効いている場合、変更がすぐに反映されないことがあります。しばらく待つか、サーバーのコントロールパネルからキャッシュをクリアしてみてください。
.user.ini
ファイル:共有サーバーの場合、php.ini
の代わりにユーザーごとにPHP設定をカスタマイズできる.user.ini
ファイルが存在する場合があります。そちらを確認・編集してみてください。- レンタルサーバーのプラン制限:最も重要な点です。レンタルサーバーによっては、契約プランによってPHPの設定変更に上限が設けられている、または
.htaccess
やphp.ini
の編集ができない場合があります。この場合は、サーバーのコントロールパネルで設定を変更するか、サポートに問い合わせるしかありません。より上位のプランへの変更が必要になることもあります。 - 入力ミス:コードの記述に誤りがないか、半角スペースや全角文字が入っていないかなどを確認しましょう。
5. ベストプラクティスと注意点
- 不必要に大きな値を設定しない:アップロードサイズを極端に大きく設定する必要はありません。本当に必要なファイルサイズに合わせて最小限の値を設定しましょう。
- メディアファイルの最適化:大きなファイルをアップロードする前に、画像圧縮ツール(TinyPNGなど)や画像編集ソフトでファイルサイズを最適化することが最も重要です。これにより、サーバーの負荷軽減、表示速度の向上、ストレージ容量の節約に繋がります。
- 動画ファイルは外部サービスを利用:長尺の動画や高画質の動画は、YouTubeやVimeoなどの動画ホスティングサービスにアップロードし、WordPressに埋め込むのが一般的です。これにより、WordPressサイトのパフォーマンスを維持できます。
- 定期的なバックアップ:サーバー設定ファイルを編集する前には、必ずサイト全体のバックアップを取るようにしましょう。
WordPressのアップロードサイズ制限は、サーバー設定を理解し適切に対処することで、ほとんどの場合解決できます。もしご自身での対応が難しい場合は、レンタルサーバーのサポートデスクに相談するか、ウェブ制作の専門家に依頼することをお勧めします。
ホームページのメンテナンス管理のことならご相談ください。