WordPressでサイトを運営していると、「記事はどこへ保存される?」「テーマとプラグインは何をしている?」「URLを開くと、なぜページが表示される?」と仕組みが気になることがあります。
WordPressは、完成済みのHTMLファイルだけを置く静的サイトとは異なり、アクセスのたびにPHPが動き、データベースから投稿や設定を取り出し、テーマと組み合わせてHTMLを生成するCMSです。
大きく分けると、WordPress本体の処理を担うコア、記事・設定を保存するデータベース、見た目を作るテーマ、機能を追加するプラグイン、画像などを置くアップロード領域で構成されます。
管理画面で記事を保存すると本文やタイトルは主にデータベースへ入り、アップロードした画像ファイルは通常wp-content/uploadsへ保存されます。
読者がURLへアクセスすると、WebサーバーがWordPressを起動し、URLに合う投稿データとテンプレートを選び、ブラウザへHTML・CSS・JavaScript・画像を返します。
仕組みを理解すると、バックアップで「ファイルだけ」「データベースだけ」を保存しても不十分な理由や、テーマ変更で記事が消えない理由を判断しやすくなります。
この記事では、WordPressの構成、ページ表示の流れ、管理画面から記事が公開される仕組み、テーマ・プラグイン・データベースの役割を図解します。
この記事でわかること
- WordPressを構成するファイルとデータベースの役割
- URLへアクセスしてページが表示されるまでの流れ
- テーマ・プラグイン・ブロックエディターの関係
- バックアップ・キャッシュ・更新で注意するポイント
WordPressの仕組みを最初に図解
読者が投稿ページへアクセスした場合、基本的には次の流れで画面が作られます。
読者のブラウザ
│ ① URLへアクセス
▼
Webサーバー(Apache / Nginxなど)
│ ② WordPressのPHPを実行
▼
WordPressコア
│ ③ URLを解析し、必要な投稿を問い合わせる
├──────────────► データベース
│ 投稿・固定ページ・設定・ユーザー
│ ④ データを受け取る
▼
テーマ + プラグイン
│ ⑤ テンプレートへ内容を組み込む
▼
HTML・CSS・JavaScript・画像
│ ⑥ ブラウザへ返す
▼
読者にページが表示される
キャッシュ機能を使っている場合は、毎回すべての処理を行わず、保存済みのHTMLなどを途中から返すことがあります。
WordPressはHTMLを動的に生成する
投稿ごとに完成済みのHTMLファイルを手作業で用意するのではなく、PHPプログラムが記事データとテンプレートを組み合わせます。
同じテーマの投稿が同じレイアウトで表示されるのは、一つのテンプレートへ異なる記事データを入れているからです。
ブラウザへWordPress本体が届くわけではない
PHPの処理とデータベースへの問い合わせはサーバー側で行われます。
読者のブラウザが受け取るのは、処理結果であるHTML、CSS、JavaScript、画像などです。
WordPressを構成する5つの要素
| 構成要素 | 主な役割 | 代表例 |
|---|---|---|
| WordPressコア | CMS全体の基本処理 | wp-admin、wp-includes |
| データベース | 記事・設定・ユーザーなどを保存 | MySQL・MariaDB |
| テーマ | ページ構成と見た目を決める | テンプレート、CSS、theme.json |
| プラグイン | 必要な機能を追加・変更する | フォーム、SEO、バックアップ |
| メディア・独自ファイル | 画像・PDF・CSSなどを保存 | wp-content/uploads |
WordPressコア
コアは、ログイン、投稿管理、ユーザー管理、URL解析、データベース操作、テーマ・プラグインの読み込みなど、WordPressの土台を担当します。
公式の更新で置き換わる領域なので、wp-adminやwp-includesを直接編集しないことが基本です。
データベース
WordPress公式ドキュメントでは、WordPressの利用にMySQLまたはMariaDBデータベースが必要と説明されています。
投稿本文、タイトル、公開状態、カテゴリー、コメント、ユーザー、サイトURL、プラグイン設定などが複数のテーブルへ保存されます。
テーマ
テーマは、投稿ページ、一覧ページ、404ページ、ヘッダー、フッターなどの表示構造とデザインを担います。
ブロックテーマでは、templates、parts、patterns、theme.jsonなどを組み合わせてサイトを構成します。
プラグイン
WordPress公式は、プラグインをWordPressの機能を拡張するPHPスクリプトとして説明しています。
問い合わせフォーム、セキュリティ、キャッシュ、EC、カスタムブロックなどを、コアを直接変更せずに追加できます。
アップロードファイル
管理画面からアップロードした画像やPDFは、一般的にwp-content/uploads内の年月フォルダへ保存されます。
画像ファイルの情報やURLはデータベースにも登録されるため、ファイルとデータベースの両方が必要です。
WordPressの主なフォルダ構成
wordpress/
├─ index.php
├─ wp-config.php
├─ wp-admin/
├─ wp-includes/
└─ wp-content/
├─ themes/
├─ plugins/
└─ uploads/
index.php
サイトへ届いたリクエストをWordPressの処理へ渡す入口の一つです。
パーマリンク設定とWebサーバーの書き換え機能により、多くの公開URLが最終的にWordPressへ渡されます。
wp-config.php
wp-config.phpには、データベース名、ユーザー名、パスワード、ホスト、テーブル接頭辞などの基本設定が含まれます。
WordPress公式も、データベース接続情報を含む重要な設定ファイルとして案内しています。
Webへ公開したり、バックアップを誰でも読める場所へ置いたりしないでください。
wp-admin
ダッシュボード、投稿編集、プラグイン管理など、管理画面の処理に関係するコアファイルが入ります。
wp-includes
WordPressが提供する関数、クラス、APIなど、管理画面と公開画面の両方で利用されるコア部品が入ります。
wp-content
テーマ、プラグイン、アップロード画像など、サイト固有の内容が集まりやすいフォルダです。
引っ越しやバックアップでは、データベースとともに特に重要な領域になります。
データベースには何が保存される?
| 代表的なテーブル | 主な内容 |
|---|---|
wp_posts |
投稿・固定ページ・添付ファイル・カスタム投稿 |
wp_postmeta |
投稿に追加されたメタ情報 |
wp_options |
サイト設定・テーマ・プラグイン設定 |
wp_users |
ユーザーの基本情報 |
wp_usermeta |
権限・プロフィールなどの追加情報 |
wp_terms関連 |
カテゴリー・タグ・分類 |
wp_comments |
コメント情報 |
wp_は標準的な接頭辞であり、実際のサイトでは別の文字列へ変更されている場合があります。
投稿と固定ページは同じテーブルへ入る
WordPressは、投稿・固定ページ・メディア添付情報・カスタム投稿タイプを、主にwp_postsへ保存し、種類を示す値で区別します。
ブロックエディターの内容も投稿本文として保存される
ブロックエディターで作った文章や画像ブロックは、ブロックを示すコメント形式を含む本文データとして保存されます。
表示時にWordPressがブロックを解析し、各ブロックのHTMLへ変換します。
プラグインが独自テーブルを作る場合もある
フォーム送信、アクセス解析、EC注文など大量・複雑なデータを扱うプラグインは、独自テーブルを作成する場合があります。
プラグイン削除時にテーブルが残るかどうかは製品ごとに異なります。
URLを開いてページが表示されるまで
STEP1:ブラウザがサーバーへリクエストする
読者がURLを入力すると、DNSでドメインに対応するサーバーを見つけ、HTTPS通信でページを要求します。
STEP2:WebサーバーがWordPressへ処理を渡す
ApacheやNginxは、画像などの静的ファイルを直接返すか、投稿URLをPHPの実行環境へ渡します。
STEP3:WordPressが設定を読み込む
wp-config.phpの情報を使ってデータベースへ接続し、コア、プラグイン、テーマを読み込みます。
STEP4:URLを解析してメインクエリを作る
WordPressは、要求されたURLが投稿、固定ページ、カテゴリー一覧、検索結果、404のどれに該当するかを判断します。
その判断に基づき、必要な投稿を取得するメインクエリを作ります。
STEP5:データベースから記事を取得する
タイトル、本文、公開日、著者、カテゴリーなどを取得します。
プラグインが追加情報を問い合わせる場合もあります。
STEP6:テーマのテンプレートを選ぶ
投稿ならsingle系、固定ページならpage系、一覧ならarchive系など、テンプレート階層に沿って使用ファイルを決定します。
ブロックテーマとクラシックテーマではファイル形式が異なりますが、要求に合うテンプレートを選ぶ考え方は共通します。
STEP7:HTMLを生成してブラウザへ返す
テーマが投稿データをヘッダー・本文・サイドバー・フッターへ組み込みます。
プラグインの処理やショートコード、ブロックのレンダリングも行われ、完成したHTMLが返されます。
STEP8:ブラウザがCSS・画像・JavaScriptを追加取得する
最初のHTMLを受け取ったブラウザは、そこへ記載されたCSS、画像、フォント、JavaScriptなどを取得し、画面を描画します。
記事を投稿して公開されるまで
管理者がブロックエディターへ入力
│
▼
WordPressが権限・入力内容を確認
│
▼
投稿本文・タイトル・状態をデータベースへ保存
│
├─ 画像ファイル → wp-content/uploads
└─ 画像情報 → データベース
│
▼
公開URLへアクセスされたときに
テーマと組み合わせてHTMLを生成
下書きと公開は状態の違い
同じ投稿データでも、下書き、予約、非公開、公開などの状態が保存されます。
公開状態と権限に応じて、一般の読者が閲覧できるかが変わります。
リビジョンが保存される
WordPressは編集履歴をリビジョンとして保存するため、以前の状態へ戻せる場合があります。
リビジョン数が増えるとデータベース容量へ影響しますが、単純にすべて削除する前に復元用途を考えましょう。
画像は複数サイズが生成される
画像をアップロードすると、テーマや設定に応じてサムネイル・中・大など複数サイズの画像が作られます。
データベースには添付ファイルとしての情報が保存されます。
テーマの仕組み
テーマを変えても記事本文は通常消えない
記事本文はデータベースへ保存され、テーマは表示方法を担当します。
そのためテーマを切り替えても記事自体は残ります。
ただし、テーマ固有のショートコードや独自ブロックへ依存している場合は、表示が崩れることがあります。
テンプレート階層で表示ファイルを選ぶ
WordPressは、より具体的なテンプレートから共通テンプレートへ順に探します。
専用テンプレートがない場合に汎用テンプレートへ戻ることで、すべてのURLを表示できます。
CSSが見た目を決める
同じHTMLでも、CSSによって文字サイズ、色、余白、列数、レスポンシブ表示が変わります。
子テーマと直接編集の違い
配布テーマを直接変更すると、更新時に変更が失われる可能性があります。
クラシックテーマのコードを継続的に変更する場合は、子テーマや独自プラグインなど、更新と分離した方法を検討します。
プラグインの仕組み
フックを使って処理へ参加する
WordPressには、特定のタイミングで処理を追加するアクションと、値を変更するフィルターがあります。
プラグインはこれらのフックを使い、コアファイルを直接書き換えず機能を追加します。
公開画面だけでなく管理画面も変更できる
管理メニュー、投稿編集欄、REST API、定期実行、メール送信など、幅広い部分へ関与できます。
プラグイン同士が競合する理由
複数のプラグインが同じ処理・URL・JavaScript・CSSを変更すると、想定しない順序や重複が生じます。
不具合時はバックアップ後に検証環境で一つずつ停止し、原因を切り分けます。
無効化と削除は違う
無効化は処理を止める操作で、設定やデータが残る場合があります。
削除時に設定を消すかどうかはプラグインの設計・設定によって異なります。
ブロックエディターの仕組み
文章を部品単位で編集する
段落、見出し、画像、ボタン、カラムなどをブロックとして配置します。
投稿者はコードを直接書かなくても、構造化された内容を作れます。
静的ブロックと動的ブロックがある
保存時にHTMLが投稿本文へ入るブロックと、表示時にPHPなどで最新内容を生成する動的ブロックがあります。
最新記事一覧、ログイン状態で変わる表示、商品情報などは動的表示が向きます。
再利用できるパターン・同期パターン
複数ブロックの組み合わせをパターンとして登録し、同じレイアウトを繰り返し使えます。
同期する設定では、一か所の変更を複数ページへ反映できます。
WordPress.orgとWordPress.comの違い
| 比較 | WordPress.org型 | WordPress.com |
|---|---|---|
| サーバー | 自分でレンタル・管理 | サービス側が提供 |
| インストール | 自分またはホスティング会社 | サービスへ登録 |
| ファイル・DB管理 | 契約環境で管理 | プランとサービス仕様による |
| テーマ・プラグイン | 原則自由に導入 | プラン・仕様による制限あり |
| 保守 | 運営者の責任が大きい | 基盤管理をサービス側が担当 |
「WordPressの仕組み」としてPHP・MySQL・サーバー構成を詳しく扱う場合は、自分で設置するWordPress.org型を指すことが多いでしょう。
キャッシュを使うと表示が速くなる仕組み
ページキャッシュ
生成済みHTMLを保存し、次のアクセスへ再利用します。
PHP実行とデータベース問い合わせを減らせます。
オブジェクトキャッシュ
データベースから取得した値や計算結果を一時保存し、同じ問い合わせを減らします。
ブラウザキャッシュ
画像・CSS・JavaScriptを読者の端末へ保存し、再訪時のダウンロードを減らします。
CDN
画像や静的ファイルを複数地域の配信拠点から返し、サーバーまでの距離と負荷を減らします。
キャッシュで古い表示が残ることがある
記事やCSSを更新しても、サーバー、CDN、ブラウザのキャッシュが古い内容を返す場合があります。
変更後は関係するキャッシュを順に消し、ログイン状態と未ログイン状態の両方を確認します。
バックアップはファイルとデータベースの両方が必要
ファイルだけでは記事本文が戻らない
テーマ・プラグイン・画像を保存しても、データベースがなければ投稿本文や多くの設定を復元できません。
データベースだけでは画像と独自コードが戻らない
投稿データがあっても、uploadsの画像、テーマ、プラグインがなければ完全な表示になりません。
復元テストまで行う
バックアップファイルが作成されていても、破損や権限不足で復元できない場合があります。
検証環境で定期的に復元し、手順と必要時間を確認しましょう。
WordPressが遅くなる主な場所
| 原因 | 仕組み上の問題 | 確認方法 |
|---|---|---|
| 重いプラグイン | 毎回多くのPHP・DB処理を追加 | 検証環境で停止比較 |
| 大きな画像 | 転送量と描画時間が増える | 画像サイズ・形式を確認 |
| 複雑なDB問い合わせ | 取得に時間がかかる | クエリ監視・サーバーログ |
| 低いサーバー性能 | PHP・DB処理が遅い | CPU・メモリ・PHP設定 |
| キャッシュ不足 | 同じページを毎回生成 | キャッシュヘッダー・設定 |
| 外部サービス待ち | 広告・フォント・APIの応答待ち | ブラウザ開発者ツール |
更新が必要な理由
コア・テーマ・プラグインは別々に更新される
それぞれ別の開発者と周期で変更されるため、互換性を確認しながら更新します。
更新は機能追加だけではない
脆弱性修正、PHP・WordPress最新版への対応、不具合修正、性能改善が含まれます。
本番で直接更新しない選択
重要なサイトでは、バックアップを取得し、ステージング環境で表示・フォーム・決済などを確認してから本番へ適用します。
仕組みを理解すると解決しやすいトラブル
テーマ変更後にデザインだけ崩れた
投稿データは残り、テーマ固有のCSS・テンプレート・ブロックが変わった可能性があります。
画像が404になる
データベースに画像URLがあっても、uploads内の実ファイルがない、URL置換が不完全、権限が違う可能性があります。
プラグイン停止で管理画面へ入れる
プラグインのPHPエラーや競合がWordPress起動を止めていた可能性があります。
引っ越し後に旧URLへ飛ぶ
wp_optionsや投稿本文、ウィジェット、シリアライズされた設定へ旧URLが残っている場合があります。
専用ツールや正しい移行手順を使い、単純なSQL置換を自己判断で行わないようにします。
よくある質問
WordPressの記事はどのファイルへ保存されますか?
記事本文やタイトルは主にデータベースへ保存されます。
投稿ごとのHTMLファイルが作られて保存される仕組みではありません。
テーマを変えると記事は消えますか?
通常、記事データは消えません。
ただしテーマ固有のショートコード・ブロック・カスタムフィールド表示は崩れる可能性があります。
画像はデータベースに入っていますか?
画像の実ファイルは通常wp-content/uploadsへ保存され、画像のURL・タイトル・サイズ情報などがデータベースへ登録されます。
PHPを知らなくてもWordPressを使えますか?
投稿や基本設定は管理画面から行えます。
独自テーマ、複雑なプラグイン、障害調査ではPHP・HTML・CSS・データベースの知識が役立ちます。
静的HTMLサイトとの違いは何ですか?
静的サイトは完成済みHTMLをそのまま返すのが基本です。
WordPressはアクセス時にデータとテンプレートからHTMLを生成するのが基本ですが、キャッシュや静的化を組み合わせる場合もあります。
参考資料
- WordPress公式「FAQ Installation」
- WordPress Developer Resources「wp-config.php」
- WordPress Developer Resources「Theme Structure」
- WordPress公式「Manage Plugins」
- 見本記事「ワードプレスの仕組みを構成とPHPの動きから解説」
まとめ
この記事のポイントをまとめます。
- WordPressはPHPでHTMLを動的に生成するCMSです
- 記事・設定・ユーザーは主にデータベースへ保存されます
- 画像の実ファイルは通常wp-content/uploadsへ保存されます
- WordPressコアはCMSの基本処理を担当します
- テーマはページ構成とデザインを担当します
- プラグインはフックを使って機能を追加します
- URLに応じてメインクエリとテンプレートが選ばれます
- ブロックエディターの内容も投稿データとして保存されます
- 完全なバックアップにはファイルとデータベースが必要です
- キャッシュ・更新・移行は構成要素ごとに確認します
WordPressは、記事を完成したHTMLファイルとして保存するのではなく、PHP、データベース、テーマ、プラグインを組み合わせて、アクセスされたときにページを作ります。
記事本文と設定は主にデータベース、画像やテーマ・プラグインはサーバー上のファイルとして保存されるため、どちらか一方だけではサイト全体を復元できません。
テーマは見た目、プラグインは追加機能、コアは全体の制御という役割を理解すると、不具合の原因を切り分けやすくなります。
管理画面で見える一つのサイトの裏側に、Webサーバー・PHP・データベース・複数のファイルが連携していると理解することが、安全な更新・バックアップ・カスタマイズの第一歩です。

