【WordPress】画像アップロードでHTTPエラーが出る理由と解決方法

Wordpress関係


ブログを運営するにあたり、私はサイトの構築にWordpressを使用しています。
自由度も高く、SEOにも有効なテーマや設定を使用することが出来るので大変重宝しています。

編集画面も高機能なので画像や動画などのメディアを編集画面から直接アップロードできるのですが、たまにアップロードの際にエラーが発生します。
どんなエラーが発生するかというと
「HTTPエラー」と出て画像をアップロードすることが出来ないのです。
今回はこのエラーについて解決方法を見つけましたので、紹介したいと思います。

皆さんが使用しているサーバーや環境によってエラーの原因が異なるかもしれませんが、参考になればと思います。

HTTPエラーが発生する条件

解決方法を記す前に問題の「HTTPエラー」が発生する条件を分析してみました。
攻略するにはまず敵を知るといったところですかね(笑)

このエラーが発生した状況を思い起こしてみると、大体が執筆途中の記事を編集する際に発生しています。
例えば新規記事作成ボタンを押下し、タイトルや本文を書いている途中に諸用等で編集画面のままパソコンをスリープにして、用事が終わった後に再度パソコンを立ち上げて編集画面で記事を編集するといったケースです。

そのまま編集画面で編集した後に画像をアップロードしようとすると「HTTPエラー」が発生している確率が高いのです。
ということは「HTTPエラー」が発生する条件は以下になります。

  • 記事編集画面である
  • 編集途中でパソコンをスリープまたは休止状態にする
  • 復帰後そのまま編集画面である
  • 画像アップロードまでに一度も「下書きとして保存」を行うなど他の画面に遷移していない

上記の条件が満たされた際にHTTPエラーが発生しているということです。

これらから一つの仮説にたどり着きます。

基本的にWordpressはサーバー上で動くプログラムのようなものであり、編集すらもサーバー上で動くWordpressにアクセスして行います。
よって編集する際には編集に使用しているパソコンと一定の頻度でサーバーとの通信を行っています。
自動で下書きとして保存することができるのもその為ですね。
その状態で編集中に一度パソコンをスリープや休止状態にしてしまうと、パソコンはサーバーと通信を行うことが出来なくなります。
よって復帰した際にサーバーとうまく通信が回復せず、その状態でアップロードを行うとエラーが発生するのではないかと考えました。

 

HTTPエラーの解決方法

敵を知り発生条件がおおよそわかったところで、画像アップロードの際に発生するHTTPエラーを発生させないようにするにはどうすればよいのか?

要はサーバーとの通信が切れた状態で復帰することで、サーバーとの正常な通信が回復しないことが良くないのです。
ということは画像アップロードの前に正常な通信状態に回復させることが出来ればこのエラーは起こらないのではないか。

それを踏まえると解決方法はいたって簡単です。
別のページに遷移またはリロードすることで正常な通信を回復させればOKです。

例えばスリープや休止状態から復帰後に編集画面の状態で一度「下書きとして保存」を押下して、編集画面をリロードしてください。

そうするとサーバーとの正常な通信が回復し、アップロード操作を行ってもHTTPエラーが発生しなくなりますので、確認してみてください。

まとめ

WordPressを使用してブログを運用している方は、結構な確率で遭遇しているかもしれないHTTPエラーですが、実はかなり簡単な方法で解決することがわかりましたね。

画像アップロード時にエラーが発生して「なんでだろう」「どうしてだろう」と長い時間悩んでいた方はすぐに実行していただければと思います。
やり方は「編集画面をリロード(再度読み込みを行う)」だけですのでとても簡単です。

冒頭でも書きましたが、私が使用している環境と皆さんが使用している環境は異なります。
この方法で解決しないかもしれませんが、試す価値はあると思いますのでエラーで困っている方は一度試してみてください。

一応書いておきますが「画像ファイルがおかしい」「ファイルサイズがアップロード上限を超えている」「インターネット接続が切れている」等のメディアファイルに起因する原因や初歩的なミスが原因の場合はこの方法では解決できませんので
「解決しなかったぞプンプン」と憤慨しないようよろしくお願いします(笑)