0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WordPress の構成一覧

Posted at

WordPressのデータベースのテーブル

WordPressでWebサイトを運営する上で、必要不可欠なのがデータベースです。
普段特に意識せずに使っているWordPressのデータベースですが、構造を詳しく知っておくことで、カスタマイズがしやすくなります。
WordPressのデータベースは以下の12テーブルから構成されています。(バージョン6.2.2時点)

テーブル名 概要
wp_commentmeta コメントのメタ情報が格納されています。主にプラグインで使用されることが多いです。WordPressにデフォルトで入っているコメントスパム検知用プラグイン「Akismet」でも使われています
wp_comments 投稿へのコメントを記録しています。コメント投稿者、メールアドレス、IP、日時、内容、承認状況、ユーザーエージェントなど様々な情報を記録しています
wp_links リンク関連のデータを管理しています。一部プラグインで使用されています
wp_options WordPress各種設定が保存されています。サイトURLやホームURL、サイト名などの基本情報から、一部プラグインの設定まで幅広く利用されています
wp_postmeta 投稿のメタ情報が保存されています。カスタムフィールドやプラグインによって投稿に機能を追加する場合に使われます
wp_posts WordPressの投稿・固定ページ・カスタム投稿全てこのテーブルに保存されています。著者、投稿日時、更新日時、タイトル、内容、公開状況、投稿タイプなどが保存されています
wp_termmeta WordPress4.4から新たに追加されたテーブルです。プラグインや個別にカスタマイズする際に利用することができます
wp_terms カテゴリやタグの名前とスラッグを保存しています
wp_term_relationships 投稿とカテゴリ・タグを紐付けています。どの投稿がどういったカテゴリ・タグを持ってるかの情報が保存されています
wp_term_taxonomy wp_termに保存さている語句がカテゴリなのか?タグなのか?といった情報を保存しています
wp_usermeta WordPressユーザーのメタデータが格納されています。各ユーザーの紹介文や権限などの設定に使用されています
wp_users WordPressユーザーの名前やパスワードが保存されています

wp_commentmeta

コメントのメタ情報が格納されています。主にプラグインで使用されることが多いです。WordPressにデフォルトで入っているコメントスパム検知用プラグイン「Akismet」でも使われています。

+------------+-----------------+------+-----+---------+----------------+
| Field      | Type            | Null | Key | Default | Extra          |
+------------+-----------------+------+-----+---------+----------------+
| meta_id    | bigint unsigned | NO   | PRI | NULL    | auto_increment |
| comment_id | bigint unsigned | NO   | MUL | 0       |                |
| meta_key   | varchar(255)    | YES  | MUL | NULL    |                |
| meta_value | longtext        | YES  |     | NULL    |                |
+------------+-----------------+------+-----+---------+----------------+

wp_comments

投稿へのコメントを記録しています。コメント投稿者、メールアドレス、IP、日時、内容、承認状況、ユーザーエージェントなど様々な情報を記録しています。

+----------------------+-----------------+------+-----+---------------------+----------------+
| Field                | Type            | Null | Key | Default             | Extra          |
+----------------------+-----------------+------+-----+---------------------+----------------+
| comment_ID           | bigint unsigned | NO   | PRI | NULL                | auto_increment |
| comment_post_ID      | bigint unsigned | NO   | MUL | 0                   |                |
| comment_author       | tinytext        | NO   |     | NULL                |                |
| comment_author_email | varchar(100)    | NO   | MUL |                     |                |
| comment_author_url   | varchar(200)    | NO   |     |                     |                |
| comment_author_IP    | varchar(100)    | NO   |     |                     |                |
| comment_date         | datetime        | NO   |     | 0000-00-00 00:00:00 |                |
| comment_date_gmt     | datetime        | NO   | MUL | 0000-00-00 00:00:00 |                |
| comment_content      | text            | NO   |     | NULL                |                |
| comment_karma        | int             | NO   |     | 0                   |                |
| comment_approved     | varchar(20)     | NO   | MUL | 1                   |                |
| comment_agent        | varchar(255)    | NO   |     |                     |                |
| comment_type         | varchar(20)     | NO   |     | comment             |                |
| comment_parent       | bigint unsigned | NO   | MUL | 0                   |                |
| user_id              | bigint unsigned | NO   |     | 0                   |                |
+----------------------+-----------------+------+-----+---------------------+----------------+

