[WordPress] プラグインのアンインストールで残骸が残るプラグイン -アンインストールで共通する問題の備忘記録 [2021/10/16]

はじめに

WordPressのプラグインで必要でなくなれば、即削除するのが通常と思われますが、そのプラグインの残骸が残るケースを体験しました。今後の教訓にすべき内容です。

以下に、その現象と対策について備忘記録します。

今後の問題発生に備えて、プラングインのアンインストール時には、必ずその対策の実施をお勧めする。

問題の現象

「Social Counter」は、WordPressサイトに、FaceBookやTwitterのリンクと共に、そのフォロワー数を表示するプラグインです。

AMPプラグインと相性が悪く、AMPで検証して、コードやJavaScriptのAMP最適化をした場合、カウンターの表示色や体裁が崩れてしまうことが多かったため、削除することにしました。

その結果、ページに表示されていた「カウンター」は、ショートコードをそのまま残したままになってしまいました。

最初の対応策は、キャッシュをクリアしてみましたが、効果がありませんでした。

結局、削除した「Social Counter」を再インストールして、FaceBookとTwitterのカウンターが有効になっているのを、無効にしました。すると、ページには、カウンターは表示されなくなりました。1つのページで確認した後、「Social Counter」を無効化しました。その後、他のページを表示させてみると、同じ問題が生じました。

どうやら、ページ毎に「カウンター」を埋め込んでいるようです。その機構はわかりませんが、ページが表示される度に処理しているものと考えられます。そうだとすると、これまでに、表示したことのあるページには、「カウンター」が埋め込まれているので、それを、カウンターの無効化での表示が1度は必要ということになります。

問題点のまとめ

  • アンインストールしても、ショートコードが残る

英語書くのは気合が必要なので、開発者には、気が向いたら連絡したいと思います。

1.「Social Counter」

  • アンインストールの方法
  • 「Social Counter」を有効化のままにしておく
  • 「FaceBook」,「Twitter」のカウンター表示を無効化にセットする
  • 以上の設定により、1度はカウンター表示で表示されたことがあるページは、もう一度表示された時にカウンター表示のショートコードが削除される
  • 各ページの表示を訪問者さんに任せるか、自分で一つずつ表示して確認するか、いずれかで実施する。でも、最終的には、自分で確認することになりますね。

という、まどろっこしい対策となりました。

Advice

必要でなくなったプラグインは、先ず、無効化にしてしばらく様子を見ましょう。速攻削除してしばらく経過してしまうと、削除したプラグインの名前すら忘れてしまい。問題が起こった時に、どのプラグインが原因であるかの示唆も選られに難くなってしまいます。必要出ないプラグインの無効化が、ある程度の期間で問題が生じないなら、削除するという二段階での削除が安全です。

2.「AMP」

本家のAMPプラグインは、データベース(DB)に残骸が残ります。そのため、直接、DBを操作する必要があるようです。これまでに経験する不具合として、検証済みURLのページに投稿が表示されなく問題があります。普通にAMPプラグインを無効化して削除するものの、残骸の残っているようで、再インストールしても、その問題は解決されずの残るというものです。DBを弄る度量はないし、仕方がないので、コツコツと作業をする羽目になるのでした(Mr.Harikiri)。

How to Remove AMP Plugin Data on Your Site (参照日 2021/10/16)

https://mainwp.com/how-to-remove-amp-plugin-data-on-your-site/

対策

WordPressでは、プラグイン/テーマを削除したとしても、一部の独立したテーブルやデータが残るようです。以下のプラグインの説明にそのように書いてありました。インストールしていたプラグインの影響を完全になくすためには、プラグインを削除した後、関連するデータベースの削除も同時に必要だということです。

現在、AMPオフィシャルプラグインで問題が起こっています(2020/09/23)。プラグインの削除と再インストールでは、問題は同様に発生しているため、関連するデータベースの削除を考えています。その後、調査した結果は、前述のようにDBの削除しか無いようです。僕の場合は、削除が目的ではなく不具合の修正なのですが、安全策としてDBを操作せずにコツコツと他の方法で対応することにしました。

Advanced Database Cleaner

https://ja.wordpress.org/plugins/advanced-database-cleaner/
編集履歴
2020/06/06 はりきり(Mr)
2020/09/24 追記 (同問題の原因がDatabaseにあり、それの削除も必要であること。AMPプラグインでの問題の対策予定)
2021/10/16,追記(AMPプラグインの不具合は、DBのようであることについて)