WordPressのフォルダ構成

WordPress個別サポート

WordPressを使っていると気になるのが「フォルダ構成はどうなっているのか?」ですが、勘違いしている部分もあるかもしれません。基本的なフォルダ構成を理解しておきましょう。

WordPressのフォルダ構成

WordPressのフォルダ構成はレンタルサーバーのFTPツールまたはFTPソフトで確認できます。WordPressをインストールしたフォルダを開くと、次のようにwp-admin、wp-includes、wp-contentというフォルダが見つかります。

WordPressのインストール先フォルダ
WordPressのインストール先フォルダ

「WordPressの移転がうまくいかない」というご相談をよくいただきますが、少なくともwp-admin、wp-includes、wp-contentという3つのフォルダが存在しなければ、ファイル一式のコピーに失敗しています。

インストールされたフォルダの用途は次のとおりです。

  • wp-admin --- WordPressの管理画面のためのファイル一式
  • wp-includes --- WordPressのシステムファイル一式
  • wp-content --- コンテンツ一式(テーマ・プラグイン・画像など)
  • 上記のフォルダに含まれないファイル --- インデックスファイル・設定ファイルなど

主なフォルダとファイル構成は上記のとおりですが、それ以外のフォルダが存在する場合があります。たとえば、「images」や「lib」などです。

定番ではないフォルダが存在する
定番ではないフォルダが存在する

これらのフォルダはWordPress本体がインストールしたものではなく、サイト制作を依頼した制作業者が独自に作った可能性があります。

WordPressの動作には問題ありませんが、注意が必要なのはバックアップです。こうした本来のWordPressに存在しないフォルダも忘れずにバックアップされているか確認した方が良いでしょう。

特に重要なのはwp-contentフォルダ

wp-admin、wp-includes、wp-content、それぞれ膨大なサブフォルダとファイルで構成されていますが、特に重要なのはwp-contentフォルダです。

wp-content内のフォルダ
wp-content内のフォルダ

wp-contentフォルダにはインストールしたテーマやプラグイン、画像一式が含まれます。間違って削除しないように注意が必要です。

ちなみに、wp-adminやwp-includesフォルダは間違って消してしまってもWordPress.orgからダウンロードすれば復元できます。

wp-contentフォルダの構成
  • languagesフォルダ --- 翻訳ファイル
  • pluginsフォルダ --- プラグインファイル
  • themesフォルダ --- テーマファイル
  • upgradeフォルダ --- アップデート時に利用
  • uploadsフォルダ --- 画像など
  • index.php --- ダミーのインデックス(フォルダ一覧が見えないようにする)

index.phpは「Silence is golden」

ちなみに、wp-contentフォルダのindex.phpに書かれたコードは次の2行だけですが驚く必要はありません。

<?php
// Silence is golden.

「Silence is golden.」(沈黙は金)としか書いていないので何かのイタズラかと思いそうですが、これで正しい内容です。

これはダミーのインデックスファイルとして機能します。このファイルがないとフォルダ構造が丸見えになる場合があるので、それを避けるためにダミーのインデックスファイルが設置されています。

ダミーのindex.phpを設置することでフォルダ構造も何も表示されず、静寂が保たれるということで「Silence is golden.」ということだと思います。

WordPressに限りませんがWebアプリケーションのセキュリティ対策として「不必要な情報を公開しない」という考え方によるものです。

wp-config.phpに「define('WP_DEBUG', false);」と書いてエラーメッセージを非表示にしたり、あちこちのフォルダに「Silence is golden.」なindex.phpを設置してフォルダ構造を隠すというのもその一環です。

wp-content/themesフォルダ

wp-contentフォルダの中で特に「消さないように」という意味で重要なのはthemesフォルダ、uploadsフォルダです。

themesフォルダにはテーマのファイル一式が含まれます。カスタマイズに使った子テーマのフォルダも存在するので、バックアップしていないサイトでthemesフォルダを削除すると泣くことになります。親テーマは再インストールすれば復旧できますが。

wp-content/themesフォルダ(テーマが含まれる)
wp-content/themesフォルダ(テーマが含まれる)

また、テーマで使われている画像がメディアライブラリに存在しないときはテーマフォルダに保存されている場合があります。wp-content/themesフォルダを探っていけば、テーマで使われているアイコンなどの画像が見つかります。

wp-content/uploadsフォルダ

uploadsフォルダには画像一式が含まれるので、削除しないようにしましょう。元ネタがPC内にあるとしても注意が必要です。というのは、オリジナルの画像(例:a.jpg)からサイズ別の画像が何枚か作られるからです。

wp-content/uploadsフォルダ(画像が含まれる)
wp-content/uploadsフォルダ(画像が含まれる)

画面によって使われる画像サイズが異なる場合があるので、消してしまった画像をPCから再アップロードしただけでは、画面表示が復旧しない場合があります。

投稿や固定ページはwp-contentに入っていない!

さて、WordPressのフォルダ構成を理解する目的の1つに、投稿や固定ページなどをきちんとバックアップしたい、があります。

先に結論を書くと、wp-contentフォルダに投稿や固定ページの内容は入っていません。ダッシュボードから入力した内容はデータベースに保存される仕組みです。

ダッシュボードからの入力内容はデータベースに保存される
ダッシュボードからの入力内容はデータベースに保存される

サイトの画面に表示される画面や文章がどこかのフォルダに保存されているイメージかもしれませんが、wp-contentにはダッシュボードから入力した文章は保存されていません。

ファイルとデータベースに保存される内容は次のようになります。

ファイルとデータベースの構成
ファイルとデータベースの構成

投稿や固定ページの内容はデータベースに保存されています。WordPressサイトを完全にバックアップするには、wp-contentなどのフォルダに含まれるファイルだけでなくデータベースのバックアップも必要です。

ファイルとデータベースは一般的に別のサーバーにあります。レンタルサーバーのFTPツールまたはFTPソフトではアクセスできないので、手動でバックアップするときは注意が必要です。

テーマやプラグインも同じです。ファイルはwp-contentフォルダに保存されていますが、設定内容はデータベースに格納されています。ですから、FTPを使ってファイルだけをバックアップしても不完全です。

「ファイル+データベース」のバックアップは手動では面倒なのでBackWPupなどのバックアップ系プラグインが役立ちます。BackWPupで作成したバックアップファイルを解凍すると、sqlという拡張子のファイルが含まれています。これがデータベースのバックアップファイルです。

データベースのバックアップファイル(.sqlファイル)
データベースのバックアップファイル(.sqlファイル)

このsqlファイルは本来のWordPressのファイル構成に含まれないファイルです。つまり、バックアップからサイトを復元する場合、このsqlファイルをアップロードしないように注意が必要です。

まとめ

WordPressのフォルダ構成を簡単に説明してきました。間違って消しても大丈夫なフォルダ(wp-admin、wp-includes)もあれば、できれば消さないように注意したいフォルダ(wp-content)もあります。

万が一のときのためにバックアップする場合、これらのフォルダだけでなくデータベースの存在も忘れないようにしましょう。

WordPressの使い方