WordPressのプラグインには、データベースに設定情報を記録するものもあります。設定情報がデータベースに保存される場合、デフォルトだとwp_optionsテーブルに記録されます。
しっかり設計されたプラグインだと、プラグインを削除した時にoptions内のデータも削除してくれるのですが、中にはデータベースに設定情報を残したままの困ったプラグインもあります。
Clean Optionsは、このようなデータベース内に残ってしまったゴミデータを削除することができるプラグインです。
プラグインがデータベースを利用するかどうか調べる方法
まずは、そもそもプラグインがデータベースを利用しているかどうかを調べる方法について説明したいと思います。
プラグインがデータベースに設定情報を書きこむかどうか調べるには、プラグインのソースコードを確認する必要があります。
ソースコード内に以下のような記述があれば、データベースに設定情報を保存しています。
add_option( $option ); register_setting( $option ); update_option( $option );
add_optionとregister_settingは、()内の情報をデータベースに書き込みます。update_optionは設定情報の上書きです。
これらの記述がなければ、プラグインはデータベースを利用しません。
さらに、プラグインを削除した時に、ちゃんとデータベースを削除するかどうかは、プラグインのソースコード内に以下の記述があるかをチェックします。
delete_option( $option );
delete_optionの記述があれば、プラグイン削除時にちゃんとデータベース内の設定情報も削除してくれます。
add_optionはあるのにdelete_optionがないと、利用していたプラグインの情報がデータベースに溜まっていくわけです。このように、データベースに溜まってしまったゴミデータを削除するためのプラグインがClean Optionsです。
ちなみに、データベースにゴミデータが溜まって、容量が膨らんでいくことをおっぱい問題と言ったりします。
Clean Optionsのインストール
インストール手順は以下の通りです。
- Clean Optionsをダウンロードします。
- ダウンロードしたファイルを展開し wp-content/pluginsにアップロードします。
- 管理画面の[プラグイン]ページで、Clean Optionsプラグインを有効化します。
Clean Optionsの使い方
※Clean Optionsで削除する前に、必ずBackWPupなどを利用してデータベースをバックアップしておきましょう。
Clean Optionsプラグインを有効化すると、管理画面の[ツール]配下に[CleanOptions]という項目が作成されます。まずは、[ツール] – [CleanOptions]にアクセスしましょう。
「Don’t show the Known WordPress Core options for this “Find”」にチェックが入っていることを確認します。ここにチェックが入っていると、消したらまずいコアファイルの情報は除外されます。
次に、[Find Orphaned Options]をクリックして、Optionsに保存されている設定情報の一覧を取得します。
出てきた一覧を見ながら、必要ないものにチェックを入れていきます。使用中プラグインの情報も出てくるので、間違えて必要なデータにチェックを入れないように気をつけましょう。
どのプラグインのデータなのかわからない時は、「Google it 〇〇」をクリックします。
ただGoogleで「WordPress オプション名」で検索しているだけですが、ある程度はプラグインを特定できると思います。わからない時は、チェックは入れない方が無難ですね。
削除しても問題ないデータに一通りチェックを入れたら、下の方にある[View Selected Options information]をクリックします。
データベースの中身が表示されるので、削除して問題なければ「Yes, Remove ALL of these options from the wp_options table.」にチェックを入れて[Submit]をクリックします。
これで、選択したデータは、データベース内から削除されます。
削除したくない場合は、「No, Don’t remove them, return to the first screen.」にチェックを入れて、[Submit]をクリックすれば戻ります。
あとがき
ゴミデータが消えるのは、データベースがスッキリしていいですね。併せて、WP-Optimizeでデータベースの最適化もやっておくと、よりスッキリさせることができますよ。
それにしても、プラグイン側でちゃんとdelete_optionをつけておいてほしいですよね・・・
なお、削除を実行してしまうと元に戻すことはできませんので、必ずバックアップを取ってから実行するようにしましょう。
Pingback: WordFes Nagoya 2014の「WordPressのデータベース&パフォーマンス入門」のセッションに参加してきた