WordPressの「There Has Been an Error Cropping Your Image」

画像のないWordPressサイトを想像できますか?画像はサイトコンテンツのキャラクターを定義する上で欠かせない要素であり、WordPressのメディアエディターを使えば、管理ダッシュボードを離れずに画像のトリミングやリサイズが簡単に行えます。

しかし、メディアライブラリで画像を編集しようとすると、「There has been an error cropping your image」というエラーに遭遇することがあります。この問題は通常、PHP GD拡張機能がサーバーで欠如しているか無効になっているために発生します — GDはWordPressが画像操作に使用するものです。

まとめ: このエラーは、ほぼ常にPHP GD拡張機能がサーバーで無効になっていることを意味します。WordPressはGDを使用して画像を処理・トリミングします。GDなしでは、メディアエディターは黙って失敗します。以下のほとんどの修正は5分未満で完了します — エラーがすべてのブラウザのすべての画像に影響している場合は、方法6から始めてください。

迅速な診断:最初に試すべき方法は?

すべての方法を順番に実行する前に、この表を使用して適切な開始点を選択してください:

症状 推奨される開始点
エラーが特定の画像にのみ表示される 方法1 — 画像ファイルを検査する
エラーがプラグインのインストールまたは更新後に始まった 方法4 — プラグインを無効化する
エラーがテーマの変更または更新後に始まった 方法5 — デフォルトテーマに切り替える
エラーが特定のブラウザにのみ表示される 方法2 — ブラウザのキャッシュをクリアする
エラーがすべてのブラウザのすべての画像に表示される 方法6 — PHP GDライブラリを確認する(主な原因)
エラーが特に大きな画像のアップロード後に表示される 方法3 — PHPメモリ上限を増やす

注意: 変更を加える前に、サイトのバックアップを取ることをお勧めします。何か問題が発生した場合、簡単に以前の状態に戻すことができます。WP Stagingは自動バックアップのためのシンプルなソリューションを提供します。詳しくは、バックアップと復元ガイドをご覧ください。

方法1: 画像ファイルを検査する

エラーが特定の画像にのみ表示され、他の画像には表示されない場合に方法1を使用してください。 単一の問題ファイルは、サーバーの設定を調査する前に除外するのが最も簡単なケースです。

画像ファイルの整合性を確認する。 WordPressのトリミングエラーをトラブルシューティングする上で重要なステップは、画像ファイルが破損していないことを確認することです。整合性を確認する方法は次のとおりです:

  • ローカルでプレビュー: WordPressにアップロードする前に、ローカルビューアで画像を開きます。破損したファイルは適切に開かないか、歪みが表示される可能性があります。
  • 画像を再生成または再ダウンロード: 画像が破損しているように見える場合は、ソースから再度ダウンロードするか、ご自身で作成した場合は、グラフィックデザインソフトウェアから再エクスポートしてみてください。

画像のサイズがテーマの仕様に合っていることを確認する。 WordPressテーマは、特にヘッダーやアイキャッチ画像などの要素について、画像の特定の寸法を必要とする場合があります。想定範囲外の寸法はトリミングエラーを引き起こす可能性があります。

ファイルを再ダウンロードしてエラーが解決された場合、原因はファイルの破損であり、サーバーの設定の問題ではありませんでした。残りの方法をスキップできます。

方法2: ブラウザのキャッシュをクリアする

エラーが1つのブラウザでは表示されるが別のブラウザでは表示されない場合、またはメディアエディターがセッション間で一貫性のない動作をする場合に方法2を使用してください。 古いバージョンのWordPressのキャッシュされたJavaScriptファイルが、画像エディターのトリミングインターフェースを妨害する可能性があります。

ブラウザのキャッシュをクリアすると、WordPressの画像トリミングエラーを効果的に解決できます。キャッシュは読み込みを高速化するために一時ファイルを保存しますが、古いデータや破損したデータが管理ダッシュボードで予期しないエラーを引き起こすことがあります。

Google Chrome: Ctrl + Shift + Deleteを押し、希望の期間を選択して、「データを削除」をクリックします。

WordPress の画像トリミングエラーを修正するために Google Chrome ブラウザのキャッシュをクリアする。

Mozilla Firefox: Ctrl + Shift + Deleteを押し、適切な期間を選択して、「今すぐ消去」をクリックします。

WordPress のトリミングエラーを修正するために Firefox ブラウザのキャッシュをクリアする。

キャッシュをクリアした後、サイトを再読み込みして、画像のトリミングエラーが解決されたかどうかを確認します。解決されない場合は、次の方法に進んでください。キャッシュを定期的にクリアすることで、WordPressの管理スクリプトの最新バージョンを常に実行していることが保証されます。

