炭火Blog

WordPressが対応したのにAvifがアップロードできない理由

※このページにはプロモーションが含まれています。

  1. Avifのアップロードができない理由
  2. ローカル環境でAvifを扱えるか試す
  3. ローカル環境をホスティングサービスにアップロードする方法

WebPと同等の画質設定でより軽量化ができるAvifがWordPress6.5から対応していることに最近になって気が付きました。

主要ブラウザの内、Microsoft EdgeがAvifに対応していなかったので、その対応を待ってWorsPressが対応するとは知っていたのですが、今年になってEdgeが対応し、4月にWordpressも対応したようです。

そこで、試しにAvif形式の画像をメディアライブラリにアップロードすると、エラーが出てアップロードができません。

WordPressにAvifをアップロード時のエラー

Avifのアップロードができない理由

アップロードができない理由を調べます。

WordPressのページで下の記述を見つけました。

AVIF in WordPress depends on support in your web server’s image processing library (WordPress has built-in support for both Imagick and LibGD for image processing).

「WordPress の AVIF は、Web サーバーの画像処理ライブラリのサポートに依存します (WordPress には、画像処理用の Imagick と LibGD の両方のサポートが組み込まれています)。」

WordPress 6.5 adds AVIF support

ホスティングサービス(レンタルサーバー)が対応していたらAvifが扱えるようになりますとの事なので、ホスティングサービスの問題のようです。

LibGD(GDライブラリ)はPHPのライブラリで、PHPのバージョンが8.1以上ならAvifに対応しているようです。また、 ImagickとLibGDが両方使える環境では Imagickが画像の加工に利用されるようです。 Imagick経由でImageMagickが動いて、アップロードのときに設定やテーマによって定められている画像サイズに加工されるそうです。その加工ができないためにエラーが出ます。

最善策はホスティングサービスにアップロードすることなので、その方法を探すと ImagickとImageMagickをインストールして使う方法があるようですが、しかし、私の能力では難しそうです。最悪の場合には、アクセスできなくなる事態も考えられるので、ホスティングサービスは触らずに対応を待つことにします。

Amazonセールとイベント

ローカル環境でAvifを扱えるか試す

ローカル環境なら壊しても問題がないので、どうすればAvifがWordPressで扱えるようになるか試します

試した結果はImageMagickがAvifに対応していない事が原因なので、対応したImageMagicckをビルドするというのが答えでした。

Linux Mintにlibheif-devをインストールするとlibaom-devが自動でインストールされます。

libheif-dev

ここにImageMagickをインストールしてもDockerで動いているWordPressにAvifはアップロードはできませんでした。ビルドした後にインストールするとアップロードができました。

ビルドの方法は、

sudo apt install build-essential

ビルドに必要なものをインストールした後

wget https://download.imagemagick.org/archive/ImageMagick-7.1.1-31.tar.gz
tar zxvf ImageMagick-7.1.1-31.tar.gz
cd ImageMagick-7.1.1-31
./configure
make
sudo make install

これでAvifが扱えるImageMagickがインストールされます。

上記の「./configure」を実行したときに

Imagemagick Avif対応確認

HEICがyesになっていればAvifが扱えます。

ただしこの方法だとAvifしかアップロードができないので、他の形式も併用する場合はそれにあったファイルをビルドの前にインストールしておく必要があります。

Avifがアップロードが可能なWordPressのサイトヘルスのメディア情報欄にはAvifの記述があります。

imagemagick対応画像

お使いの環境にphp.iniがある場合は、そこでImagickのパスを設定することでビルドしたImageMagickが動かせるようです。

Local(旧Local by Flywheel)」ではビルドしたImageMagickを使えるようにする設定方法が分からなず、Docker上のWordPressを試したところ設定の必要がなくビルドしたものが動きました。

ローカル環境をホスティングサービスにアップロードする方法

実際に行うかは別にして、ローカル環境でAvifを使って作った投稿をホスティングサービスにアップロードする方法について考えました

まず、プラグイン「UpdraftPlus」を使ってローカル環境でバックアップを行い、拡張子gzのデータベースのバックアップと、画像を含むアップロードのバックアップをホスティングサービスにアップロードします。

このとき、gzファイルの2箇所のサイトアドレスを変更する必要があります。変更しないでアップロードをしてしまうと、とサイトにアクセスできなくなり、直接にデータベースを書き換えて復旧しないといけなくなるので、最大の注意をしなければいけません。

最後までお読みくださり、誠にありがとうございます。

(独自プラグイン付)いちばんやさしいWordPressの教本第6版6.x対応人気講師が教える本格Webサイトの作り方
1冊ですべて身につくWordPress入門講座

関連投稿

週間アクセスランキング

管理者 ほんだ

数多くあるブログの中で、このページをお読みくださりありがとうございます。このブログは、炭火で美味しいものを作ることを中心に、日々の趣味についてを文章にすることで、WordPressを使ってのWebページ作成を忘れないようにしています。熱帯魚の世話や野菜の栽培、Linuxについて興味のあることを、つたない文章で綴っています。兵庫県在住です。

Home
Blogging
WordPressが対応したのにAvifがアップロードできない理由