結論
ローカル環境で作ったテーマを本番に反映する方法は、主に2つです。
- ZIPアップロード: テーマのフォルダを ZIP にして、管理画面の 外観 → テーマ →「テーマを追加」→「テーマのアップロード」 から入れる。
- SFTP: 暗号化されたファイル転送ソフトで、サーバーの
wp-content/themes/にフォルダごと転送する。
初めて入れるテーマなら ZIP アップロードが手軽です。修正を何度も反映するなら、変更したファイルだけを送れる SFTP が向いています。ただし、どちらの方法でも、反映の前にバックアップを取り、反映後すぐに表示を確認します。
原因・仕組み
テーマは、wp-content/themes/ の中の1つのフォルダです。WordPress は、このフォルダの中で style.css のヘッダー(テーマ名など)を読み、テーマとして一覧に出します。公式の「外観 → テーマ」画面の解説は、テーマの入れ方として、テーマディレクトリからの自動インストール、ZIP ファイルのアップロード、FTP での手動転送、サーバーのファイルマネージャーでの展開の4つを挙げています。
ファイル転送ソフトについて、公式の FTP クライアントの解説は、ホストが対応していれば、平文の FTP ではなく SFTP か FTPS を使うよう勧めています。平文の FTP はデータを暗号化せずに送るためです。接続先のホスト名・ポート・ユーザー名・認証方式は、サーバー会社に確認します。
手順
A. ZIPアップロード
- ローカルのテーマフォルダ(例:
mytheme)を、フォルダごと ZIP にする(ZIP の中にmytheme/style.cssがある形)。Windows 11 では、フォルダを右クリック →「その他のオプションを表示」→「送る」→「圧縮(zip 形式)フォルダー」で作れる(Microsoft のサポートページの手順)。 - 本番の管理画面で 外観 → テーマ →「テーマを追加」→「テーマのアップロード」 を開き、ZIP を選んで「今すぐインストール」。
- 「有効化」を押す前に、ライブプレビューで表示を確認する。
WordPress 5.5 以降は、ZIP のアップロードでテーマやプラグインを手動更新しやすくなりました。すでに同じテーマが入っている場合は、置き換えるかどうかを確認する画面が出るので、内容を読んでから進めます。
B. SFTP
- サーバー会社の案内で、SFTP の接続情報(ホスト・ポート・ユーザー・鍵またはパスワード)を確認する。
- 転送ソフトで接続し、WordPress の公開フォルダ(
wp-admin・wp-content・wp-includesとwp-config.phpが並んだフォルダ)のwp-content/themes/を開く。FileZilla なら、ファイル → サイトマネージャー →「新しいサイト」で、プロトコルを SFTP にしてホスト・ポート・ユーザー・パスワードを入れて接続する(公式の WordPress ドキュメントの手順)。 - 初回はテーマのフォルダごと、2回目以降は変更したファイルだけを転送する。
- 管理画面の 外観 → テーマ で有効化する(初回のみ)。
反映前後の確認
| タイミング | 確認すること |
|---|---|
| 反映前 | ローカルで WP_DEBUG を有効にしてエラーが無いか、本番と同じ PHP バージョンで動くか |
| 反映前 | バックアップを取ったか(WordPressのバックアップと復元の基本|対象・頻度・保管場所) |
| 反映直後 | トップ・記事・固定ページ・一覧・404 を開き、表示崩れが無いか |
| 反映直後 | スマホ幅での表示、管理画面に入れるか |
自作テーマを本番サーバーに反映する方法の注意点
- 管理画面のテーマエディタで直さない: 公式の Hardening ガイドは、
wp-config.phpにdefine( 'DISALLOW_FILE_EDIT', true );を書いて、管理画面のファイル編集機能を止めることを勧めています。修正はローカルで行い、転送します。 - 配布テーマを直接直さない: 配布されているテーマを直接書き換えると、テーマの更新で消えます。直したいときは子テーマを使います(子テーマの作り方と functions.php|親テーマCSSの正しい読み込み)。
- フォルダ名を変えない: テーマのフォルダ名を変えると、別のテーマとして扱われ、設定(メニューの位置など)が外れることがあります。
自作テーマを本番サーバーに反映する方法でよくあるミス
- ZIP の中にさらにフォルダが入り(
mytheme/mytheme/style.css)、「スタイルシートがありません」と表示される。 - 平文の FTP で接続して、パスワードを暗号化せずに送ってしまう。
- 上書き転送の途中で接続が切れ、ファイルが半分だけ更新されて画面が真っ白になる(「サイトに重大なエラーが発生しました」が出たときの切り分け手順)。
- 画像や CSS のパスを
http://localhost/...のように書いてしまい、本番で読み込まれない。
自作テーマを本番サーバーに反映する方法のチェックリスト
- [ ] ローカルでエラーが無いことを確認した
- [ ] 本番のバックアップを取った
- [ ] ZIP の中身は「フォルダ → style.css」の形になっている
- [ ] SFTP(または FTPS)で接続している
- [ ] 反映後に主要なページとスマホ表示を確認した
自作テーマを本番サーバーに反映する方法のFAQ(よくある質問)
Q. 反映したら画面が真っ白になりました。
A. 直前に転送したファイルを、バックアップの古いものに戻すのが最短です。原因は WordPress 画面が真っ白になる原因とWP_DEBUGでの調べ方 の手順で、ローカルで確認します。
Q. Git で反映する方法はありますか?
A. あります。サーバーが SSH と Git に対応していれば、リポジトリから取り込む方法も取れます。仕組みはサーバー会社の対応状況によるので、事前に確認します。
Q. ファイルの権限は何に設定すればよいですか?
A. 公式の Hardening ガイドは、フォルダを 755、ファイルを 644 とする設定を基本として示しています。サーバー会社の推奨がある場合はそれに従います。
筆者の見解(自作テーマを本番サーバーに反映する方法)
テーマの反映は、作業としては「ファイルを置くだけ」ですが、本番サイトの見た目が一瞬で変わるため、最も緊張する工程だと考えます。反映の前にバックアップ、反映の後に5種類のページの確認、という前後の手順を毎回同じにしておくと、慌てる場面が減ります。慣れてきたら、変更したファイルだけを送れる SFTP に切り替えるのが、手早く安全に運用するコツだと私は思います。
自作テーマを本番サーバーに反映する方法の関連項目
- WordPressのローカル環境の作り方|4つの方式の違いと選び方
- 子テーマの作り方と functions.php|親テーマCSSの正しい読み込み
- WordPressのバックアップと復元の基本|対象・頻度・保管場所
- 「サイトに重大なエラーが発生しました」が出たときの切り分け手順
- WordPressのセキュリティ対策の基本|公式Hardeningガイドの要点