方法3: PHPメモリ上限を増やす

エラーが特に大きな画像のアップロード後に発生する場合に方法3を使用してください。 WordPressがメディアエディターで高解像度ファイルを読み込む際に割り当てられたPHPメモリを使い果たすと、GDが実行される機会を得る前にトリミング操作が失敗します。

「Error Cropping Your Image」エラーは、アップロード中にサーバーのメモリが不足した場合に発生する可能性があります。PHPメモリ上限を増やすことで、WordPressが大きな画像ファイルを処理するためのリソースが増えます。

FTPまたはホスティングプロバイダーが提供するファイルマネージャーを通じて、WordPressファイルにアクセスします。

WordPress ファイルにアクセスするために cPanel ファイルマネージャーを見つける。

WordPressインストールのルートディレクトリ(通常は「public_html」または「www」)を見つけます。

wp-config.php ファイルにアクセスするためにルートディレクトリを見つける。

wp-config.phpファイルを開きます。

PHP メモリ上限を増やすために wp-config.php ファイルを編集する。

PHP設定を含むセクションまでスクロールし、「That’s all; stop editing! Happy blogging.」と書かれている行のすぐ上に次のコード行を追加します。

PHP
define('WP_MEMORY_LIMIT', '256M');

特定の要件に基づいて、メモリ上限の値(例:256M)を調整できます。wp-config.phpファイルへの変更を保存します。

コードを追加した後、wp-config.php ファイルを保存する。

WP STAGINGのサポートチケットでは、このメモリ上限の解決策が、GDのメモリ割り当てをメインのPHPメモリ制限とは別に制限している共有ホスティングで役立つことを確認しています — 既存の制限が十分に見える場合でも同様です。WP_MEMORY_LIMIT256Mに設定してもエラーが解決しない場合は、ホストがサーバーレベルでWP_MAX_MEMORY_LIMITを低く設定していないか確認してください。その上限を増やすためにホストに連絡する必要があるかもしれません。

方法4: プラグインを無効化する

エラーがプラグインのインストールまたは更新後に現れた場合、またはサーバーの設定を調査する前にプラグインの競合を除外する必要がある場合に方法4を使用してください。 セキュリティプラグイン、画像最適化プラグイン、一部のページビルダーがメディアエディターのリクエストを傍受し、トリミング操作を失敗させる可能性があります。

原因を特定するには:

  • サイトにログインしてWordPress管理ダッシュボードにアクセスします。
  • サイドバーの「プラグイン」に移動し、すべてのアクティブなプラグインの隣のチェックボックスを選択して、複数を一度に選択します。
WordPress ダッシュボード - プラグインを選択

プラグインを選択したら、上部の「Bulk Actions」ドロップダウンに移動し、「Deactivate」を選択して、「Apply」ボタンをクリックします。

画像のトリミング中のエラーをトラブルシューティングするためにプラグインを無効化する。

すべてのプラグインを無効にした後、サイトに戻って画像のトリミングエラーが解決したかどうかを確認します。エラーが消えた場合は、各プラグインを1つずつ再アクティブ化して、競合を引き起こしているプラグインを特定します。エラーを引き起こす特定のプラグインを見つけるまで続けてください。

方法5: デフォルトテーマに切り替える

エラーがテーマの変更またはテーマの更新後に始まった場合に方法5を使用してください。 テーマはWordPressメディアエディターと競合するカスタムJavaScriptを読み込んだり、画像トリミングリクエストを妨害するカスタムAJAXハンドラーを登録したりする可能性があります。

デフォルトのWordPressテーマに切り替えることで、アクティブなテーマが原因かどうかを確認できます。

WordPressダッシュボードにログインし、サイドバーの「外観」に移動し、「テーマ」をクリックして、デフォルトのWordPressテーマを有効化します。

HTTP 501 エラーをトラブルシューティングするためにデフォルトテーマに切り替える

デフォルトテーマに切り替えた後、サイトを確認して、画像のトリミングエラーが解決したかどうかを確認します。エラーが消えた場合、元のテーマが原因である可能性が高いです。テーマを再アクティブ化する前に、保留中のテーマ更新を確認するか、テーマの開発者に連絡してください。

方法6: PHP GDライブラリが有効であることを確認する

エラーがすべての画像とすべてのブラウザに表示され、前のどの方法でも解決しない場合に方法6を使用してください。 WP STAGINGのサポートチケットでは、PHP GD拡張機能が無効になっていることが、縮小されたPHPビルドを配布する管理ホスティングプロバイダーで見られるほとんどのケースの主な原因です。

