webコンテンツを徹底強化!WordPressサイト制作とプラグイン&テーマ情報・メンテ/エラー対応から、PHP/CSS/javascript、動画・音・イラスト等制作まで扱うコラム
マルチメディアコンテンツ制作読んどけ☆コラム

WPデータベースの余計なデータには何がある?事例と対処方法・あるとイヤなケース

      2020/09/18

ワードプレスでデータベースにたまる余計なデータ 今回は、ワードプレスのサイトでよくある『データベースにたまる余計なデータ』ってどんなのがあるかをチェックしてみました。データベースの勉強がてらです。 場合によっては余計なデータにはなりませんが、ごちゃごちゃしてくると重くなるといわれています(特に複数テーブルにスキャンするときなど・ただし、記事数・レコード数が少ないときは、そんなに気にしなくていい)。さっそくデータベースを確認してみましょう。

■余計なデータ例1:アンインストールしたプラグインが、テーブルそのまま残していく

Woocommerceの残骸 管理人がネットショッププラグイン『Woocommerce』を試したときの残骸です。アンインストールしたにもかかわらず、顧客や商品情報を格納するテーブルが残ってしまいました。 見分け方は〇〇接頭辞_Woocommerce(プラグイン名)_〇〇(テーブル名)みたいになっているので、判別はしやすいです。

ネットショップ運営時には必要な項目ですし、管理人の状況では空テーブルなので、容量は食っていません。邪魔な時は赤ボタンで削除しました。データベース最適化してくれるプラグインがあるようですが、まだ試していません。

管理人はあまりプラグインを使わないほうなのでよくわからないんですが、中には『思いっきりデータベースの容量を食うプラグイン』もあるらしいです。 不使用などであってもしかたないテーブルは、phpmyadminでテーブルを選択し、『操作→テーブルを削除する(DROP TABLE wp〇〇_〇〇のDROP TABLE文が実行される)』で消しておけば大丈夫です(間違って記事などが入っているテーブルを消さないようにしましょう)。

■余計なデータ例2:リビジョンが溜まる

リビジョン(変更履歴や変更前のデータみたいなもの)は、Wikipediaみたいなサイトにするときは必要です。しかし、設定をしておかないと、記事リライトをするたびに前のバージョン本文データが、どんどんデータベースにたまっていきます。リビジョン制限をする前には、同じ記事の本文が大量に溜まっています。

データベース内で見てみます。『wp_posts』というテーブルに記事が入っています。 同じタイトル・同じ内容の記事が大量にデータベースに 同じタイトル・同じ内容の記事が大量にあります。

理由はリビジョンだからです。(フィールドのpost_typeというところがrevisionになる) リビジョンがデータベースにたまっていく 対して変更しないのに記事の保存を何回もしてたら、こんなにリビジョンがたまってしまいました。

■リビジョンを制限する方法

config.phpからリビジョン回数を設定する事が可能です。当サイトでも実施したので、やり方はこちらをご確認ください。

『データベース圧迫するワードプレス リビジョンを、安定稼動のため削除・制限する(プラグインとconfig.php)』

■リビジョン手動削除の注意点

『リビジョン』となっていて、使っていないものは削除しても問題ないかもしれません。しかし、間違って『記事に使われているバージョン』を消してしまうと、本文がそのまま消えてしまうので注意してください。 (管理人は昔、データベースの掃除をしてて記事を吹っ飛ばしたことがあります(笑))

■余計なデータ例3:迷惑コメント

迷惑コメントもデータベースにたまる ちょくちょく制限をすり抜けて、トラックバックスパムみたいなコメント残してく人がいます(内容はだいたい、海外の激安ブランドサイト)ゴミ箱にぶっこんだ段階では、まだデータベースのコメントテーブル(wp_comments)内に残っています

大量にくるとデータベース圧迫ももちろんですが(コメントのテーブルに対してスキャンさせないようにして、表示速度などに影響させないという手もある)、『ゴミ箱を空にする』操作でクリアします(この操作はデータベース上でなくて大丈夫)。

管理人的にイヤなケース~複数インストール&接頭辞混同・プラグインテーブルでごちゃごちゃ

ガッツリ回しているサイトの案件だと、phpmyadmin上から『実際にカスタムフィールドの値は入っているか』『クエリが別の重複テーブル値を拾ってないか』など確認・操作することはあります。移転のときの接頭辞とかのチェックもそうです。

しかし、なんも考えずにやってしまうと『複数インストール&接頭辞混同・プラグインテーブルでごちゃごちゃ』みたいな状況になります。こうなると表示速度に影響しなくても、調べるときよくわからないという状況に。『どこに何があるかはっきりさせておく』のは、机の整頓もデータベースも一緒です。

あとがき・まとめ・参考リンク

  • WPのデータベース上には、プラグインが残すテーブル・リビジョン・迷惑コメントなどがたまる
  • phpmyadmin操作やconfig設定、管理画面からの操作で整理できる

データベースはたまに見る程度だったんだけど、プラグイン残骸やリビジョン・スパムコメントなどもあることがわかりました。数百記事程度のブログサイト程度なら、多少データがたまっていても、表示速度に影響はないかもしれません。とはいえ、大量にたまる前に、掃除して最適化しておくのがよいでしょう。ついでにテーブル構造などもわかるので一石二鳥です。

■参考リンク・codex データベース構造 http://wpdocs.osdn.jp/データベース構造


【カテゴリ】 - PHP・データベースetc
【タグ】 -

  関連記事

【WordPressで覚えよう】PHP「->」(オブジェクト演算子/アロー演算子)・「=>」(ダブルアロー演算子)の違い

今回は、管理人もPHP学習し始めのときは混同していた、PHPの演 ...

【超危険】WordPressデータベースリビジョンお掃除

今回は、WordPressのリビジョンが、データベースに大量にた ...

【PHP】カウントダウン機能に使える?array_reverseで配列要素を逆に,パラメーター挙動&array_flipとの違い

今回は、管理人がYouTubeData APIの、order=d ...

YouTube Data APIを使って、PHPで『タイトル・動画id・サムネイル画像』などを取得してみる(Search: listリソース)

今回は、youtubeとwebサイト連携で、YouTube Da ...

テスト環境(ローカル含む)でPHPサイト開発に使えるツール&xamppでやってみた例(設定や表示ファイルetc)

今回は、管理人がサイトに、ちょっとした機能を実装しようとしていた ...

WordPress一覧表示で、特定のカテゴリ/投稿を表示しないようにするには?→category_not_in・post_not_inで

今回は、WordPressの公式フォーラムを見ていたら、『一覧か ...

WordPress・REST APIのjsonファイルにカスタムフィールドを入れ、タイトル・アイキャッチと共に外部サイトで取得・表示

今回は、管理人がWPで作ったサイトのコンテンツを、別の自社運営サ ...