WordPressでサイトを生成すると自動でデータベースと必要なテーブルが生成される。
テーブルは複数ありそれぞれ決められたデータが保存されている。これらを確認する方法について。
phpMyAdminにログインする
WordPressはDBにMySQLを使っている。生成したデータベースとテーブルを確認するにはphpMyAdminを使うのが便利。
phpMyAdminのログイン方法は以下ご参照。
(参考)【WordPress】データベースの中身を確認する方法。phpMyAdminへのログイン方法。ユーザー名・パスワード・サーバー(ホスト)名はどこにあるか。
WordPressの各テーブル
phpMyAdminにログインした後に、左側に表示される筒型のアイコンがデータベース。以下の例だと、information_schemaとwp_dbの2つのデータベースがある。
データベースの+アイコンをクリックすると、中にあるテーブルの一覧が表示される。ここがwordpressの各情報が保存される場所になる。
デフォルトでは12個のテーブルが生成される。プラグインによっては追加することで新たなテーブルが増える。
※information_schemaはデフォルトで生成されるデータベースで、MySQLに関する情報が保存されている。基本設定や、処理に時間がかかるクエリなので基本的には触らない。
No | テーブル名 | 内容 | 関連画面 |
1 | wp_commentmeta | コメントのメタデータ情報を保存 | コメント > コメント |
2 | wp_comments | コメントの内容を保存 | コメント |
3 | wp_links | リンク作成で入力されたリンク情報を格納。(現在非推奨。Links Managerプラグインで有効化可) | – |
4 | wp_options | 管理 > 設定で設定されたオプション設定情報を格納。(プラグインの設定情報も一部格納) | 設定 > 一般設定 |
5 | wp_postmeta | 投稿や固定ページのメタデータを格納 | 投稿/固定ページ > 新規追加 |
6 | wp_posts | 投稿、固定ページ、ナビゲーションメニューのデータを格納 | |
7 | wp_termmeta | カテゴリやタグのメタ情報を格納 | 投稿 > カテゴリー/投稿タグ |
8 | wp_terms | カテゴリ・タグなどの投稿の分類情報を格納 | 投稿 > カテゴリー/投稿タグ |
9 | wp_term_relationships | 投稿とカテゴリ・タグとの関連付け情報を格納 | 投稿 > 新規追加/投稿 |
10 | wp_term_taxonomy | カテゴリ・タグの名前や説明などの情報を格納 | |
11 | wp_usermeta | 各ユーザ特有のユーザ・メタデータを格納 | ユーザー |
12 | wp_users | 登録ユーザ情報を格納。ログイン時に使用するデータ | ユーザー |
wp_commentmeta
wp_commentmetaはコメントのメタデータ情報を保存する。メタデータ情報とは何、、?となるが、これはコメントを削除したり、スパム認定したときに、そのコメントに対して付与する情報になる。
コメントが投稿されただけでは、wp_commentmetaの中は空っぽだが、編集画面で「スパム」「ゴミ箱へ移動」などの処理を行えば、このテーブルに情報が追加される。
コメントのスパム対策プラグインで有名(デフォルトで入っている)な、Akismetが自動でスパム判定したコメントのメタ情報もここに保存される。
wp_comments
コメントの投稿者の名前やメールアドレスや本文などの情報は wp_commentsテーブルに保存される。
wp_options
管理画面の「設定」→「一般」で設定した情報を保存している。
wp_postmeta
投稿や固定ページのメタデータを格納している。各投稿に対してカスタムフィールドで入力されたデータが保存される。
wp_posts
投稿、固定ページ、ナビゲーションメニューのデータを格納している。WordpressのDBテーブルの中でも最もコアなものになる。
公開しているか下書きかのステータスや、中身のコードなどのもここに保存されている。
左側の「編集」をクリックすると中身の詳細を確認・編集することができる。
wp_terms
作成したカテゴリーやタグの情報を保存する。
wp_term_relationships
どの投稿にどのカテゴリーやタグが紐付いているかの情報が保存されている。
各投稿には固有のobject_idが割り振られている。複数のカテゴリやタグを設定した場合は、各object_idに対して番号が一つずつ割り振られる。
各term_taxnonomy_idの番号が具体的にどの内容のカテゴリやタグと紐付いているかは、wp_term_taxonomyテーブルを確認すればわかる。
wp_term_taxonomy
wp_term_taxonomyには、カテゴリ・タグの名前や説明などの情報が格納されている。
各カテゴリーやタグには固有のterm_idが振られていて、登録名がtaxonomy、説明がdescriptionに表示される。
wp_usermeta
各ユーザーメタ情報が格納されている。メタ情報はユーザーの編集画面で登録する設定内容のこと。
wp_users
wp_usersにはユーザーがログインするための、名前、パスワード、e-mailが保存されている。
デフォルトで生成されるテーブルは以上の12個。
プラグインで生成されるテーブルの例
プラグインによっては導入したタイミングでテーブルを自動生成する。
例えば、画質を最適化する、EWWW Image Optimizerプラグインを導入すると、「wp_ewwwio_images」「wp_ewwwio_queue」といったテーブルが追加される。
中には、画像ファイルのパスやサイズ情報が保存されている。
All in One SEOプラグインを導入すると、「wp_aioseo_notifications」や「wp_aioseo_posts」といったテーブルが作成され、プラグインで設定した情報はここに保存される。