wp_links

投稿等の各種リンクが保存されているテーブルです。

カラム名 カラム型 概要
link_id bigint unsigned リンク登録ごとに割り振られているID
linl_url varchar(255) ウェブサイトのURL
link_name varchar(255) リンク名
link_image varchar(255) 画像のURL
link_target varchar(25) リンクのターゲット
link_description varchar(255) ディスクリプション
link_owner bigint unsigned 評価(評価を指す項目は複数あります)
link_notes mediumtext メモ
+------------------+-----------------+------+-----+---------------------+----------------+
| Field            | Type            | Null | Key | Default             | Extra          |
+------------------+-----------------+------+-----+---------------------+----------------+
| link_id          | bigint unsigned | NO   | PRI | NULL                | auto_increment |
| link_url         | varchar(255)    | NO   |     |                     |                |
| link_name        | varchar(255)    | NO   |     |                     |                |
| link_image       | varchar(255)    | NO   |     |                     |                |
| link_target      | varchar(25)     | NO   |     |                     |                |
| link_description | varchar(255)    | NO   |     |                     |                |
| link_visible     | varchar(20)     | NO   | MUL | Y                   |                |
| link_owner       | bigint unsigned | NO   |     | 1                   |                |
| link_rating      | int             | NO   |     | 0                   |                |
| link_updated     | datetime        | NO   |     | 0000-00-00 00:00:00 |                |
| link_rel         | varchar(255)    | NO   |     |                     |                |
| link_notes       | mediumtext      | NO   |     | NULL                |                |
| link_rss         | varchar(255)    | NO   |     |                     |                |
+------------------+-----------------+------+-----+---------------------+----------------+

wp_options

WordPress各種設定が保存されています。サイトURLやホームURL、サイト名などの基本情報から、一部プラグインの設定まで幅広く利用されています。

+--------------+-----------------+------+-----+---------+----------------+
| Field        | Type            | Null | Key | Default | Extra          |
+--------------+-----------------+------+-----+---------+----------------+
| option_id    | bigint unsigned | NO   | PRI | NULL    | auto_increment |
| option_name  | varchar(191)    | NO   | UNI |         |                |
| option_value | longtext        | NO   |     | NULL    |                |
| autoload     | varchar(20)     | NO   | MUL | yes     |                |
+--------------+-----------------+------+-----+---------+----------------+

wp_postmeta

投稿のメタ情報が保存されています。カスタムフィールドやプラグインによって投稿に機能を追加する場合に使われます。

+------------+-----------------+------+-----+---------+----------------+
| Field      | Type            | Null | Key | Default | Extra          |
+------------+-----------------+------+-----+---------+----------------+
| meta_id    | bigint unsigned | NO   | PRI | NULL    | auto_increment |
| post_id    | bigint unsigned | NO   | MUL | 0       |                |
| meta_key   | varchar(255)    | YES  | MUL | NULL    |                |
| meta_value | longtext        | YES  |     | NULL    |                |
+------------+-----------------+------+-----+---------+----------------+

wp_posts

12個のテーブルの中でも特に重要度が高いのが、WordPressの 投稿や固定ページに関するデータを蓄積している wp_postsです。

