WordPressとはどんな仕組みで動いているのでしょう? サイトの制作・運営をするだけなら、WordPressの仕組みを全く知らなくても問題ありませんが、バリバリカスタマイズしたいなら、なんとなくでも知っておくと役立ちます。
この記事は、WordPressサイトを作るためには必読ではありません。少しだけ難しい話になりますので、自分には必要ないと感じたら読まなくても構いません。そもそも、WordPressにあまり慣れていないうちに読んでも、あまりピンとこない内容かもしれません。ひととおりWordPressを触ってなんとなく慣れたと思ったら、また読みにきてください。
WordPressってどんな仕組みで動いてるの?
ざっくり言うなら、
- サーバーがゲーム機器(Nintendo Switch、PS5……)なら……
- WordPressはゲームソフト
- データベース(MySQL)はメモリーカード
- プラグイン、テーマは追加ダウンロードコンテンツ(無料のものも、有料のものもある)
テレビゲームをあまり遊ばない方にはピンとこない例えで申し訳ないですが、だいたいこんな感じです。
WordPressとデータベースの関係
WordPressはあくまでプログラムであり、データを記録することはできません。サイト情報やコンテンツの内容(記事の内容)などのデータは、WordPressプログラムの中ではなく、データベースに記録されます。
誰かがWordPressサイトに訪問すると、PHPと呼ばれるプログラムで作られているWordPress本体が動作して、訪問者のリクエストに対応したデータを、データベースから取ってきてくれます。
このサイトもWordPressで作られています。今あなたが見ているこの文章も、サーバー備え付けのデータベースに保存されているのです。あなたの「この記事を読みたい!」というリクエストに応じて、WordPressがデータベースから本文を取ってきて、見せてくれているのですね。
なので、サイトの中身はWordPressではなくデータベースの中にあると言ってもよいかもしれませんね。
WordPress初心者の方によくある誤解で、「使用しているテーマを変更すると、それまでに作った投稿や固定ページがすべて消えてしまうのでは?」とか、「WordPressサイトを引っ越しするには、HTMLサイトと同じように、ファイルストレージの内容をすべて引っ越し先サーバーに移せばよいのでは?」というものがあります。
しかし、サイトのコンテンツはデータベースに保存されているので、テーマを変更してもそれまでに作成したコンテンツは消えませんし、WordPressサイトを引っ越しするにはデータベースの中身も一緒に移動させなければいけない、というわけです。
保管場所 | 保管されるもの | 保管されるものの例 |
---|---|---|
ファイルストレージ | ファイル(PHP、CSS、JS、HTML……) | WordPress本体 テーマファイル プラグインファイル アップロードした画像ファイル etc… |
データベース | 情報 | サイトの名前 ログインID、パスワード 管理者の名前 記事のタイトル、本文、記事を書いた日付 テーマの設定 プラグインの設定 etc… |
WordPressファイルの構成を見てみよう
では、実際にWordPressのファイル構成を見てみましょう。まずは、WordPress.orgのサイトでWordPress本体をダウンロードします。
少し下の方にスクロールするとダウンロードボタンがあるのでクリックします。ZIPファイルがダウンロードされるので、これを展開してください。
余談ですが、サーバーに付属のカンタンインストール機能を利用せずにWordPressをセットアップする場合は、このように展開して生成されたファイルを丸ごとサーバーにアップロードしてWordPressを設置します。FTPツールなどを使う必要があるので、ちょっと手間ですね。
展開した「wordpress」フォルダを開いてみましょう。
たくさんのPHPファイルが入っているのが分かります。これらPHPファイルのほぼすべてがWordPressの機能を担う重要なファイルです。とはいえさすがにすべてを解説するのは大変なので、この記事ではWordPressを使う上で知っておくと困ったときに役に立つかもしれないファイルやフォルダの解説をします。
WordPressのデータベース接続設定を保持する、wp-config.php
この中に「wp-config-sample.php」というファイルがあります。名前の通りこのファイルはサンプルです。開いてみると、27行目あたりから次のような記述が始まっています。
// ** データベース設定 - この情報はホスティング先から入手してください。 ** // /** WordPress のためのデータベース名 */ define( 'DB_NAME', 'database_name_here' ); /** データベースのユーザー名 */ define( 'DB_USER', 'username_here' ); /** データベースのパスワード */ define( 'DB_PASSWORD', 'password_here' ); /** データベースのホスト名 */ define( 'DB_HOST', 'localhost' ); /** データベースのテーブルを作成する際のデータベースの文字セット */ define( 'DB_CHARSET', 'utf8' ); /** データベースの照合順序 (ほとんどの場合変更する必要はありません) */ define( 'DB_COLLATE', '' );
WordPressをセットアップすると、wp-config.phpという名前のファイルが自動的に生成されます。wp-config-sample.phpは、そのファイルのサンプルというわけです。wp-config.phpには、上に示した通り、どのサーバーにあるどのデータベースを使用するかという重要な情報が記載されるということです。
あなたのWordPress内のwp-config.phpに書かれている情報は、絶対に他人に渡さないようにしましょう。この情報が洩れてしまうと、あなたの利用しているデータベースに第三者がアクセスできるようになるため、サイトの情報を書きかえられるなど、不正な操作をされてしまう危険があります。
ユーザーがアップロードしたものが保存される、wp-content
次に「wp-content」という名前のフォルダを開いてみましょう。中身は次のようになっているはずです。
languagesフォルダを使うことはあまりないかと思いますが、pluginsフォルダとthemesフォルダはもしかしたら使うことがあるかもしれません。
名前から想像できる通り、WordPressにインストールしたプラグインはpluginフォルダに、テーマはthemesフォルダに保存されます。試しにthemesフォルダを開いてみると、WordPress標準のテーマが3つ入っているはずです。
ちなみに、テーマやプラグインにも独自の設定項目がある場合がありますが、このようなテーマやプラグインの設定も「情報」としてデータベースに保存されます。
さらに、WordPressをセットアップして画像などのメディアをアップロードすると、wp-contentフォルダの中に「uploads」フォルダが生成されて、ここにメディアが保存されていきます。
必ず知っておかなければいけないというものでもありませんが、自分がよく使うツールやファイルがどこに保管されているかは、なんとなくでいいので知っておきましょう。後々、カスタマイズやアップデートを行うときに役立つかもしれません。
WordPressの仕組みを理解すれば、もっと使いこなせます
この記事で解説したWordPressの仕組みは、ほんの一部分です。知らなくてもサイトは作れるし、運営できます。けれど、WordPressをバリバリ使いこなそうと思ったとき、WordPressの成り立ちや仕組みを知らないのと知っているのとでは、かなり差が出てきます。
一度にすべてを覚える必要はありません。WordPressに触れて、実際に運用しながら少しずつ理解を深めていきましょう!