WordPressを使っていて、どんな構造になっているのか気になったので、メモ。
WordPressとは

WordPressは、ホームページ制作用の無料ソフト。
HTMLなどの知識がなくても、誰でも直感的に、そして簡単にブログなどの記事を制作できる。
ソフト自体は主にPHPと言う言語で作成されている。
WordPressの構造
ワードプレスはざっくり書くと、下記の図のような仕組みになっている

ワードプレスはソフトウェア単体で動作する訳ではなく、
データベースシステム(MySQL)と連携して動作するwebアプリとなっている。
そのため、ワードプレスを使用する際は、MySQLも合わせてサーバーにインストールする必要がある。
ワードプレスをインストールすると、インストールしたディレクトリに、動作に必要なファイル群、やディレクトリ群が配置される(上記イラストの水色の部分)。
ディレクトリ・ファイルの構造
ワードプレスをインストールすると、かなり大まかだが、インストールしたディレクトリ(/)から、下記のような構造でファイル・ディレクトリが配置される。
ディレクトリ構成 | 役割 | ||
---|---|---|---|
/ | WordPress本体のプログラム 基本的にはノータッチ |
||
index.php | サイトへのアクセス時、最初に読み込まれるファイル | ||
license.txt | ライセンスに関するテキストファイル | ||
readme.html | WordPress のインストールや基本的な情報が書いてあるファイル | ||
wp-activate.php | ユーザーアカウントに関するファイル | ||
wp-blog-header.php | WordPress の環境関連ファイルをロードするファイル | ||
wp-comments-post.php | コメント投稿に関するファイル | ||
wp-config.php | WordPressの設定ファイル | ||
wp-config-sample.php | wp-configの元となるファイル。インストール時にこのファイルを元にwp-config.phpファイルが生成される | ||
wp-cron.php | WordPressのcron(らしきもの)のファイル | ||
wp-links-opml.php | リンクの XML 出力に関するファイル | ||
wp-load.php | WordPressの動作や起動に関連するファイルをロードするファイル | ||
wp-login.php | 管理画面のログインに関するファイル | ||
wp-mail.php | メールでのブログ投稿用ファイル | ||
wp-settings.php | WordPress 基本設定ファイル | ||
wp-signup.php | ブログ名やユーザー名などの設定に関するファイル | ||
wp-trackback.php | トラックバックとPing 送信用ファイル | ||
xmlrpc.php | XML-RPC 通信に関するファイル | ||
wp-includes/ | WordPressで使用する関数(PHPプログラム)がたくさん格納されているところ。 基本はノータッチ。 |
||
wp-admin/ | WordPressで使用する管理画面用のPHPプログラム。 基本はノータッチ。 |
||
wp-content/ | WordPressで使用する、コンテンツに関するデータを格納しているところ。直接触る機会があるところとしては、このディレクトリのみ。 | ||
languages/ | 言語サポート用ファイル。基本的にはノータッチ | ||
upgrade/ | アップグレード時のファイル。基本的にはノータッチ | ||
themes/ | テーマや子テーマが格納されている。 バックアップしておいた方が良い。 |
||
plugins/ | プラグインが格納されている。 バックアップしておいた方が良い。 |
||
uploads/ | 各種メディア(画像,PDF,その他)が格納されている。 バックアップしておいた方が良い。 |
バックアップしておいた方が良い。と記載した部分はそのままの意味で、バックアップしておいた方が良いファイル群。後述のデータベース(MySQL)のデータと合わせてバックアップしておくことで、運用中サーバで何らかの障害が起きても、最低限、元の状態に立ち直すことができるため、万が一に備えて、必ずバックアップを取得しておこう。
DB(MySQL)に格納されているデータ
DB(データベース)はテキストデータを保存しておく、データの保管庫のようなもの。

ここには、主に記事のデータが格納されている。
- 記事の文章
- カテゴリー
- 作成日時
- etc
ここからデータを引っ張り出すことで、webサイトの画面が動的に作成されている。
本体のデータ部分なので、当然、バックアップが必要。