
こんにちは。管理人のけーちゃんです。
WordPressにはサイトヘルスという機能があって、サイトの改善点を提示してくれます。
mixhostで作成したWordPressサイトは、このサイトヘルスで『Imagickがインストールされていない』という指摘を受けます。
指摘されているのだから改善すべきでしょうか?
どうすれば改善できるのでしょうか?
そもそもImagickとは?
ここでは、これらについてお伝えします。
\目次も見てね!/
結論:放置で問題ない
結論から言うと、今回の問題は特に対処する必要はありません。

放置でOK
その理由について、お伝えします。
imagickがインストールされていない
今回の問題について確認してみます。
WordPressのダッシュボードを開くと、次のようなサイトヘルスステータスという項目があります。

サイトヘルスステータスはサイトのパフォーマンスやセキュリティの設定状況を診断して、サイトの安全性と表示速度を高める施策を提示してくれます。

テーマが更新されていないなど、
すぐに解決できるものは対応してね
レンタルサーバーによっては対応策を大量に提示されることがありますが、テーマ未更新などを除くと、mixhostはほとんどの項目が対応済みです。
しかしいくつかの項目が未対応のまま残っています。
サイトヘルスステータス内のリンク『サイトヘルス画面』をクリックすると、その項目が表示されます。


mixhostは簡単に対応できる項目を対応すると
上図の二つが残るよ
下段の『永続オブジェクトキャッシュを使用してください』については、次のページで対応方法を紹介していまるので参考にしてください。
今回は『1つ以上の推奨モジュールが存在しません』について対応します。
内容を読むと、imagickというモジュールがサーバーにインストールされていない、または無効になっているようです。
つまりimagickを使用できるようにすれば、サイトヘルス画面に表示されなくなるということですね。
imagickとは

imagickとは何でしょう?
imagickは、ImageMagickをPHPで呼び出して実行するためのPHP拡張モジュールです。
うん、よくわかりませんね。imagick、ImageMagick、PHP、WordPressの関係を図にすると、次のようになります。

ImageMagickは、画像ファイルを読み込んで縦横サイズを変更したり、複数の図を合成するなど様々な画像処理を行い、その結果をファイルに出力するプログラムです。基本的には、手入力でコマンドを打ち込んで、画像処理を実行します。
PHPはプログラミング言語仕様です。またはその仕様で作成されたソースプログラムを読み込んで実行するプログラムを指すこともあります。
WordPressはPHP言語仕様で作成されたソースプログラムです。
ImagickはWordPressと同じようにPHP内で動作するライブラリプログラムです。内部でImageMagickを実行して、定型的な画像処理を行います。
Imagickは、前提条件としてmixhostのサーバーにImageMagickがインストールされている必要があります。これについてはインストールされています。
問題はImagickですが、mixhostはこのプログラムがインストールされていません。またインストールする方法が提供されていません。

ネットで一般的なImagickのインストール方法が公開されています。
ですが、mixhostはその方法を使用できません。
そのためmixhostでは、Imagickを使用できません。
WordPressでのImagickの役割
WordPressはメディア等で登録された画像からサムネイル画像を生成する際に、imagickを使用します。
mixhostのファイルマネージャで画像ファイルを確認すると、様々なサイズのサムネイル画像が生成されているのが確認できます。

ちなみに上記画像のwebpやbk等のファイルは、LiteSpeed Cacheプラグインが画像最適化を適用したものです。LiteSpeed CacheプラグインはWebサイト高速化を行ってくれるmixhost向けの専用プラグインです。

正確にはmixhostが採用している
LiteSpeedサーバー専用です
画像最適化については、次のページを参考にしてください。
Imagickが必要無い理由
WordPressはImagickが使用できない場合、GDという画像編集ライブラリを使用するように設計されています。
GDは現在のバージョンのPHP(PHP5.2.0以降)なら標準で使用できるので、mixhostでも使用可能です。
GDよりもImageMagickの方が画質が良いという意見がありますが、素人では判定できないレベルですし、そもそも画像を表示するモニタの性能で同じ画像でも、印象が大きく変わります。
そのため一、試行錯誤してImagickを使用可能にできても、その労力に見合う結果を得ることができません。

その分、記事を更新した方が利益につながります
ただし、WordPressのプラグインでImagickを使用しているものがあるかもしれません。
そのようなプラグインはmixhostで使用できません。特に画像を扱うプラグインは、仕様前にImagickが必須かどうかを確認する必要がありますね。
1つ以上の推奨モジュールが存在しませんを消す方法
Imagickが存在しなくても問題ないのですが、「1つ以上の推奨モジュールが存在しません」と表示されていると気なってしまう人も多いと思います。
そこで表示を消す方法を紹介します。
次のコードを、function.phpまたは自作プラグインに記述してください。
add_filter('site_status_test_php_modules', function($module){
unset($module['imagick']);
return $module;
});
次のファイルは、上記コードをプラグイン化したものです。
site_health_imagick_nocheck.zip :
記述方法がわからない人はファイルをダウンロードして、新規プラグインとしてインストールしてください。
自作プラグインについては、次のリンク先ページの「6.8自作プラグインのひな型インストール」で簡単に解説しています。(記事更新により項番が変更されている可能性があります)
今後、WordPressをカスタマイズしていきたい人は、挑戦してみてください。
コードを記述して『サイトヘルス画面』を表示すると、次のように「1つ以上の推奨モジュールが存在しません」という項目が消去されました。


表示が消えただけで
Imagickが使用できuようになった
わけではないですよ
まとめ
ここではmixhostにインストールしたWordPressのサイトヘルス画面で『1つ以上の推奨モジュールが存在しません』と表示される問題についてお伝えしました。
mixhostはImagickが使用できないため、このメッセージが表示されます。
Imagickは画像編集に必要です。ですがWordPressは代替手段が用意されていため、必須ではありません。そのため『1つ以上の推奨モジュールが存在しません』は放置しても問題ありません。
このページでは表示が気になる人向けにプラグインを公開しています。良かったら使ってみてください。