WordPressのプラグインJetpackの最新バージョンは2022年10月20日現在、バージョン11.4ですが、致命的なエラーが出る可能性があります。
最悪なのは、管理画面、公開サイト両方ともサーバーエラー(503)でどうしようもない。
ボクはJetpackの使用を停止しました。
こんなエラー出る? 実績のあるプラグインなのに。
まずはエラーの内容を見てみましょう。
Fatal error: Uncaught Error: Attempt to assign property "in_jetpack" on null in /home/●●●/●●●/DocumentRoot/wp-content/plugins/jetpack/modules/publicize.php:99 Stack trace:
#0 /home/●●●/●●●/DocumentRoot/wp-content/plugins/jetpack/modules/publicize.php(109): Jetpack_Publicize->__construct()
#1 /home/●●●/●●●/DocumentRoot/wp-content/plugins/jetpack/class.jetpack.php(1869): include_once('/home/●●●/...')
#2 /home/●●●/●●●/DocumentRoot/wp-content/plugins/jetpack/class.jetpack.php(2907): Jetpack::load_modules()
#3 /home/●●●/●●●/DocumentRoot/wp-content/plugins/jetpack/class.jetpack.php(2789): Jetpack::plugin_initialize()
#4 /home/●●●/●●●/DocumentRoot/wp-includes/class-wp-hook.php(307): Jetpack::plugin_activation('')
#5 /home/●●●/●●●/DocumentRoot/wp-includes/class-wp-hook.php(331): WP_Hook->apply_filters('', Array)
#6 /home/●●●/●●●/DocumentRoot/wp-includes/plugin.php(476): WP_Hook->do_action(Array)
#7 /home/●●●/●●●/DocumentRoot/wp-admin/plugins.php(194): do_action('activate_jetpac...')
#8 {main} thrown in /home/●●●/●●●/DocumentRoot/wp-content/plugins/jetpack/modules/publicize.php on line 99
PHPでFatal Errorが出てます。これはPHPの異常終了なのでWebサーバーは503ステータスを返す。
ようは、サイトが見れなくなる。
たまたま見れなくなるじゃなくて、このエラーが直らないかぎり永遠に見れない。
で、エラー内容もすごくて、データが入ってるはずのクラスオブジェクトがじっさいはnullで、そこにプロパティ値の設定をしようとしているというもの。
$publicize_ui->in_jetpack = $this->in_jetpack;
$publicize_ui が null なのがいけないんですが、この変数はglobalでプログラム全体で使われるもの。
global $publicize_ui;
global変数に入るべきデータが入ってないなんて、普通はありえない。
global変数は全体で使うため相当テストされてるはずだし、使い倒されてるはず。実績のあるJetpackならなおさら。
開発者は問題を認識している。でもいつ直すかは未定。
この問題について、WordPress.orgサポートのスレッドが立ち上がっていて、開発者は認識しているそうです。
ただし、修正をマイナーバージョンで対応するか次期メジャーバージョンでするかは未定とのこと。
(2022年10月25日現在)
Hi @fluoo and @bfw6a
In chatting with the developers this is an issue they’re aware of and are working on. It’s not yet been determined whether there will be a point release to fix this, or if it will be in the next full version release of Jetpack.
開発者とチャットしたところ、これは彼らが認識している問題で取り組んでいるところです。この問題を修正するためのポイントリリースがあるのか、それともJetpackの次のフルバージョンリリースに含まれるのかは、まだ決定していません。
サポートスレッドより(筆者訳)
Jetpack使用の停止。これを機会にやめようと思う。
上記のスレッドでは、下位バージョンにダウングレードすれば直るという情報もありましたが、ボクの場合はver.11.3.2に戻しても直りませんでした。
WP管理画面も503エラーで表示できないのでページ上からプラグインの停止もできません。
そこで、wp-content/plugins下のjetpackディレクトリを中身ごとごっそり削除。
プラグインを停止状態にするには、その後、サイトや管理画面が表示されるのを確認してjetpackを再インストールすればいい。
ボクみたいに根本的に解決していない場合は、jetpackの有効化に失敗します。
じつはjetpackは必要ない?
jetpackは、WordPressを始めたばかりのころ、総合的に機能が網羅されてるのでまっ先にインストールする人も多いと思います。
しかし、それらの基本的な機能(無料版でも使える)は、ほぼ代替がある。
jetpackの基本的な機能 | ボクの環境 |
---|---|
画像のLazy loading(遅延読み込み) | WordPress本体にデフォルトで 実装されている。 |
画像の最適化 | EWWW Image Optimizerを使 ってる。 |
CSSやJSの遅延読み込み | WP-Optimizeを使ってる。 自作。 (自分で作ったほうが高効果) |
SEOまわり (sitemap.xmlとか) | All in One SEOを使ってる。 |
訪問者数(ユーザー数)やページビュ ー数(PV)の統計情報 | Google Analyticsを使ってる。 |
投稿の公開時にTwitter, Facebookに連 動して投稿 | 使えなくなったが、Hootsuite などのサービスがあるので不便 はない。 |
ほんとのところ、そんなに必要性は感じてなかったんですが、統計情報で本日の情報も簡単に取れるので惰性で使ってました。
今回のjetpack強制停止に追い込まれて、不便になってないと改めて実感したので、このままやめようと思います。
jetpackはサイトが重くなる、遅くなるという情報もあって、それが自分にバッチリ当てはまったというのもあるし。