みなさん、こんにちは。
WordPressでサイト運営をしていると、突然のエラーに悩まされることがあります。今回、当サイトでも「新規投稿の追加」ボタンをクリックした際に、以下のようなエラーが発生しました。
TypeError: Cannot read properties of null (reading 'toString')
原因を調査した結果、SEO対策用に導入していた人気プラグイン All in One SEO(AIOSEO)バージョン 4.8.1.1 に問題があることが判明しました。
本記事では、実際に発生したエラーとその詳細、原因の考察、そして対応策について解説します。
発生したエラーの内容
投稿画面で「新規追加」ボタンを押した瞬間に、画面が読み込まれず、以下のJavaScriptエラーがブラウザのコンソールに表示されました。
TypeError: Cannot read properties of null (reading 'toString')
at pL (components.min.js?...:33:143126)
...
さらに、以下のような関連ログも確認されました。
wp.editPost.PluginSidebarMoreMenuItem is deprecated since version 6.6. Please use wp.editor.PluginSidebarMoreMenuItem instead.
wp.editPost.PluginSidebar is deprecated since version 6.6. Please use wp.editor.PluginSidebar instead.
これらのメッセージから、WordPressのブロックエディター(Gutenberg)との互換性問題 が発生しているようです。
AIOSEOとの関連性:プラグインを無効化するとエラーが消えた
このエラーは WordPress コアやテーマに起因しているのではないかと最初は考えましたが、調査を進める中で、All in One SEO プラグインを無効化するとエラーが一切出なくなることが判明しました。
このことから、AIOSEO がエラーの原因であると確定しました。
現在使用している AIOSEO のバージョンは 4.8.1.1。本記事執筆時点(2025年4月21日)ではこれが最新版であり、これ以上の更新は提供されていません。
原因の考察
1. null値への不適切なアクセス
JavaScriptのエラーメッセージ「Cannot read properties of null (reading ‘toString’)」は、null の値に対して .toString()
を実行しようとした場合に発生します。
おそらく AIOSEO は、Gutenbergエディターにおいて以下のようなフィールドを読み込もうとしていたと考えられます。
- 投稿タイトル
- メタディスクリプション
- スラッグ
- カスタムフィールド
これらは、投稿作成直後は null
、つまり空である可能性があり、これをチェックせずに .toString()
を実行したことでクラッシュしたと思われます。
2. WordPress 6.6以降での非推奨APIの使用
Gutenbergの進化に伴い、6.6以降ではいくつかのAPIが非推奨になっています。エラーログには以下の警告が出ていました。
wp.editPost.PluginSidebar is deprecated
これは、AIOSEOがまだ古いAPIを使用しており、最新のGutenbergの構造と食い違いが出ていることを示しています。
Gutenbergの仕様変更にAIOSEO側が追いついていないことが、根本的な原因の一つと考えられます。
対処法
1. AIOSEOのアップデートを待つ
現在のところ、バージョン 4.8.1.1 が最新版ですが、今後のアップデートでこの問題が修正される可能性があります。AIOSEOの開発チームは迅速なバグ対応でも知られているため、公式サイトやWordPress.orgで更新情報をチェックし、アップデートを実施しましょう。
アップデートが提供されるまでは、必要に応じてAIOSEOを無効化しておくのも一つの方法です。
2. クラシックエディターの使用
緊急対応としては、「Classic Editor」プラグインを導入して、旧来の投稿画面に切り替えることで、AIOSEOとの競合を回避できます。
プラグイン > 新規追加 > 「Classic Editor」で検索・インストール
クラシックエディターではGutenbergが使われないため、今回のような互換性エラーは発生しません。
3. 一時的にAIOSEOを無効化して運用
記事投稿時にのみAIOSEOを無効化し、投稿後に再び有効化するという手もあります。少々手間ではありますが、致命的なバグ回避としては有効です。
なお、著者は1.AIOSEOのアップデートを待つことにしました。アップデートが提供されるまではAIOSEOを無効化して対応するつもりです。
今後の注意点
今回の事例から分かるように、人気プラグインであっても、WordPress本体のアップデートとのタイミングによっては不具合を引き起こすことがあります。
教訓:
- プラグイン更新前にバックアップを取る
- エディターやWordPress本体の更新後に動作確認を行う
- コンソールログで「deprecated」や「TypeError」が出ていないか確認する
また、問題が再現可能であれば、AIOSEOの公式サポートにバグレポートを送ることで、より早い修正が見込めます。
✅ まとめ
項目 | 内容 |
---|---|
発生条件 | AIOSEO 4.8.1.1 + Gutenberg(WordPress 6.6+) |
症状 | 新規投稿時に「toString」エラーで画面が動かない |
暫定対策 | クラシックエディターへの切り替え or プラグインの一時無効化 |
今後の対応 | AIOSEOのアップデート待ち |
WordPressとプラグインの世界は日々進化しています。便利さと裏腹に、互換性や非推奨APIの問題も付きまといます。今回のトラブルが、同じようなエラーで悩む方々のヒントになれば幸いです。
本日も最後までお読みいただきありがとうございました。
それでは、よいWordPressライフを!