KUSANAGIでShortPixelの画像最適化が0%から進まないとき

Last Edited Time
Nov 4, 2021 10:39 AM
Category
WordPress
Not yet (Unpublish)
Podcast
Super Published
Tag Library

KUSANAGIをインストールしたWordPressにて、ShortPixelプラグインにて画像一括最適化を実施しようとしても進捗バーが0%から進まず、「ファイルを書き込めませんでした」のようなエラーメッセージが出てくる場合があります。

(エラーメッセージは実際には異なる表現だったかと思います)

本記事では、ShortPixelなどプラグインがKUSANAGI環境で思うように動作しなくなった場合の解決策を記述します。

ShortPixelプラグインで一括WebP化!画像圧縮でWordPressを高速に

2021年5月から表示速度等を含む指標「CoreWebVital(コアウェブバイタル)」がSEOのランキング要因となることが、Googleによって正式に発表されました。 そもそも、表示速度は既にSEOランキング要因の一つ。あまりに表示が遅いサイトはSEO上マイナス評価を受けています。 PageSpeed Insightsでサイト診断を行うと、特に高速化対策を行っていないサイトでは次のような画像に関する点を指摘されることが多いです。 画像が大きすぎます 画像を次世代フォーマットで表示させてください 画像の容量が大きすぎます WordPressでこれらの点を解決してくれ、サイト高速化に大きな効果をあげるのが、今回ご紹介する "ShortPixel Image Optimizer" というプラグイン。 私のサイトでもShortPixelプラグインを利用することで、サイト全体での画像容量を 70%圧縮 させることに成功しました。 以下から、そんなShortPixelプラグインのおすすめポイントと設定方法について丁寧に解説していきます。 WordPressでWebP画像へと変換するプラグインは多くありますが、私はShortPIxel Image Optimizerを採用しています。 Image Optimization and Compression Plugin for WordPress and API by ShortPixel ShortPixelの良いところは という、画像圧縮プラグインに求められるポイントを全て満たしているところ。 ShortPixelによって圧縮される画像がどのような品質になるかは、下の公式ページから実際にお持ちの写真を圧縮してテストできます。 Compress and optimize your JPEG, PNG and (animated) GIF files ShortPixel Image Optimizer採用の理由として、WordPress高速化の専門家である以下の2社がおすすめしていたことが挙げられます。 ①: WordPressに関する専門記事で定評のあるホスティングサービス"Kinsta"に取り上げられていた(下記リンク) How to Use WebP Images on WordPress (And Shrink Image File Sizes up to 35%) KinstaはWordPressのフルマネージドホスティングサービスを展開する海外の会社。日本語でもWordPressの記事を出しており、特に高速化やパフォーマンス設定に関する専門記事には定評があります。 ②: WordPress高速化の専門家であるスキルシェアさん @skillsharejp が下記ツイートをしていた 画像圧縮系プラグイン、下に行く程おすすめ Compress JPEG & PNG images↓EWWWでwebp生成↓Shortpixel(画像多いと有料)↓CDNでビューポートに合わせた自動リサイズ(完全有料) あと途中で画像圧縮系プラグイン変えると画質悪化する事があるので最初から選択間違えると辛いですよ。- スキルシェア⚡WordPress高速化(3月中の注文は4月開始予定) (@skillsharejp) November 8, 2020 スキルシェアさんは一部上場企業のWordPressサイト高速化相談に乗られていたり、WordPress制作やSEO界隈では有名な方です。 WordPress高速化・保守管理 スキルシェア 唯一Shortpixelでのデメリットがあるとすれば、無料で画像をWebP化・最適化できるのが月100枚までということでしょうか。 ただし、10,000枚につき$9.99(買い切り)から無期限のクレジットを購入することができます。 月額の場合は毎月5,000枚で$3.99/月 の継続プランもあるようです。 価格参考: ShortPixel Image Optimization and Compression Plans and Pricing クーポンを利用すると買い切りのものが15,000枚にまで増えるなど特典があるようなので、"shortpixel ...

ShortPixelプラグインで一括WebP化!画像圧縮でWordPressを高速に

目次:

ShortPixelのアクセス先フォルダの所有者をPHP実行権限をもつユーザーに

image

上記の現象は、ShortPixelが最適化したあとに画像を書き込もうとしているが、書き込みするための所有権限がないためにエラーとなっていることが原因。

uploadsディレクトリ以下の所有者・所属グループをPHP権限をもつユーザー・グループに一括変更

下記コマンドでuploadsディレクトリ全体の所有者および所有者グループの変更を行います。

デフォルトではKUSANAGI:KUSANAGIとなっているかと思いますが、PHP実行権限をもつhttpd:wwwに変更。

$ chown -R httpd:www /home/kusanagi/000xxxx/DocumentRoot/wp-content/uploads

上記パスはConoHa VPSにKUSANAGIをインストールした場合のパスです。環境ごとに異なりますので確認してください。

同様にプラグインが書き込めないという現象は、

で紹介している All in One Migration でも発生しました。

KUSANAGIでプラグインの書き込み時エラーが出る場合には、上記のようにフォルダの所有者と所属グループを確認する必要がありそうです。

影響先が不明な場合やプラグインインストール時に「ディレクトリが作成できませんでした」の場合はDocumentRoot以下を一括所有者変更

「そうは言っても、どこのフォルダが影響しているのか分からない…!」という場合には、DocumentRoot以下の所有者・所属Gをすべてhttpd:wwwにする、という荒療治も。

kusanagiの場合

$ chmod httpd:www -R /home/kusanagi/(your-kusanagi-name)/DocumentRoot

「ディレクトリが作成できませんでした」といったWordPressにプラグインがインストールできないエラーの際などには、上記手段を使う場合もあります。

kusanagiユーザーにPHP実行権限をもたせるのが一番分かりやすく適切かも

または、kusanagiユーザーにPHP実行権限をもたせる、という方がスッキリとして分かりやすいかもしれません。

sudo vi /etc/php7-fpm.d/www.conf 23-24 行目を次のように修正します user = kusanagi group = kusanagi 念のためにマシンを再起動しておきます reboot

KUSANAGIでWebp画像を表示・配信させるための方法

なお、KUSANAGI(Nginx)でWebp画像を配信するには

  • WAXELを利用する
  • Webp配信するためのプラグイン導入(EWWWや本件ShortPixelなど)
  • 別途Webp画像を配信するためのNginx設定(下記記事)

私のテーマではShortPixelによる配信方法で表示崩れが出てしまったので、Webp配信をするなら別の方法を探る必要があるなと思いました。