WordPressを利用してWebサイトを作成している場合、サイトで利用したい画像や動画をメディアライブラリにアップロードする際にHTTPエラーが発生してアップロードできないことがあります。
今回は、WordPressでHTTPエラーが出て画像がアップロードできない時の対処法について解説します。
サイトコンテンツを作成しているときにこの現象が発生すると焦ってしまいがちなので、対処法をしっかり押さえておきましょう。
この記事の内容
WordPressでHTTPエラーが発生する主な原因
- ログインセッションのタイムアウト・接続切れ
- ファイルサイズが異常に大きい
- メモリ制限がボトルネックになっている
- 有効化しているプラグインに問題がある
- サーバ側に何らかの問題がある
HTTPエラーは単純なエラーですが、何が原因になっているのかを判別しにくいので問題になっていそうなポイントを1つずつ順番にチェックしなければなりません。
なかなか原因が判明しないこともありますが、もしエラーが発生した場合は以下の対象法を試してみるのがオススメです。
対処法1: 一旦ログアウトして再度ログインする
単純な接続切れやログインセッションのタイムアウトでHTTPエラーが発生している場合、一度WordPressからログアウトして再度ログインすると1発で解決します。
ただし記事の作成中の場合、オートセーブができておらずデータが消えてしまうケースも考えられます。
記事の編集画面を「テキストモード」にして、全てのソースコードをコピーしておくと、消えた際にすぐに復旧できます。
対処法2: 画像ファイルのサイズを調整する
画像ファイルのサイズが大きすぎる場合などは、編集ソフトで調整してからアップロードしてみましょう。適切なサイズに調整すれば問題なくアップロードできる場合があります。
画像ファイルのサイズが原因であることが判明した場合は、画像サイズを調整するプラグインなどもあるので利用を検討してみてください。
対処法3: 画像の拡張子をチェックする
特別なプラグインをインストールしていない場合、一部の画像ファイルはアップロードできないので拡張子をチェックしてください。
「.webp」、「.svg」、「.eps」などの画像ファイルはそのままではアップロードできません。対処としては次の方法があります。
- 方法1:jpgやpngなどの一般的な画像形式に変換する
- 方法2:webpやsvgに対応できるプラグインを利用する
- 『WP Add Mime Types』・・・webp、eps形式の対応
- 『SVG Support』・・・svg形式の対応
- 方法3:PHPに画像形式を追記する
- 「functions.php」に画像形式を新たに追記することで、対応していない画像形式をアップロードすることができるようになります。
function add_mimes($mimes) { $mimes['svg'] = 'image/svg+xml'; //svg形式 $mimes['webp'] = 'image/webp'; //webp形式 $mimes['eps'] = 'application/postscript'; //eps形式 return $mimes; } add_filter('upload_mimes','add_mimes');
*svg形式の場合は、サーバー環境によっては.htaccessに以下の追記が必要な場合があります。
AddType image/svg+xml .svg .svgz AddEncoding gzip .svgz
- 「functions.php」に画像形式を新たに追記することで、対応していない画像形式をアップロードすることができるようになります。
特にこだわりがなければ、画像形式を「.jpg」、もしくは「.png」に変換してからWordPressにアップロードしましょう。
対処法4: プラグインを無効化してアップロードを試す
WordPressにインストールしているプラグインがエラーの原因になっていることも多いので、一旦全て無効化して画像のアップロードを試してみましょう。
プラグインを無効化したら正常にアップロードできた場合、インストール済みのプラグインのどれかがエラーの原因になっているので、1つずつ有効化してどれが原因かをチェックしていきましょう。
エラーの原因になっているプラグインを特定できたら、当該プラグインをアンインストールして代わりになるプラグインを探しましょう。
対処法5: PHPのメモリ上限を増やす
WordPressが利用するメモリの上限が問題になっている場合は、使えるメモリの容量を増やすことでアップロードが正常にできる場合があります。
WordPressが利用するメモリの上限は、次のいずれかの方法で変更できます。
- 方法1:php.iniで変更する
memory_limit = 256M
- 方法2:.htaccessで変更する
php_value memory_limit 256M
- 方法3:wp-config.phpで変更する
define('WP_MAX_MEMORY_LIMIT', '256M');
メモリは、256MB以上に設定するのがオススメです。ただし、サーバの仕様によってはうまく機能しないことがあるので注意しましょう。
有名なサーバを使っている場合は対処法が公開されていることもあるため、一度チェックしてみることをオススメします。
対処法6: サーバにトラブルが発生していないかチェックする
ここまでの対処法を試してもHTTPエラーが解決しない場合は、サーバ側に何らかのエラーが発生していることが考えられます。
レンタルサーバを利用している場合は、運営会社の公式サイトや電話・メールによるサポートを利用して、トラブルが発生していないかを確認してください。Twitterで、障害情報が流れていないかチェックすることもおすすめします。
サーバ側に何らかのトラブルが発生している場合は修正されるまで待機しましょう。