WordPressでAVIFが使えない?理由と対処法|WebPとの比較
この投稿ではホスティングサーバー(レンタルサーバー)に関してAVIFが使えない理由と対処を説明しています。ローカル環境でDockerを使ってWordPressを動かす場合は以下の投稿をお読みください。
WordPress6.5から対応したAvifという画像形式は圧縮率を上げても画質の劣化が少なく、ブロックノイズが発生しません。現在、主要なブラウザはAVIFの表示ができます。
しかし、中にはAVIF画像をアップロードできないホスティングサービスが存在します。私はさくらのレンタルに移転した際にWordPressでAVIFを使えなくて困りました。今はWordPressを使っていないのでAVIFがアップロードできるのか分かりませんが、おそらく使えないのではないかと思います。

AVIFのアップロードができない理由
使えない理由はホスティングサービスがサーバーで使えなくしているからです。この投稿を書いた当時は環境移行の途中で、AVIFが扱えたりそうでなかったりしましたが、現在はローカル環境においてWordPressを動かせば、特別な設定の必要なくAVIFが扱えます。
では、なぜAVIFを使えないようにしているかを調べても具体的には見つけられませんでした。推測なのですが、AVIFを表示しないアプリケーションがあるからではないかと思います。ブラウザの対応は済んでいますが、以前に試すと「X」や「Feedly」でAVIF画像は表示されませんでした。ホスティングサーバー側に立って考えると、ユーザーから「なぜ表示されないのか」と、問い合わせが増える事は容易に想像できます。
もし、私がどの画像形式を使うのが良いかと聞かれたら、アプリやブラウザ、ホスティングサーバーの対応を考えるとWebP画像を使う事をお勧めします。私自身は容量の削減を考えてAvif画像を使っていますが。
ホスティングサービスでAvif形式画像を扱うには
AVIF画像をホスティングサービスでアップロードするには2つの方法があります。
- 対応しているホスティングサービスを使う。
- UpdraftPlusプラグインを使う。
ホスティングサービスを選ぶ前にAVIFの対応状況を調べます。ほとんどのサービスは対応画像形式を表記しています。見つけられない場合はサポートに問い合わせをすると教えてくれます。
または、ローカル環境でWordPressを動かし、UpdraftPlusプラグインを使い、データをホスティングサービスに移動させます。AVIF画像がWordPressで使えるか否かは画像をアップロードした時に、WordPressの設定に合わせて画像のリサイズなどの加工ができるかどうかです。
ホスティングサービスで加工ができない為にエラーが出るので、ローカル環境で加工した後にプラグインでアップロードすれば、ホスティングサービスAVIFf画像の配信ができます。。
ローカル環境でAVIFを扱えるか試す
ローカル環境なら壊しても問題がないので、どうすればAVIFがWordPressで扱えるようになるか試します試した結果はImageMagickがAVIFに対応していない事が原因なので、対応したImageMagicckをビルドするというのが答えでした。
- libheif-devとlibaom-devをインストール
- ImageMagickをビルドする
Linux Mintにlibheif-devをインストールするとlibaom-devが自動でインストールされます。

ここにImageMagickをインストールしてもDockerで動いているWordPressにAVIFはアップロードはできませんでした。ビルドした後にインストールするとアップロードができました。ビルドの方法は、
sudo apt install build-essential
ビルドに必要なものをインストールした後
wget https://download.imagemagick.org/archive/ImageMagick-7.1.1-34.tar.gz
tar zxvf ImageMagick-7.1.1-34.tar.gz
cd ImageMagick-7.1.1-34
./configure
make
sudo make install
これでAVIFが扱えるImageMagickがインストールされます。上記の「./configure」を実行したときに

HEICがyesになっていればAVIFが扱えます。ただしこの方法だとAVIFしかアップロードができないので、他の形式も併用する場合はそれにあったファイルをビルドの前にインストールしておく必要があります。AVIFがアップロードが可能なWordPressのサイトヘルスのメディア情報欄にはAVIFの記述があります。

お使いの環境にphp.iniがある場合は、そこでImagickのパスを設定することでビルドしたImageMagickが動かせるようです。「Local(旧Local by Flywheel)」ではビルドしたImageMagickを使えるようにする設定方法が分からなず、Docker上のWordPressを試したところ設定の必要がなくビルドしたものが動きました。
ローカル環境をホスティングサービスにアップロードする方法
実際に行うかは別にして、ローカル環境でAVIFを使って作った投稿をホスティングサービスにアップロードする方法について考えましたまず、プラグイン「UpdraftPlus」を使ってローカル環境でバックアップを行い、拡張子gzのデータベースのバックアップと、画像を含むアップロードのバックアップをホスティングサービスにアップロードします。
このとき、gzファイルの2箇所のサイトアドレスを変更する必要があります。変更しないでアップロードをしてしまうと、とサイトにアクセスできなくなり、直接にデータベースを書き換えて復旧しないといけなくなるので、最大の注意をしなければいけません。
最後までお読みいただき、誠にありがとうございます。

![WordPressユーザーのためのPHP入門 はじめから、ていねいに。[第3版]…](https://m.media-amazon.com/images/I/518mRB+WJcL._SL500_.jpg)









