画像アップロード時のWordPress httpエラーを解決する方法

WordPressにおけるhttpエラーとは、ファイルのアップロード処理中に何らかの問題が発生したことを示すコードです。通常、このhttpエラーは、画像やその他のファイルをメディアライブラリに追加しようとしたときに発生します。このガイドでは、この問題を解決するための実績ある9つの方法をご紹介します(順不同)。 それでは早速、始めましょう!
オールインワン型WordPressチートシートをダウンロードする
WordPressのhttpエラーを解決する9つの簡単な方法

画像をWordPressにアップロードする際に発生するhttpエラーについて、考えられる対処法を見ていきましょう。なお、以下の解決策は、画像だけでなく、動画、PDFファイル、その他WordPressが対応しているファイル形式にも有効です。
対処法1 httpエラーを確認する
サーバー側の一時的な不具合が原因で、WordPressのhttpエラーが発生することがあります。この記事で紹介する対処法を試す前に、まずエラーが常に発生するかどうかを確認してください。
数分待ってから、もう一度メディアファイルをアップロードしてみましょう。もし2回目のアップロードで成功した場合は、最初のエラーが一時的な問題だった可能性があります。
また、画像ファイル名を整理してみてください。例えば、ファイル名に含まれるアポストロフィ(’)やセミコロン(;)などの文字を削除します。ファイル名からアポストロフィを取り除くことでエラーが解消されたという報告も多数あります。
それでも問題が解決しない場合は、引き続き他の対処法をご覧ください。
対処法2 ブラウザを変更する
WordPressのhttpエラーは、Webサイト自体とは関係がなく、意外にもブラウザが原因で発生している可能性もあります。
実際、Google Chromeを使用しているときにhttpエラーが発生したという報告もあります。Chromeは優れたブラウザですが、別のブラウザに切り替えることで、問題がブラウザに起因するかどうかを確認することができます。それでも問題が解消しない場合は、以下にさらに詳しいトラブルシューティング手順をご紹介します。
対処法3 プラグインを無効化する

WordPressのhttpエラーがプラグインのインストール後に発生した場合、
まずはそのプラグインを無効化するのが最も有効な手段です。特に、画像最適化プラグインがこの問題の原因となることがよく知られています。そのため、画像最適化プラグインを使用している場合は、一時的に無効化し、再度画像をアップロードしてみてください。
もしhttpエラーが消えた場合は、別の画像最適化プラグインを探すのも一つの方法です。
または、プラグインの開発元に問い合わせて、さらなるトラブルシューティングを依頼することもできます。
それでもすべてのプラグインを無効化してもエラーが解消しない場合は、次のセクションで紹介する追加の対処法をお試しください。
対処法4 WordPressのメモリ上限を増やす
WordPressにおけるhttpエラーの一般的な原因のひとつは、メモリ不足です。
これは、503 Service Unavailableエラーなど、他のさまざまな問題の原因にもなります。メモリ不足を解消するには、以下の1行をwp-config.phpファイルに追加します:
define (‘WP_MEMORY_LIMIT’, ‘256M’);
このコードは、PHPのメモリ上限を256MBに引き上げるものです。ただし、この行を追加する前にサーバーで利用可能な最大メモリ上限がいくらかをPHP情報で確認しておくことをおすすめします。

対処法5 GDライブラリをデフォルトの画像エディターに設定する
ちょっとした“魔法”のような話ですが、WordPressには2つの画像エディターが搭載されていることをご存じでしたか?そのとおり、WordPressではImagickまたはGD Libraryのいずれかを使用して画像を処理しています。 どちらも優れたエディターですが、Imagickは利用可能なメモリを消費しやすく、httpエラーを引き起こすことで知られています。この問題を回避するには、GD Libraryをデフォルトのエディターに設定する必要があります。やり方は簡単。テーマのfunctions.phpファイルに以下のコードを追加します:
function hs_image_editor_default_to_gd( $editors ) {
$gd_editor = 'WP_Image_Editor_GD';
$editors = array_diff( $editors, array( $gd_editor ) );
array_unshift( $editors, $gd_editor );
return $editors;
}
add_filter( 'wp_image_editors', 'hs_image_editor_default_to_gd' );
変更を保存し、再度画像のアップロードをお試しください。それでもhttpエラーが発生する場合は、コードの変更を元に戻して、次の対処法をお試しください。
対処法6 .htaccessを編集する
.htaccessファイルは、WordPressのルートフォルダに存在し、さまざまな処理の“門番”のような役割を果たします。リクエストの送信先を制御するなど、さまざまな機能を担っています。

