TERASU_既存WordPress統合の進め方
既存WordPressサイトへTERASUデザインを載せる進め方
受注方針(2026-07-08 大串決定): クライアントがWordPress希望でも受注してOK。
今回の方式は子テーマ・白紙テンプレ・ライブプレビュー等すべてWordPress標準機能で、SWELL固有ではない=ほぼどのテーマでも同じ型で対応可能。TERASUの通常フロー(静的サイトでデザイン制作)はそのまま・移植の型も確立済み。
受注前チェック3点のみ: ①テーマ名(クラシックテーマなら◎) ②ブロックテーマ(フルサイト編集型)は一手間増える ③記事本文がElementor等ページビルダー製なら記事系の型に追加検証。既にWordPress(特にSWELL等の有料テーマ・記事多数)で運用しているクライアントに、
TERASUの新デザインを適用したい場合の設計。初回事例=ミライ共創コミュニティ(miraikyoso.jp)。
大前提(ここを外すと事故る)
- 既存WordPressに記事が大量にある場合(例:1000記事)、SEO資産=会社の宝。絶対に壊さない。
- 本番WordPressで直接テーマ開発するのは禁止。必ずローカル複製環境で開発 → 本番反映。
- 既存がSWELL等の有料テーマ+カスタム投稿タイプで作り込まれている場合、
独自テーマをゼロから作ると既存機能・記事表示が全部壊れる → 子テーマ方式が正解。
なぜ「別ドメイン」「サブドメイン」はダメだったか
クライアントがSEOを分かっている場合、以下は拒否される(=先方が正しい)。
| 案 | 判定 | 理由 |
|---|---|---|
| 別ドメイン(新規取得) | NG | ドメインが別=SEO完全分断。記事資産がHPに効かない |
| サブドメイン(blog.〇〇) | NG | サブドメインでも完全一体ではない |
| 同一WordPress内に統合 | ◎ | 同一ドメイン・同一サイトでSEO最強。これが本命 |
→ 記事資産が大きいほど「同一ドメイン・同一サイト内にHPを載せる」が唯一の正解になる。
切り分け(これが楽の核心)
動きのないページ(トップ・会社概要・about・plan・faq・contact 等)
→ TERASUの静的HTML/CSSを「そのまま流し込む」だけ ★簡単
記事系ページ(column・interview・event・report・expert 等・大量記事)
→ 既存WordPressの動的表示のまま活かす ★ここだけ手間
デザイン再現は簡単・記事機能との統合だけが手間。この2つを混同しない。
実装レベル(簡単な順)
- 【レベル1】固定ページにHTML貼り付け … 最も手軽。ただしSWELLのヘッダー/フッターが残る・CSS衝突。完全再現は不可
- 【レベル2】子テーマに白紙テンプレを1枚作り、静的HTMLを流し込む … ★現実的ベスト。ヘッダー/フッター含め完全再現。記事系はSWELLのまま
- 【レベル3】全ページ子テーマ化 … 記事一覧・詳細もTERASUデザインで作り込む。フル対応・工数大
→ レベル2から始めるのが最適。「器(白紙テンプレ)を最初に1回だけ作る」→以降は各ページのHTMLを入れるだけ。
着手時の手順(2026-07-08 シンプル版に改訂・大串確定)
ローカルWordPress複製は作らない。「有効化しないライブプレビュー」を検証環境として使う(本番実データ×新デザインを公開せず確認できる)。工数1.5〜2日。
STEP1 子テーマ一式をローカルでファイル作成(WP環境不要・1日)
└ style.css / functions.php / template-blank.php(白紙テンプレ)
/ archive-*.php / single-*.php / assets/(CSS・画像・JS)
STEP2 バックアップ確認(5分)
└ エックスサーバー自動バックアップ(14日)有効を目視+管理画面からエクスポート1回
STEP3 php -l 全ファイル構文チェック → ZIP化 → 本番へアップ(有効化しない)
└ 外観→テーマ→新規追加→ZIPアップロード
STEP4 ライブプレビューで実記事×新デザインを確認(管理者にだけ実行される=訪問者無影響)
└ 修正あれば STEP1に戻り再アップ(数分/回)
STEP5 有効化=公開(大串の号令・低トラフィック帯・数秒)
└ 崩れたら「外観→テーマ→SWELL」1クリックで原状復帰
STEP6 公開後チェック(主要記事URLの200確認・Search Console翌日確認)
安全性の整理(先方説明にも使える)
- 記事・データ消失は構造的に起きない(テーマ=表示層・DBには読み取りのみ)
- リスクは有効化の瞬間のみ(PHPエラー→一時表示乱れ)。php -l+ライブプレビュー+WP5.2+の致命エラー保護モード+1クリック復帰の4重で対策
- 「絶対」と言えるのは「いつでも元に戻せること」
白紙テンプレの実体(十数行)
<?php
/*
Template Name: TERASU白紙テンプレート
*/
?><!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<?php wp_head(); ?>
</head>
<body>
<!-- ここにTERASUの静的HTMLをまるごとコピペ -->
<?php wp_footer(); ?>
</body>
</html>
- 静的ページ=この器にHTMLコピペ(固定ページでテンプレ選択)
- 動的ページ=同じ器で
archive-interview.php等のファイル名を置くだけで自動適用(テンプレート階層)。カード1枚分のHTMLの文字だけthe_title()等に置換し、ループで囲む→1000記事に自動適用。ページ送りはthe_posts_pagination()
役割分担(2026-07-08 大串確定)
- 静的ページ(トップ・会社概要等)=TERASUボール: previewのデザインを子テーマに移植。更新はTERASUがHTML編集
- 動的ページ(interview・column等)=先方ボール: デザイン(型)だけTERASUが作る。記事の投稿・更新は先方が今まで通りWordPress管理画面で
- トップもCloudflareに置かずWordPress内に移植(同一ドメインSEO統合が先方の絶対要件のため)
- エックスサーバー側の作業はゼロ(バックアップ目視のみ)・FTP不要・WordPress管理画面ログインだけで完結
公開後の更新運用フロー(2026-07-08 大串と擦り合わせ確定)
| 更新の種類 | 誰が | テーマ再アップ |
|---|---|---|
| 記事の投稿・更新(コラム/インタビュー/イベント等) | 先方がWP管理画面で従来通り | 不要(テンプレが自動表示) |
| デザイン・レイアウト・リンクの変更 | TERASU側 | 必要(コード修正→ZIP→アップ) |
- 正本は常にGitHub(scale-group-jp/client-miraikyousou)。大串がチャットで指示した修正もClaudeが裏で必ずpush(ver管理・巻き戻し可)。ZIP直入れ・本番テーマエディタ編集は禁止
- ZIP生成の責任分界: Claudeが関わった修正→ZIP生成まで自動セット(完了報告=ZIP最新)/デザイナーが直接pushした更新→大串が「反映して」と一言→Claudeがpull+ZIP生成
- 本番へのZIPアップ(置き換え)は毎回大串の手作業(管理画面・数クリック)
- 退化注意: デザイナーがGitHub外(手元ファイル)で作った最新版をもらった場合、ここで入れた修正が入っていない。丸ごと上書きせずマージしてからZIP化(理想はデザイナーもGitHubリポを直接使う)
ミライ共創コミュニティ(初回事例)メモ
- 本番:miraikyoso.jp(WordPress + SWELL テーマ)
- カスタム投稿:インタビュー/イベント/お知らせ/開催レポート/認定専門家
- 記事数:約1000本(SEO資産大)
- TERASU preview:preview.client-miraikyousou.pages.dev(約15ページの静的サイト)
- preview のページ(interview/event/column/expert/report)が既存WordPressのカスタム投稿と1対1で対応
- 認識違いの経緯:当初「別ドメイン/サブドメイン」で提案 → 先方はSEO統合のため「同一WordPressにデザインを載せる」を要求。TERASU側がWordPress知見不足で方向修正・お詫び済み
- 期待値調整:「他クライアントで対応経験のない業務。質問・試行錯誤しながら進める」旨を先方に伝達済み
WordPress統合の再発防止ルール(2026-07-08 大串FB「今後間違わないように」・恒久)
今回「横幅・フォントが所々ズレる」が複数回発生した反省から。正本=リポ直下CLAUDE.md「絶対の地雷」(同内容)。
- htmlのfont-sizeに触らない(TERASU静的CSSは62.5%+vw連動のremスケール設計。固定するとrem箇所だけ膨張)
- wp_head()は静的CSSより前(meta charset直後)。後ろだとWP/プラグインCSSが静的デザインを後勝ち上書き
- テーマフォルダ名は既存テーマと衝突させない(SWELL公式子テーマ=
swell_childが有効テーマだった。同名アップ=置き換え=即本番事故) - 崩れたら推測ラリーせず実測: 静的正本をローカル実レンダリング→computed style実測→WP側との差分で真因特定(今回この手順5分で確定)
実装進捗(2026-07-08 STEP1完了・STEP4ライブプレビューOK)
-
2026-07-08 12:30 ライブプレビューで表示OK(大串確認済み「バッチリ」)。フォント・横幅ズレも解消。残り=STEP5有効化(大串の号令・低トラフィック帯)とSTEP6公開後チェック。ただし現状front-page(トップ)のみ移植・記事系テンプレは雛形のため、有効化タイミングは下層の型が揃ってからが安全
-
** テーマフォルダ名を
terasu_childに変更(2026-07-08): 本番はSWELL公式子テーマ(フォルダ名swell_child・LOOS製)が現在有効化中**で、当初の同名ZIPだと稼働中テーマを直接置き換え=即本番事故だった(アップ時の「置き換える」画面でストップ・キャンセルで回避)。ZIP=dist/terasu_child.zip・テーマ名「TERASU CHILD - 未来共創」 -
管理画面エクスポート1回目取得済み(
~/miraikyoso-backups/WordPress-export_2026-07-08.xml・51MB)。ただしpost 1141件+attachmentのみでカスタム投稿(interview等)が未収録 → 「すべてのコンテンツ」で再エクスポート依頼中(入らなければXserver自動バックアップ目視でカバー) -
子テーマ骨組み一式 作成完了。リポ=
~/dev/client-miraikyousou-wp/(GitHub: scale-group-jp/client-miraikyousou-wp・private・main) - 静的リポ(client-miraikyousou)とは別リポ(同リポだとPagesデプロイ
pages deploy .でPHPソースがpreview URLに公開されてしまうため) - 中身:
swell_child/(style.css / functions.php / template-blank.php / front-page.php / archive・single×5タイプ / home.php・single.php / assets 199ファイル) - front-page.php=トップ完全移植(静的ver135から自動生成・アセットパス154箇所置換・未置換0を機械確認・CSS内
url(/fonts/)も置換済) - カスタム投稿タイプ実名を本番REST APIで実測(/wp-json/wp/v2/types): interview / event / report / expert / news(0件)+コラム=通常投稿post(/{数字ID}/ → home.php・single.php)→ テンプレ名ズレの地雷を潰した
- ビルド:
bash build_zip.sh→ 再ビルド+php -l全15ファイルチェック+dist/swell_child.zip(6.7MB)生成まで動作確認済み - 注意: 静的サイトの下層13ページはver135で撤去済(中身未投入)。確定デザイン=トップのみ。動的テンプレは雛形(型のデザイン確定後にカードHTML移植)
- 次の手(STEP2〜)は大串マター: ①Xserver自動バックアップの目視+管理画面エクスポート1回 ②管理画面からZIPアップ(有効化しない)→ライブプレビュー確認。WordPressログインは大串保有
- 料金(2026-07-08 大串決定): この統合対応の別途見積もり・追加請求はしない(見積もり作成タスクなし・蒸し返さない)