WordPressのデータベースの構造について理解しておこう

WordPressのデータベース構造について改めてメモ。ちなみにここで書いていることは、マルチサイトではないWordPress。いわゆる通常の状態のWordPressのデータベース構造について書いています。

マルチサイトに関してはあまり詳しくないので、もし今後その知識を深めることがあったら書いておきたいと思います。

どんなデータがあるのか一覧で

  1. wp_posts
  2. wp_postmeta
  3. wp_terms
  4. wp_term_relationships
  5. wp_term_taxonomy
  6. wp_users
  7. wp_usermeta
  8. wp_comments
  9. wp_commentmeta
  10. wp_options
  11. wp_links

とまあ、これがデフォルトの状態でのデータベースの内容です。

それぞれどんなデータが保存されるのか

wp_posts

投稿・固定ページ・メディア・カスタムメニュー・カスタム投稿・リビジョンなどの投稿関連のデータが保存される。

wp_postmeta

上で書いたwp_posts用のメタデータが保存される。主にカスタムフィールドなどの情報。

メタデータ(metadata)、メタ情報とは、メタなデータ、すなわちデータについてのデータという意味で、あるデータが付随して持つそのデータ自身についての付加的なデータを指す。

引用元:メタデータ – Wikipedia

wp_terms

カテゴリーやタグ、カスタム分類などのターム情報が保存される。

wp_term_relationships

タームと投稿などを関連づけるデータが保存される。

wp_term_taxonomy

タームと分類を関連づけるデータが保存される。

wp_users

ユーザー情報が保存される。

wp_usermeta

ユーザーのメタデータが保存される。

wp_comments

コメントが保存される。

wp_commentmeta

コメントのメタデータが保存される。

wp_options

様々な設定情報が保存される。主に管理画面の【設定】で入力したデータなど。

wp_links

リンク関連のデータが保存される。

理解しておけば、プラグインで追加されるデータベースが特定できる

デフォルトのデータベース内容を理解していたら何が良いのかというと、ひとつはプラグインなどでデータベースに対してどのような影響があるのか。というのがわかります。

  1. wp_posts
  2. wp_postmeta
  3. wp_terms
  4. wp_term_relationships
  5. wp_term_taxonomy
  6. wp_users
  7. wp_usermeta
  8. wp_comments
  9. wp_commentmeta
  10. wp_options
  11. wp_links

基本構造は上記の通りというのがわかったので、これら以外のテーブルが追加されていたとしたら、何らかのプラグインやテーマにより新規に作られたものなのか、今は使っていないプラグインだけど、過去の運用の中で残されたものなのかがわかるようになります。

あとがき

一般的にはほとんど見ることのないデータベース構造ですが、「なんかサイトの速度が遅くなってきた」なんてときにデータベースを見てみたら、よくわからないデータがたくさんたまってた!なんてことがあります。

僕もリニューアルを任された時などに、データベース構造を見てみたら、過去に導入したプラグインなどの影響なんでしょう。テーブルが異常なほどたくさんあったり、キャッシュ系のプラグインなどのデータが大量に残っているということがよくあります。

そんなとき、デフォルトのデータベースを理解していないと、どれが不要なものなのかが分からず、そっとブラウザを閉じて見なかったことにしてしまうかもしれません。

WordPressのデフォルトのデータベース構造を理解しておいて、そういった事態に備えておくのもいいかもしれません。

ちなみに、過去のプラグインのデータがと言いましたが、管理画面のプラグイン管理画面から削除しておけば、