WordPressのhttpエラーを解消するには、.htaccessファイルを開いて、以下のコードを追加してください:
SetEnv MAGICK_THREAD_LIMIT 1
追加が完了したら、再度ファイルをアップロードして問題が解決されたか確認してください。
もしこれで解決しない場合は、以下のコードスニペットも試すことができます:
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
または
# Exclude the file upload and WP CRON scripts from authentication
<FilesMatch "(async-upload\.php|wp-cron\.php|xmlrpc\.php)$">
Satisfy Any
Order allow,deny
Allow from all
Deny from none
</FilesMatch>
これらのコードを1つずつ試し、変更を保存したうえで、再度メディアファイルのアップロードを行ってください。
対処法7 テーマを確認する

WordPressテーマのインストールやアップデート後にエラーが発生した場合、そのテーマが原因である可能性が高いです。このような場合は、まずWebサイト全体のバックアップを作成し、デフォルトテーマ(例:Twenty Seventeen)に切り替えてみるのが良い方法です。
デフォルトテーマで問題が発生しなければ、現在使用中のテーマの提供元や開発者に詳細を伝えて連絡してみましょう。このようなケースでは、httpエラーはテーマ固有の問題、またはテーマとプラグインの間の互換性の問題である可能性があります。
対処法8 PHPバージョンを確認する
バージョン3.2以降、WordPressをスムーズに動作させるには、PHPバージョン5.2.4以上が必要です。この条件を満たしていない場合、httpエラーが発生してしまう可能性があります。一部のレンタルサーバーでは、古いバージョンのPHPが使われていることがあり、どんな対処を試しても、WordPressのメディアライブラリに画像をアップロードできないという状況になることもあります。
では、どうすればよいのでしょうか?まずは、お使いのサーバーがPHPバージョン5.2.4以上を使用しているかどうかをホスティング会社に確認してください。あるいは、世界中の数百万人のWebサイト運営者が利用しているHostingerのようなサービスへ移行するのも一つの選択肢です。Hostingerでは、安定版のPHPがリリースされ次第、すぐに利用できるようになります。最高のパフォーマンスを得るためには、WordPress専用プランを選ぶことをおすすめします。
対処法9 キャッシュをクリアする

上記の対処法をすべて試しても、まだWordPressのhttpエラーが発生していますか?
あるいは、以前にエラーをすでに解消していたものの、今見えている“エラー”がローカルキャッシュによるものかもしれません。どの方法でも解決できなかったと諦める前に、一度ブラウザのキャッシュをクリアしてみてください。
まとめ
WordPressに画像をアップロードする際にhttpエラーが発生すると、あまり気分の良いものではありません。しかし、上記でご紹介した解決策のいずれかで、このエラーはきっと解消できると確信しています。
これまでにWordPressのhttpエラーに遭遇し、ここで紹介した以外の方法で解決したことがありますか?もしあれば、ぜひコメント欄でご自身の体験を共有してください!
WordPressのhttpエラーに関するよくある質問
WordPressのhttpエラーを解決するためのいくつかの方法を学んだところで、ここではよくある質問をご紹介します。
httpエラーとはどういう意味ですか?
httpエラーとは、クライアントからのリクエストに対してサーバーが返すエラーステータスコードのことです。これは、サーバーとクライアント間の通信に問題が発生し、リクエストを正常に処理できなかったことを示しています。
最も一般的なWordPressのhttpエラーは何ですか?
Webサイトでは、さまざまなhttpエラーが発生する可能性があります。中でも最も一般的なWordPressのhttpエラーは「500 Internal Server Error」です。このエラーは、サーバーの不具合、テーマやプラグインの衝突、ファイルの破損、その他技術的な問題によって発生することが多いです。
WordPressでhttpエラーを防ぐにはどうすればよいですか?
WordPressでhttpエラーを防ぐには、画像の最適化、衝突を引き起こしているプラグインやテーマの無効化、PHPメモリ上限の引き上げなどを試すことができます。それでもhttpエラーが発生する場合は、ファイルのパーミッションを確認したり、WordPressを最新バージョンに更新することをおすすめします。