WordPressプラグインで「No valid ImageMagick mode found!」が出た時の直し方

WordPressプラグインで「No valid ImageMagick mode found!」が出た時の直し方

WordPressのプラグイン設定画面で「No valid ImageMagick mode found!」と表示される場合、原因はサーバーのPHPに「Imagick」拡張モジュールが入っていないか、正しく読み込めていないことにある。まずはサイトヘルスでImageMagickが認識されているか確認し、必要ならImagickを導入するかGDライブラリへ切り替えるのが解決への近道だ。

なぜ「No valid ImageMagick mode found!」が表示されるのか

なぜ「No valid ImageMagick mode found!」が表示されるのか

WordPressは画像のリサイズや圧縮などの処理に「GD」か「ImageMagick」という2種類の画像処理エンジンを使う。ImageMagick(イメージマジック)は高画質の画像変換ができるライブラリで、PHPから利用するには「Imagick」というPHP拡張モジュールが必要になる。

「No valid ImageMagick mode found!」は、プラグインがImageMagickの利用可否をチェックした際に、有効なモード(利用できる画像フォーマットや処理経路)をひとつも検出できなかったことを示す。つまりサーバー側にImagick拡張がない、あってもPHPのバージョンと互換性がない、あるいは拡張を読み込む設定が不足しているケースが多い。

特にPHP 8系ではImagickの対応バージョンがシビアで、古いImagick 3.6以前のビルドが残っているとWordPressやプラグインから正しく認識されない。画像のアップロードやWebP変換を多用するサイトほど、このエラーが出たまま放置するとサムネイル生成や画像最適化が止まる可能性がある。

エラー状態 プラグイン設定に「No valid ImageMagick mode found!」
↓
原因 PHPのImagick拡張が未導入または読み込み失敗
↓
解決後 ImageMagickが認識されエラーが消える
■ エラー状態 ■ 解決後

このデモはエラーの発生原因と解決後の状態を概念化したイメージ。Imagick拡張が読み込まれるとプラグインのチェックも通る。

ImageMagickがサーバーで有効か確認する手順

ImageMagickがサーバーで有効か確認する手順

エラーの原因を切り分けるには、まずWordPressがサーバー上でImageMagickを認識できているかどうかを確認する。管理画面の「ツール」→「サイトヘルス」→「情報」タブを開くと確認できる。

STEP 1 管理画面「ツール」→「サイトヘルス」を開く
↓
STEP 2 「情報」タブを選択する
↓
STEP 3 「画像処理」欄を探す
↓
STEP 4 「ImageMagick」の表示があれば導入済み
■ 確認ポイントは「画像処理」欄の表示状態

サイトヘルスの「画像処理」欄に「ImageMagick」が表示されず「GD」だけが並んでいるなら、サーバーにImagick拡張が入っていない可能性が高い。表示はあってもエラーが出る場合は、Imagickのバージョンが古くPHPと互換していないことが考えられる。

Imagick拡張を導入してエラーを解消する

Imagick拡張を導入してエラーを解消する

共用レンタルサーバーを使っている場合は、管理パネルからPHPの使用モジュールとしてImagickが選択できるか確認する。選択肢にない場合はサーバー会社に問い合わせて導入が可能か確認する必要がある。VPSや専用サーバーなら、次のコマンドで導入できる。

# Debian / Ubuntu 系
sudo apt update
sudo apt install php-imagick

# PHP のバージョンが複数ある場合
sudo apt install php8.3-imagick

# 導入後にPHPを再起動
sudo systemctl restart php8.3-fpm

PHP 8系を使う場合はImagick 3.7.0以降が必要になる。古いパッケージが入っている場合は、一度削除してから最新版を入れ直す。導入後に「php -m」コマンドで「imagick」が一覧に出ることと、WordPressのサイトヘルスで「ImageMagick」が表示されることを確認する。

Imagickを入れたら、プラグインの設定画面を開き直してエラーが消えたか確認する。キャッシュ系プラグインを使っている場合はキャッシュを削除してから確認するのが確実だ。

GDライブラリに切り替えてエラーを回避する

GDライブラリに切り替えてエラーを回避する

サーバーにImagickを導入できない場合や、すぐにエラーを止めたい場合は、WordPressの画像処理をGDライブラリに固定する方法がある。子テーマのfunctions.phpか、次のコードをmu-pluginsフォルダーに設置すると有効になる。