カラム名 カラム型 概要
post_author bigint unsigned 投稿者のID
post_date datetime 投稿した日時
post_date_gmt datetime 投稿した日時(GMT)
post_content longtext 投稿の本文
post_title text 投稿のタイトル
post_status varchar(20) 投稿ステータス
comment_status varchar(20) コメントの許可状況
ping_status varchar(20) タックバック、ピンバック受け付けの可否
post_password varchar(255) 投稿を閲覧するためのパスワード
+-----------------------+-----------------+------+-----+---------------------+----------------+
| Field                 | Type            | Null | Key | Default             | Extra          |
+-----------------------+-----------------+------+-----+---------------------+----------------+
| ID                    | bigint unsigned | NO   | PRI | NULL                | auto_increment |
| post_author           | bigint unsigned | NO   | MUL | 0                   |                |
| post_date             | datetime        | NO   |     | 0000-00-00 00:00:00 |                |
| post_date_gmt         | datetime        | NO   |     | 0000-00-00 00:00:00 |                |
| post_content          | longtext        | NO   |     | NULL                |                |
| post_title            | text            | NO   |     | NULL                |                |
| post_excerpt          | text            | NO   |     | NULL                |                |
| post_status           | varchar(20)     | NO   |     | publish             |                |
| comment_status        | varchar(20)     | NO   |     | open                |                |
| ping_status           | varchar(20)     | NO   |     | open                |                |
| post_password         | varchar(255)    | NO   |     |                     |                |
| post_name             | varchar(200)    | NO   | MUL |                     |                |
| to_ping               | text            | NO   |     | NULL                |                |
| pinged                | text            | NO   |     | NULL                |                |
| post_modified         | datetime        | NO   |     | 0000-00-00 00:00:00 |                |
| post_modified_gmt     | datetime        | NO   |     | 0000-00-00 00:00:00 |                |
| post_content_filtered | longtext        | NO   |     | NULL                |                |
| post_parent           | bigint unsigned | NO   | MUL | 0                   |                |
| guid                  | varchar(255)    | NO   |     |                     |                |
| menu_order            | int             | NO   |     | 0                   |                |
| post_type             | varchar(20)     | NO   | MUL | post                |                |
| post_mime_type        | varchar(100)    | NO   |     |                     |                |
| comment_count         | bigint          | NO   |     | 0                   |                |
+-----------------------+-----------------+------+-----+---------------------+----------------+

wp_termmeta

WordPress4.4から新たに追加されたテーブルです。プラグインや個別にカスタマイズする際に利用することができます。

+------------+-----------------+------+-----+---------+----------------+
| Field      | Type            | Null | Key | Default | Extra          |
+------------+-----------------+------+-----+---------+----------------+
| meta_id    | bigint unsigned | NO   | PRI | NULL    | auto_increment |
| term_id    | bigint unsigned | NO   | MUL | 0       |                |
| meta_key   | varchar(255)    | YES  | MUL | NULL    |                |
| meta_value | longtext        | YES  |     | NULL    |                |
+------------+-----------------+------+-----+---------+----------------+

wp_terms

カテゴリやタグの名前とスラッグを保存しています。

+------------+-----------------+------+-----+---------+----------------+
| Field      | Type            | Null | Key | Default | Extra          |
+------------+-----------------+------+-----+---------+----------------+
| term_id    | bigint unsigned | NO   | PRI | NULL    | auto_increment |
| name       | varchar(200)    | NO   | MUL |         |                |
| slug       | varchar(200)    | NO   | MUL |         |                |
| term_group | bigint          | NO   |     | 0       |                |
+------------+-----------------+------+-----+---------+----------------+

wp_term_relationships

投稿とカテゴリ・タグを紐付けています。どの投稿がどういったカテゴリ・タグを持ってるかの情報が保存されています。

+------------------+-----------------+------+-----+---------+-------+
| Field            | Type            | Null | Key | Default | Extra |
+------------------+-----------------+------+-----+---------+-------+
| object_id        | bigint unsigned | NO   | PRI | 0       |       |
| term_taxonomy_id | bigint unsigned | NO   | PRI | 0       |       |
| term_order       | int             | NO   |     | 0       |       |
+------------------+-----------------+------+-----+---------+-------+

