店舗が増えてもホームページが崩れない作り方|共通で持つ部分と店舗ごとに分ける部分の線引き
店舗が増えてもホームページが崩れない作り方|共通で持つ部分と店舗ごとに分ける部分の線引き
店舗が2店、5店、20店と増えていくと、ホームページは「作ること」より「揃え続けること」のほうが難しくなります。先に結論を書きます。
多店舗のホームページは、情報を次の3層に分けて持つのが正しいやり方です。
- 全店共通の層(ヘッダー、フッター、ナビゲーション、ページ構成)……1つのファイルにまとめ、そこだけを直す
- 店舗ごとの層(店名、住所、電話番号、予約URL、写真、店舗固有の料金)……店舗ごとに設定ファイルを1枚だけ持つ
- 店舗差分の層(一部店舗にだけあるメニュー、一部店舗だけ違う価格)……店名で分岐させず、「その店舗が何を持っているか」というフラグで切り替える
そのうえで、この3層のどこにも属さない「同じ情報を2か所に手で書いてある状態」を公開前にゼロにします。多店舗サイトが崩れる原因は、ほぼここに集約されます。
弊社は名古屋・愛知を中心に、同一ブランドのヘアカラー専門サロン25店舗ぶんのサイトを共通テンプレートから生成して運用しています。「1か所直せば全店に伝わる部分」と「3か所を揃えないと食い違う部分」を分けてきた実務から書きます。
崩れる原因は「同じ情報を2か所以上で持っている」こと
多店舗サイトで起きるトラブルは、ほぼ次の形をしています。
- 電話番号を変えたのに、サイト本体だけ新しくなり、ブログ側は古い番号のまま
- ナビの項目を1つ減らしたのに、一部のページだけ古い並びが残る
- トップページのフッターはリンク5本なのに、下層ページは3本しかない
いずれも「誰かがミスをした」というより、同じ情報の置き場所が複数ある構造にしてしまったのが原因です。店舗数が増えれば注意力では追いつきません。
とくに見落としやすいのが、サイト本体とブログが別の仕組みで動いている構成です。多店舗サイトでは、店舗ページ本体を表示の速い静的な仕組みで作り、ブログだけWordPressで動かす構成がよく使われます。合理的な選び方ですが、ヘッダーとフッターの実体が2つに分かれます。弊社の運用でもナビゲーションの実体は①サイト本体の共通ヘッダー ②ブログ側テンプレートのヘッダー ③店舗一覧ページのヘッダー、の3面にあります。ナビを1項目変えるときは必ずこの3面を同時に直すというルールを先に決めておかないと、店舗が増えるたびに食い違いが積み上がります。
正しい進め方は、着手前に「この情報の実体は何か所にあるか」を数えることです。1か所なら直して終わり。2か所以上なら、まとめられるかを先に検討し、まとめられないなら同時更新の対象として手順書に書き留める。この確認だけで「一部の店舗だけ古い」はほぼ起きなくなります。
層1|全店共通に置くもの:ヘッダーとフッターは1ファイルに集約する
まず、全店で必ず同じであるべき部分を洗い出します。ヘッダーのナビ項目と並び順、フッターのリンク構成と表記、ページ構成(トップ、メニュー、お客様の声、ブランド紹介、アクセス、店舗一覧)、共通デザイン(色、余白、見出し、ボタンの形)です。
これらは共通部品として1ファイルにまとめ、各ページはそれを呼び出すだけにします。
ここで注意したいのが、フッターを各ページに直接書き込む作り方です。作り始めた時点では同じ内容なので問題なく見えますが、あとから1ページだけ修正が入ると、そこから静かにズレていきます。起こりやすいのは、トップページのフッターだけが更新され続け、下層ページにはメニューリンクが足りない状態です。人はトップページばかり見るので、長く気づかれません。
これを防ぐには、最初から共通フッター部品を1つ作り、全ページがそれを使う形にすること。そして「フッターを変えるときはその1ファイル以外を触らない」と決めておくことです。あとから統一するより最初に1本化するほうが安く済みます。
ブログ側のテンプレートも同じ考え方です。弊社ではブログ側のヘッダーが、サイト本体のスタイルシートを自動で読み込む形にしてあります。こうしておくと、デザイン変更が片側だけに効いて見た目が割れることが起きません。
層2|店舗ごとに分けるもの:設定ファイルを1店舗1枚にする
店舗ごとに変わる情報は、設定ファイル1枚に集めます。弊社の場合は次の項目です。
| 項目 | 中身の例 |
|---|---|
| 店舗名・英字表記 | ○○駅前店 / EKIMAE |
| 住所・電話番号 | 表示用と、タップ発信用(ハイフンなし)の2種類 |
| 予約URL・LINEのURL | 外部予約システムの店舗別URL |
| 営業時間・定休日・駐車場 | 店舗ごとに異なる |
| 写真 | 外観、内装、パソコン用とスマートフォン用のメイン画像 |
| 店舗固有の料金 | 一部店舗だけ違うコース価格 |
ポイントは、この1枚を見れば店舗の全情報が分かる状態にすることです。設定が2枚3枚に分かれると、新店舗の追加時に「どこを書くのか」が分からなくなり、記入漏れが出ます。
住所と電話番号は、公開前に本部が持つ一次資料と必ず突き合わせます。旧サイトの記載をそのままコピーするのは避けてください。実務では、旧サイトの住所が本部の店舗一覧と食い違い、本部側が正しかった例がありました。Googleビジネスプロフィールとサイトの店名・住所・電話番号が一致しないと地図検索の評価にも影響します。
もう1つ重要なのが、電話番号のように「サイト本体とブログの両方に出る情報」の扱いです。サイト本体は設定ファイル、ブログ側はWordPressの設定値、というように保存場所が分かれる構成では、片方だけ直すとブログのヘッダーだけ古い番号が残ります。番号変更は両方をセットで更新する作業として手順書に書き、変更後は実際にブログページを開いて確認します。店舗名や予約URLも同じです。
新規オープン店の「オープン前だけの表示」も、この設定ファイルで切り替えられるようにしておきます。告知の見出しや、募集ボタンと予約ボタンの出し分けを設定値で制御しておけば、オープン当日に共通テンプレートを触らずに切り替えられます。
層3|店舗差分は「フラグ」で持つ。店名で分岐させない
多店舗サイトで避けたいのが、プログラム側に店名を直接書いて分岐させることです。
(避けたい書き方)店舗名が「○○店」なら、このメニューを非表示にする
(正しい書き方)ベーシックメニューを扱わない設定の店舗なら、該当カードを非表示にする
店名で分岐させると、店舗が増えるたびに条件が増え、どの店舗にどの例外が効いているのかを誰も把握できなくなります。正しいのは「その店舗が何を持っているか」という属性で分岐させる書き方です。
弊社では「ベーシックメニューの取り扱いがあるか」「クレンジングの方式がどちらか」といった属性を店舗設定に持たせ、共通テンプレート側はその値だけを見て表示を切り替えています。未設定の店舗は従来どおりの表示になるので、新しい属性を追加しても既存店舗への影響はゼロです。
一部店舗だけ料金を変えたいときも同じです。店舗別の料金上書き項目を用意し、未設定の店舗は共通料金を使う。この形なら1店舗の価格改定が他店舗に波及しません。
この設計の最大の利点は、変更の影響範囲を事前に数えられることです。共通テンプレートを直す前に、その分岐を使っている店舗が何店あるかを検索すれば、1店舗だけなのか25店舗すべてに波及するのかが分かります。使用店舗が1店だけなら共通側を直接直してよく、複数店に波及するなら店舗別フラグを足すか、そもそも触らないという判断ができます。「共通テンプレートを触る前に、使用店舗数を数える」を手順に入れてください。
自動生成と手修正を混ぜない
店舗一覧ページのように「全店に同じものを配る」ページは、テンプレートから機械的に生成するのが基本です。気をつけたいのは、生成物に直接手を入れると次回の生成で消えるという点です。
たとえば店舗一覧ページを全店ぶん再生成すると、以前1店舗にだけ入れた個別の修正は上書きされて元に戻ります。生成のたびに手修正をやり直す運用は必ずどこかで忘れるので、その差分は生成スクリプト側の条件として組み込むのが原則です。組み込めない事情があるなら、生成後に必ず適用する差分として手順書に明記し、毎回セットで実行します。
生成スクリプト自体にも注意点があります。同じ店舗が1ページ内の複数箇所に登場する場合(「地域別の一覧」と「新規オープン店の一覧」の両方に同じ店舗が出る、など)、置換処理が最初の1件だけに効いて2件目が漏れることがあります。置換は全件を対象にし、生成後に「そのページ内に何個出るはずか」を数えて照合するのが安全です。
ビルドの実行も同様です。共通テンプレートに店舗設定を流し込んで生成する仕組みは、複数店舗ぶんを同時に走らせると設定が混ざる可能性があります。同時実行を禁止する仕組み(排他ロック)を入れ、並行実行されたらエラーで止める構成にしてください。混ざったまま公開されると、ある店舗のページに別店舗の画像URLが埋め込まれるといった、目視では気づきにくい不具合になります。公開後に「各店舗のページのタイトルが自店の設定と一致するか」を全店照合すれば確実に検出できます。
公開前後の確認は、全店を機械的に走査する
多店舗の運用でもっとも危険な思い込みが、「1店舗でやったことは全店に入っているはず」というものです。弊社が管理している25店舗のサイトでも、全店を走査した結果、次の状態が見つかりました。
- ファビコン(検索結果やブラウザのタブに出る小さなアイコン)が、全店で1つも設定されていなかった
- 検索エンジン向けのrobots.txtとサイトマップが、25店舗中4店舗にしかなかった
- ブログ側のサイトマップURLが店舗によって違っていた(別のプラグインを使っている店舗、URL末尾のスラッシュが必須の店舗、そもそもブログを設置していない店舗)
3つ目はとくに注意が必要です。全店に同じサイトマップURLを一律で記載していたら、3店舗で検索エンジンがサイトマップにたどり着けない状態になっていました。店舗ごとに実際のURLを1本ずつ確認してから書く必要があります。
したがって、確認作業は目視ではなく機械的な走査にします。全店舗のURLを1行1件のリストにし、確認したい項目(対象ページが表示されるか、指定のタグが入っているか、画像が表示されるか)を全件に対して実行し、結果を「25件中25件」の形で数える。
「だいたい入っているはず」で終わらせず、25/25という数字が出るまで確認する。これが多店舗運用の最低ラインです。デザイン変更を全店へ展開したあとも、公開中のページを取得して照合します。
配信の方法にも注意点があります。同じブランドでも、引き継いだ時期によって店舗ごとにサーバー上のファイル構成が違うことがあるためです。一括で「手元にないファイルを削除する」形の同期は使わないでください。ある店舗にだけ置かれた必要ファイルを消す危険があります。必要なファイルだけ差し替える方式にすれば、この事故は起きません。
更新のたびに全店を作り直すのが重くなってきたら
3層に整理していても、店舗数が増えると別の問題が出ます。共通の料金やキャンペーン文言を1つ変えるだけで、全店ぶんを作り直して配信し直す必要がある点です。弊社の環境では25店舗の一括ビルドと配信に十数分かかります。
これを解決する方向性が、変わりうる共通コンテンツ(価格表、コース内容、キャンペーン告知など)を本部側の1ファイルにまとめ、各店舗のサイトが表示時にそれを読みに行く形にすることです。本部で1回変更すれば全店に即反映され、作り直しは不要になります。テンプレート側に従来の値を残しておけば、読み込みに失敗しても表示は崩れません。
ただし、これは必ず今やるべき改修ではありません。判断基準は更新の頻度です。価格改定やキャンペーンの更新が月1回以上発生するなら導入する価値が高く、年に数回程度なら現行の一括更新のままで十分です。弊社は前者に当たらないため、一括更新の運用を継続すると判断しています。仕組みは「作れるから作る」のではなく、運用の頻度が仕組みのコストを上回ったときに作るのが正解です。
よくある質問
Q. 店舗が何店になったら、共通テンプレート化を考えるべきですか
3店舗目を作るときが目安です。2店舗ならコピーで運用できますが、3店舗目のコピーを作る時点で「1か所直すのに3回同じ作業をする」状態が確定します。2店舗目で共通部品にする範囲だけ決めておき、3店舗目でテンプレート化するのが無駄がありません。
Q. 各店舗のブログは、店舗ごとに分けるべきですか、1つにまとめるべきですか
地域名で検索されたときに自店のページを出したいなら、店舗ごとに分けます。ただし同じ内容を全店に配ると重複したページが並ぶため、店舗ごとに地域名や駅名を含めた内容を書く前提が必要です。書き手を確保できないなら、本部で1つのブログを運用して各店舗から案内する形のほうが結果は出ます。
Q. 制作会社に多店舗サイトを依頼するとき、何を確認すればいいですか
「共通部分を1か所直したら全店に反映されるか」「店舗を1店追加するのに何の作業が必要か」の2点を必ず聞いてください。具体的に答えられない場合、実質はコピーの量産である可能性が高く、店舗数が増えたときの修正費用が積み上がります。
Q. 既にバラバラになってしまった多店舗サイトは、どこから直せばいいですか
まず全店の現状を1枚の表にします。各店舗について「どういう構成か」「ブログはあるか」「必要な設定が入っているか」を機械的に走査して並べる作業です。全体像を数字で押さえると、共通化できる部分と店舗ごとに残す部分の線引きが見えてきます。ここを飛ばして1店舗ずつ直し始めると、直した店舗と直していない店舗の差が新しい混乱になります。
まとめ
多店舗のホームページ管理でやることは、突き詰めると1つです。同じ情報を2か所で持たない構造にすること。着手の順番はこうなります。
- ヘッダー・フッター・ナビゲーションを共通部品1つにまとめる
- 店舗ごとの情報を、店舗ごとの設定ファイル1枚に集める
- 店舗差分は店名ではなく属性フラグで切り替える
- 生成物に手修正を入れない(差分は生成側に組み込む)
- 変更後は全店を機械的に走査し、「25/25」の形で確認する
- 更新頻度が上がってきたら、共通コンテンツの本部一元化を検討する
そして、変更に着手する前に必ず「この情報の実体は何か所にあるか」「その分岐を使う店舗は何店か」を数える。この2つの習慣が、店舗が増えてもサイトが崩れない状態を作ります。
弊社では、同一ブランド25店舗ぶんのサイト運用と、それを支える更新の仕組みづくりを行っています。多店舗のホームページ管理でお困りでしたら、現状の構成を確認するところからご相談ください。