<?php
// 画像エディタをGDライブラリに固定する
function switch_to_gd_editor($editors) {
    if (class_exists('WP_Image_Editor_GD')) {
        return array('WP_Image_Editor_GD');
    }
    return $editors;
}
add_filter('wp_image_editors', 'switch_to_gd_editor');

GDライブラリ切り替えで品質に影響はないか

GDライブラリ切り替えで品質に影響はないか

GDはImageMagickに比べて対応フォーマットが限られ、JPEGの生成品質や色空間の扱いで差が出る場合がある。ただし通常のサムネイル生成やリサイズ程度なら実用上の問題は少ない。WebP変換やCMYKのJPEG出力、EXIFの向き補正などを多用するサイトでは、ImageMagickの方が有利だ。

GDに切り替えたあとも「No valid ImageMagick mode found!」が消えない場合は、そのプラグインがGDフォールバックを持たず、ImageMagickを必須要件にしている可能性が高い。この場合はプラグイン自体の置き換えを検討する。

GDライブラリ
対応フォーマットが限られる・JPEGの品質で差が出る・WebPはPHPのバージョン依存
↓
ImageMagick
高画質・フォーマットが豊富・CMYKやEXIFに強い・サーバー導入が必要
■ 導入不要で手軽 ■ 高機能だが導入が必要

このデモはGDとImageMagickの性質の違いを示す概念図。用途に応じて切り替え先を選ぶ。

プラグインの設定でできる回避策

エラーを出しているプラグインに画像処理エンジンの選択肢がある場合は、設定でGDに切り替えられることがある。プラグインの設定画面に「ImageMagickを使用する」のようなチェックボックスがあるなら、それを外してGD側を選ぶ。

設定項目がなく、Imagickの導入もできない環境なら、同種の機能を持つ別のプラグインへ移行する選択肢も現実的だ。画像最適化やWebP変換系のプラグインは、GDフォールバックを持つものも多い。移行時は既存の画像が再処理される仕様かどうかを確認しておく。

また、Imagick拡張を導入したのにエラーが消えない場合は、PHP-FPMやApacheの再起動が済んでいるか、キャッシュ系プラグインやCDNのキャッシュが残っていないかを順に確認する。

よくある質問

「No valid ImageMagick mode found!」はサイトを止める致命的なエラーですか

このエラー単体でサイトが完全に停止することは少ないが、画像のサムネイル生成や最適化処理が止まるため、メディアライブラリからのアップロードや商品画像の表示に影響が出る可能性がある。早めの対処が望ましい。

GDライブラリだけで運用しても問題はないですか

通常のリサイズや圧縮だけであればGDでも十分に動く。ただしCMYKのJPEGやWebP変換、EXIFの向き補正などが必要なサイトでは、ImageMagickを入れた方が品質と互換性で有利だ。

共用レンタルサーバーでもImagickを導入できますか

サーバー会社によって異なる。管理パネルのPHP設定にImagickの選択肢があればすぐに有効化できる。選択肢がない場合は問い合わせて導入可否を確認する必要がある。

Imagickを入れたのにエラーが消えない場合はどうすればいいですか

PHPの再起動、Imagickのバージョン確認、プラグインのキャッシュ削除の順に確認する。PHP 8系ではImagick 3.7.0未満だと認識されないことがある。

プラグインを無効化すればエラーは消えますか

エラーを出しているプラグインを無効化すれば表示は消えるが、そのプラグインの機能も失われる。画像最適化など必要な機能なら、代替プラグインへ移行するのが現実的だ。

この記事のポイント

  • エラーはPHPのImagick拡張が読み込めていないのが主因
  • サイトヘルスの「情報」タブでImageMagickの認識を確認
  • 共用サーバーは設定確認、VPSはphp-imagickを導入
  • Imagickを入れられない場合はGDに切り替えて回避
  • PHP 8系はImagick 3.7.0以降との組み合わせが必要
佐々木 太陽

・ Reddit、Stack Overflow、WordPress.org フォーラムを日々巡回し、現場の悩みを拾い上げて記事化 ・ WordPress、WooCommerce、Next.js などモダンWeb制作領域のトラブルシューティングが専門 ・ 「検索しても答えが見つからなかった」を一つでも減らすことが目標 ・ エラーメッセージから根本原因にたどり着く粘り強い調査が得意 ・ 初心者がつまずきやすい箇所を先回りで解決する記事作りを心がけている

この記事に関連するサービス

メッセージを残す