wp_term_taxonomy

wp_termに保存さている語句がカテゴリなのか?タグなのか?といった情報を保存しています。

+------------------+-----------------+------+-----+---------+----------------+
| Field            | Type            | Null | Key | Default | Extra          |
+------------------+-----------------+------+-----+---------+----------------+
| term_taxonomy_id | bigint unsigned | NO   | PRI | NULL    | auto_increment |
| term_id          | bigint unsigned | NO   | MUL | 0       |                |
| taxonomy         | varchar(32)     | NO   | MUL |         |                |
| description      | longtext        | NO   |     | NULL    |                |
| parent           | bigint unsigned | NO   |     | 0       |                |
| count            | bigint          | NO   |     | 0       |                |
+------------------+-----------------+------+-----+---------+----------------+

wp_usermeta

WordPressユーザーのメタデータが格納されています。各ユーザーの紹介文や権限などの設定に使用されています。

+------------+-----------------+------+-----+---------+----------------+
| Field      | Type            | Null | Key | Default | Extra          |
+------------+-----------------+------+-----+---------+----------------+
| umeta_id   | bigint unsigned | NO   | PRI | NULL    | auto_increment |
| user_id    | bigint unsigned | NO   | MUL | 0       |                |
| meta_key   | varchar(255)    | YES  | MUL | NULL    |                |
| meta_value | longtext        | YES  |     | NULL    |                |
+------------+-----------------+------+-----+---------+----------------+

wp_users

WordPressのユーザーに関連した設定を保存しているのが wp_users で、WordPressの管理画面へのログインに必要なユーザー名やパスワードをここから参照できます。

カラム名 カラム型 概要
user_login varchar(60) ログイン名
user_pass varchar(255) ユーザーパスワード
user_email varchar(100) ユーザーの登録メールアドレス
user_url varchar(100) ウェブサイトのURL
user_registered datetime ユーザーの登録日時
+---------------------+-----------------+------+-----+---------------------+----------------+
| Field               | Type            | Null | Key | Default             | Extra          |
+---------------------+-----------------+------+-----+---------------------+----------------+
| ID                  | bigint unsigned | NO   | PRI | NULL                | auto_increment |
| user_login          | varchar(60)     | NO   | MUL |                     |                |
| user_pass           | varchar(255)    | NO   |     |                     |                |
| user_nicename       | varchar(50)     | NO   | MUL |                     |                |
| user_email          | varchar(100)    | NO   | MUL |                     |                |
| user_url            | varchar(100)    | NO   |     |                     |                |
| user_registered     | datetime        | NO   |     | 0000-00-00 00:00:00 |                |
| user_activation_key | varchar(255)    | NO   |     |                     |                |
| user_status         | int             | NO   |     | 0                   |                |
| display_name        | varchar(250)    | NO   |     |                     |                |
+---------------------+-----------------+------+-----+---------------------+----------------+

WordPressのフォルダ・ファイル構成

WordPressのディレクトリとファイルの基本的な構成を知っておけば、WordPressのバックアップからの復旧作業や、サーバー移転などの時に役立ちます。また、WordPress本体バージョンアップで自動で置き換わるシステム系ファイルと、独自でカスタマイズできる(バージョンアップで置き換わらない)ファイルがあるので、ファイルを編集する際は、これらを理解した上で編集する必要があります。

フォルダ・ファイル名 概要
wp-admin ワードプレスの管理画面用のファイル類が格納されているフォルダ。基本的にWordPressバージョンアップで置き換わるファイル類
wp-includes ワードプレスのシステム全般に関するファイル類が格納されているフォルダ。基本的にWordPressバージョンアップで置き換わるファイル類
wp-content ワードプレスのテーマやプラグイン、画像データなどが入ったフォルダ。基本的にWordPress本体バージョンアップで置き換わらないファイル類があるので、ワードプレスをカスタマイズする際には、主にこのフォルダの中のファイル類に対して作業していきます
wp-config.php WordPressの設定ファイル。データベースとの通信に必要な情報なども記述されており、とても重要なファイル
.htaccess アクセスを制御するとても重要なファイル。WordPressが自動生成するが、追記などして動作制御をすることが可能
wp-login.php ワードプレスのログイン画面に関するファイル
wp-load.php ワードプレスの動作に必要なプログラム類を読み込むファイル
index.php サイトにアクセスがあった時に最初に読み込まれるファイル