WordPressで画像操作を実行するには、PHPにGD拡張機能が必要です。GDはGIF、PNG、JPEG、WBMP、XMPを含む幅広い画像形式をサポートしています。GDなしでは、メディアライブラリ内のすべてのトリミング、リサイズ、サムネイル生成操作が失敗します。

1. GDライブラリのインストールを確認する:

サーバーのターミナルで次のコマンドを実行して、GDが読み込まれているかどうかを確認します:

php -m | grep gd

gdが出力に表示されれば、拡張機能は読み込まれています。コマンドが何も返さない場合、GDはPHP設定で欠如しているか無効になっています。

PHPファイルからgd_info() を呼び出して、サポートされている形式の完全なリストとライブラリのバージョン詳細を取得することもできます。

2. GDライブラリをインストールする:

  • Ubuntu / Debian: sudo apt-get install php-gd
  • CentOS / RHEL: sudo yum install php-gd

3. GDライブラリを有効にする:

php.iniファイルを開き、extension=gd行が存在し、コメントアウトされていない(先頭に;がない)ことを確認します。

4. Webサーバーを再起動する:

Apacheサーバーの場合:sudo systemctl restart apache2

5. 変更を確認する:

php -m | grep gdを再実行してGDがリストされていることを確認し、WordPressメディアエディターでトリミング操作を再試行します。

権威ある参照として、php.netのPHP GDおよび画像関数ドキュメント と、developer.wordpress.orgのWordPress画像エディターAPI を参照してください。

どの修正も機能しない場合の対処法

6つの方法すべてを試してもトリミングエラーが続く場合、問題はWordPress自体ではなく、サーバーの設定レベルにある可能性があります。

サーバーレベルのGDコンパイルについてホストに連絡してください。 一部の管理ホスティングプラットフォームでは、PHPがGDサポートなしでコンパイルされており、アカウントユーザーが拡張機能をインストールできません。ホストはGDを有効にしてPHPを再コンパイルするか、アカウントをそれを含むPHPビルドに移行する必要があります。ホストがGDがPHPバイナリにコンパイルされているかどうかを確認できるように、php -mの出力を提供してください。

WP_MAX_MEMORY_LIMITの上限を確認してください。 WordPressは2つのメモリ定数を定義しています:WP_MEMORY_LIMIT(フロントエンドの制限)とWP_MAX_MEMORY_LIMIT(管理エリアの上限)。wp-config.phpWP_MEMORY_LIMITを増やしても、ホストがサーバーレベルで低いWP_MAX_MEMORY_LIMITを課している場合は効果がありません。ホストにアカウントの最大許容PHPメモリと制限を増やせるかどうかを確認してください。

ImagickとGDの競合を確認してください。 GDとImagickの両方がインストールされている場合、WordPressはImagickを優先的な画像エディターとして使用し、Imagickが失敗した場合にのみGDに切り替えます。Imagickがインストールされているが設定が不適切な場合(一部のcPanel共有ホスティングで発生するシナリオ)、WordPressはそれを使用しようとして失敗し、GDに適切に切り替わらない可能性があります。WordPressにGDを優先させるには、テーマのfunctions.phpまたはサイト固有のプラグインに次のフィルターを追加します:

add_filter( 'wp_image_editors', function( $editors ) {
    return array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' );
} );

このフィルターを追加した後にトリミングエラーが解決された場合、原因はGDライブラリの欠如ではなく、Imagickのインストールの欠陥です。

結論

WordPressの「There has been an error cropping your image」というメッセージは、ほぼ常にPHP GDライブラリの無効化、PHPメモリの不足、またはプラグインやテーマの競合に起因します。このガイドの冒頭にある診断表を使用し、各方法を順番に実行することで、推測することなく問題を特定して解決できます。

リストの最後まで解決策が見つからない場合、問題はサーバーレベルにあります。ホスティングプロバイダーにphp -mの出力を提供し、GDがPHPビルドにコンパイルされているか、またはロード可能な拡張機能として利用可能かどうかを確認してもらいましょう。

サーバー環境を適切に設定することで、WordPressが画像を効率的に処理する能力が向上し、ワークフローの中断を減らし、よりスムーズなサイト管理体験を保証します。

関連記事

Rene Hermenau

著者: Rene Hermenau

著者について: René Hermenau は WP STAGING の創設者です。WordPress のバックアップ、ステージング、移行、データベース処理、安全なデプロイメントワークフローに取り組んでいます。