wp-admin

wp-admin フォルダーには、WordPress管理画面のファイル類(HTML、PHP、CSS、画像)が格納されています。
WordPressをアップデートすると、wp-adminフォルダー内のファイル類は新しいバージョンのファイルに置き換わるので、通常wp-adminの中のファイルはカスタマイズしない方が安全です。WordPressの管理画面をカスタマイズする際はWordPressバージョンアップで置き換わらないファイル(functions.phpなど)に記述することで対応できます。

wp-include

wp-includesフォルダーには、システムを管理するPHPなどのプログラムファイルが格納されています。
WordPressをアップデートすると、wp-includesフォルダー内のファイル類は新しいバージョンのファイルに置き換わるので、通常wp-includesの中のファイルはカスタマイズしない方が安全です。

wp-content

wp-contentフォルダーには、WordPressのテーマやプラグイン、画像データなどが入っています。WordPressをカスタマイズする際には、主にこのwp-contentフォルダの中のファイル類に対して作業していきます。wp-adminやwp-includesフォルダと違って、wp-contentは個々のサイトごとにオリジナルのデータが入ることになるのでバックアップするべき重要なファイルです。

  • wp-contentフォルダの内訳
フォルダ・ファイル名 概要
language 翻訳ファイルを格納
plugins プラグインファイルが格納されています
themes テーマファイルが格納されています
upgrade アップデートファイルが格納されています
uploads アップロードした画像ファイルなどが格納されています

wp-content/themes

themesフォルダは、WordPressのテーマフォルダ類が格納されています。
初期状態では、twentytwentyone、twentytwenty などの公式テーマがあり、WordPressの管理画面からテーマを新規インストールするとthemesフォルダの中にテーマフォルダが新たに格納されていきます。
各テーマフォルダには、ページを表示させるためのPHPや、CSS、JavaScriptファイルなどが格納されています。

wp-content/plugins

pluginsフォルダは、WordPressのプラグインファイル類が格納されています。
pluginsフォルダの中に移動すると、各種プラグインフォルダが新たに格納されていきます。
pluginsフォルダの中のプラグインのフォルダ名を変更すると強制的にプラグイン無効化することもできます。

wp-content/uploads

uploadsフォルダには、主にWordPressのメディアライブラリにアップロードした画像が格納されています。
アップロードされた画像は年・日付フォルダごとに分類されて格納されており、WordPressのメディアライブラリから画像を閲覧することができます。

wp-content/language

languageフォルダは、WordPressの言語ファイルが格納されています。
通常、独自で触ることはないフォルダです。

wp-content/upgrades

upgradesフォルダは、WordPressのアップグレード時に利用されるフォルダです。
通常、中身はなく独自で触ることはないフォルダです。

WordPress直下にある重要ファイル

特にwp-config.phpと.htaccessは、個々のサイトごとにオリジナルの内容が記述されているため、何かあったときの復元・復旧に必要な重要なファイルです。

wp-config.php

wp-config.phpは、WordPressの設定ファイル。データベースとの通信に必要な情報なども記述されている、中身的にもセキュリティ的にもとても重要なファイルです。WordPressの復元する際にこのファイルが必要になります。

.htaccess

.htaccessは、アクセスを制御する中身的にもセキュリティ的にもとても重要なファイルです。
WordPressが自動生成するが、追記などして常時SSLやアクセス制限など動作制御をすることが可能です。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?