お知らせ・ブログ一覧へ戻る

多店舗サイトのタイトルタグは店名と地域名で全ページを別々にする|店名・地域名の正本を1つの表に置き、トップ・下層・ブログ・全店共通ページの重複を消す決め方


多店舗サイトのタイトルタグは店名と地域名で全ページを別々にする|店名・地域名の正本を1つの表に置き、トップ・下層・ブログ・全店共通ページの重複を消す決め方

多店舗サイトのタイトルタグは店名と地域名で全ページを別々にする|店名・地域名の正本を1つの表に置き、トップ・下層・ブログ・全店共通ページの重複を消す決め方

店舗が増えるほど、ホームページのタイトルタグ(検索結果に青字で表示される、ページの題名。HTMLでは <title>)は重複しやすくなります。テンプレートを複製して店舗サイトを作ると、店名だけ差し替えたつもりでも「料金・メニュー」「お客様の声」のような下層ページの題名が全店同じになっていたり、同じ市に2店あるせいで説明文が一字一句同じになっていたりします。

結論から書くと、正しい決め方は次の4点です。

  • 店名と地域名は1つの表(正本)だけで管理します。 titleも説明文も構造化データも、すべてこの表から作ります(ブログ部分はWordPressの設定値に表と同じ値を入れ、そこから作ります)。ページのHTMLから店名を読み取って使い回す作りはやめます。
  • titleは「ページの種類ごとの型」を先に決めます。 トップ・下層ページ・ブログ・全店共通ページで型を変え、どの型にも店名を入れ、地域名もできるだけ入れます。
  • 全店で中身が同じページは、検索に出さない(noindex)ことを選択肢に入れます。 店名を入れても本文が同じなら、重複は解消しません。
  • 公開後は「全ページのtitleが別々か」を機械で確かめます。 型を変えたときは、確認する側の条件も同時に書き換えます。

以下、2026年9月に名古屋の白髪染め専門店FC(26店舗)で、全店のtitleと説明文を作り直した作業をもとに説明します。各店のサイトはトップ・料金・口コミ・コンセプトの4ページ(26店×4=104ページ)とブログで構成され、作業後は104ページのtitleがすべて別々になりました。

なぜ多店舗サイトではtitleが重複しやすいのか

重複の原因は、ほとんどが「複製」です。1店目のサイトを原型にして2店目以降を作ると、次のような箇所が原型のまま残ります。

重複しやすい箇所 起こり方
下層ページのtitle 「料金・メニュー」「お客様の声」だけで店名が入っていない
トップのtitle ブランド名だけで、何店なのかが分からない
説明文(meta description) 同じ市にある2店の説明文が、市名で始まり店名が入っていなかったため全文一致
ブログのトップ ホームページのトップと同じtitleになっている
全店共通のページ 「店舗一覧」など、どの店のサイトにも同じ内容で載っている
CMSの初期ページ WordPress(ホームページ作成ソフト)の「サンプルページ」「プライバシーポリシー」の初期文面が公開されたまま

titleが同じだと、検索結果で利用者がページを見分けられず、検索エンジンにとってもページの違いを判断する手がかりが減ります。全ページ同じtitleだと、検索結果のサイトリンク(店名の下に並ぶ小さなリンク)に意図しない文言が出る原因にもなります(判定方法は「検索結果のサイトリンクが変な文言になるとき」で解説しています)。

多店舗の場合はもう一つ問題があります。「(地域名) 白髪染め」のように地域で探す人と、「(ブランド名) (店名)」で探す人の両方に、正しい店のページを出す必要があるという点です。titleに店名と地域名の両方が入っていないと、どちらかの検索で取りこぼします。

手順1 店名と地域名の正本を1つの表にする

最初にやるのは、titleを書き換えることではなく、店名と地域名の正本を決めることです。実例では、次のような3列のテキストファイル(タブ区切り)を1つ置きました。

サイトの識別名 店名 地域名
store-a ○○駅前店 名古屋市○○区
store-b △△店 ○○市
store-c □□店 △△市

ページを作るプログラムも、公開後に確認するプログラムも、この1ファイルを読みます。

正本を表にする理由は、サイトのHTMLから店名を読み取る作りだと、間違いが連鎖するためです。たとえば「サイト名(og:site_name)から店名を取り出して下層のtitleに使う」作りにしていると、ある店のサイト名がブランド名だけになっていた場合、その店の全ページに店名が入りません。表を正本にしておけば、直す場所は1行で済み、全ページに同じ値が行き渡ります。

WordPressのブログ部分も同じ考え方です。管理画面の「サイトのタイトル」に店名入りの正式名称、「キャッチフレーズ」に地域名入りの一文を入れておき、ブログ側のtitleはそこから組み立てるようにしました。こうすると、ブログ側の仕組み(後述)は全店で同じファイル1つにでき、店ごとの違いは設定値だけになります。

手順2 ページの種類ごとにtitleの型を決める

次に、ページの種類ごとに型を決めます。実例で採用した型は次のとおりです(ブランド名・店名・地域名は伏せています)。

ページ titleの型
トップ 業種+ブランド名+店名|キャッチコピー(地域名入り)
料金・メニュー 料金・メニュー|業種+ブランド名+店名(地域名)
口コミ お客様の口コミ(件数)|業種+ブランド名+店名(地域名)
コンセプト 私たちの想い・こだわり|業種+ブランド名+店名(地域名)
ブログのトップ ブログ・お知らせ|サイト名
ブログの記事 記事タイトル|サイト名
ブログの一覧 (カテゴリ名)の記事一覧(2ページ目)|サイト名

型を決めるときの判断基準は3つです。

1. 店名と地域名のどちらを先頭に置くか。 地域で探す人を重視するなら地域名を先頭に、指名で探す人を重視するなら店名を先頭にします。実例では、店名を先頭に、地域名はキャッチコピー側に入れる形に揃えました。地域名を先頭にすると、検索結果で後ろが切れたときにブランド名だけが見え、何店なのかが伝わりにくくなることがあるためです。どちらの順でも地域名はtitleの中に残るので、地域の検索語は失いません。迷ったら「検索結果で切れても、何という店か分かる順番」を優先するのが安全です。

2. 下層ページは「ページ名を先頭」にする。 料金ページを探している人には「料金・メニュー」が最初に見えるほうが選ばれやすく、店名と地域名は後ろに付ければ重複は消えます。

3. ページに無い情報はtitleにも説明文にも書かない。 実例では、料金を店頭・電話のみで案内している店がありました。この店だけは「料金・メニュー」ではなく「施術メニュー」とし、説明文にも価格を入れていません。表示していない価格が検索結果に出ると、来店時の食い違いの原因になります。

ブログのトップを「ブログ・お知らせ|サイト名」にしたのは、ホームページのトップと同じtitleになるのを避けるためです。ブログの一覧の2ページ目以降に「(2ページ目)」を付けるのも同じ理由で、付けないと1ページ目と2ページ目が同じtitleになります。サイト内検索の結果ページと「ページが見つかりません」のページは、titleを分けたうえで検索に出さない設定(noindex)にしました。

手順3 説明文と、全店で同じ内容のページを片付ける

titleを分けても、説明文が全文一致していれば重複は残ります。実例では、同じ市に2店ある店舗の説明文が、一字一句同じでした。どちらも「(市名)の白髪染め専門店」で始まり、店名が入っていなかったためです。

ここは書き直すより、既存の説明文の冒頭に店名を差し込むほうが確実です。店ごとに書き分けられた説明文は活かし、「(地域名)の白髪染め専門店」の直後に「(ブランド名)(店名)」を自動で入れる処理にしています。

次に、全店で内容が同じページです。実例では、全店舗の一覧ページが26店すべてのサイトに同じ内容で載っていました。titleに店名を入れても、本文が同じである以上、検索エンジンからは同じページが26枚あるように見えます。そこで次のようにしました。

  • titleには店名を入れる(ブラウザのタブやブックマークで区別できるように)
  • 検索には出さない(noindex)。ただしページ内のリンクはたどってもらう(follow)
  • サイトマップ(検索エンジンに渡すページ一覧)から外す

WordPressの初期ページも同じ扱いです。「サンプルページ」は9店、初期文面のままの「プライバシーポリシー」は8店で公開されていました。サイト内のどこからもリンクされていないことを確かめたうえで、下書きに戻しています。下書きなので、必要なら公開に戻せます。

手順4 ブログ側は「全店共通の仕組み1つ」で出し分ける

ホームページ部分とブログ部分が別の仕組みで動いている構成では、ブログ側のtitle・説明文も別に整える必要があります。実例では、WordPressの「必ず読み込まれるプラグイン」(mu-plugins。管理画面から停止できないプラグイン)を1ファイル作り、全25店に同じものを置きました。このファイルが、サイトのタイトルとキャッチフレーズから店名・地域名を読み取り、手順2の型でtitle・説明文・SNS共有用の情報・構造化データを出力します。

ここで注意したいのは、SEOプラグイン(検索対策の設定をまとめて行うプラグイン)を入れている店があると、titleや説明文が二重に出力されることです。実例では、SEOプラグインが有効な店ではこの仕組みが何も出力しないようにしたうえで、最終的にはSEOプラグインを止めて一本化しました。止める前に、プラグイン側で記事ごとに書いていた説明文を、記事の抜粋欄へ移しています。移さずに止めると、その説明文は失われます。SEOプラグインの停止がうまく定着しない場合の対処は「WordPressのプラグインを停止したのに有効へ戻るとき」にまとめています。

また、この仕組みはファイルを外すか、設定値を1つ入れるだけで止まるようにしました。全店に同時に効く変更は、戻し方も全店同時に効く形にしておくのが安全です。

手順5 公開後に「全ページのtitleが別々か」を機械で確かめる

最後に、確認を人の目に頼らない形にします。実例では、全店のトップを取得し、正本の表から組み立てた「あるべきtitle」と1文字ずつ一致するかを確かめるプログラムを使っています。一致しない店があれば、終了コードで異常を返します。プログラムで毎回自動確認しているのはトップのtitleと各ページの応答(200や404)で、titleの重複(104件すべて別々)は作業時に確かめました。

確認すること 方法
各店のトップのtitleが型どおりか 正本の表から期待値を組み立てて完全一致で比較
全ページのtitleが別々か 全店×全ページのtitleを集めて重複を数える(実例では104件すべて別々)
説明文に全文一致がないか 同じく集めて重複を数える
検索に出さないページの設定 noindexの有無とサイトマップからの除外

このとき起こりやすいのが、型を変えたのに確認側の条件が古いままという状態です。実例では、確認プログラムに「titleがブランド名から始まっていたら改修前の状態」という判定が入っていました。新しい型ではtitleがブランド名で始まるため、そのままでは正しく直った店がすべて異常と判定されます。型を変えるときは、生成側と確認側を同じ作業の中で書き換えるのが原則です。

もう一つ、公開直後の確認には注意が必要です。サーバーのページキャッシュ(一度作ったページを使い回す仕組み)が効いていると、数分間は古いtitleが返ってきます。実例のサーバーでは約2分でした。URLの末尾に ?nc=(毎回違う値) を付けて取得すると、キャッシュを避けて最新の状態を確かめられます。固定の値だと、その値を付けたURL自体がキャッシュされることがあります。

起こりうるリスクと予防策

多店舗のtitle整備で起こりうる問題を、予防策と合わせて整理します。

起こりうること 予防策
店名がサイト名の読み取りに依存していて、1店だけ店名が抜ける 店名・地域名は正本の表から作る
同じ市の2店で説明文が全文一致する 説明文の冒頭に店名を必ず入れる
ブログのトップとホームページのトップが同じtitleになる ブログのトップは「ブログ・お知らせ|サイト名」の型にする
SEOプラグインと自前の仕組みで二重出力になる 片方を止めて一本化する。止める前に個別の説明文を移す
元データから作り直したときに直接の修正が消える サーバー上で直接直した箇所は、必ず元データにも反映する
確認プログラムが新しい型を異常と判定する 型の変更と確認条件の変更を同時に行う

5行目は見落とされやすい点です。全店共通ページを本番サーバー上で直接直すと、元データから作り直した際にnoindexや新しいtitleが消えます。急ぎで本番を直した場合は、元データへの反映までを1つの作業として扱ってください(詳しくは「本番サイトを直接直した修正が次の更新で消えるとき」)。

なお、今回の作業は検索順位の改善を約束するものではありません。titleの整備は「正しい店のページを、正しい言葉で見つけてもらう」ための土台で、効果は再クロール(検索エンジンがページを読み直すこと)を待って、数週間単位で確かめるものです。サーチコンソールで店舗サイトの順位を見るときの注意点は「サーチコンソールで平均掲載順位1位なのに検索しても上に出ないとき」で解説しています。

まとめ

多店舗サイトのtitleを重複させないための要点は次のとおりです。

  1. 店名と地域名の正本を1つの表に置き、titleも説明文も構造化データもそこから作る
  2. トップ・下層・ブログ・一覧ページごとにtitleの型を決め、どの型にも店名を入れ、地域名もできるだけ入れる
  3. 店名と地域名の順番は「検索結果で切れても何の店か分かる順」を優先する
  4. ページに載せていない情報(価格など)はtitleにも説明文にも入れない
  5. 全店で同じ内容のページは、店名を入れたうえでnoindexにし、サイトマップから外す
  6. 公開後は機械で全ページの重複を数え、型を変えたら確認条件も同時に変える

店舗が増えるほど、手作業でtitleをそろえ続けるのは難しくなります。graciautoでは、多店舗の美容室・サロンのホームページについて、店名・地域名の管理からtitle・説明文・構造化データの一括整備、公開後の確認の仕組みまでご相談を承っています。お気軽にお問い合わせください。

関連記事

2026.10.04

発注の記録を月別に集計する表は元のシートと分けて作る|元データはIMPORTRANGEでつなぎ、月ごとのシートは「対象月」のセル1つで切り替える作り方と、件数・数量の検算

2026.10.04

多店舗の店舗一覧ページは地図とテキストの一覧を両方置く|県→エリア→ピンで選ばせる地図と、HTMLに最初から書いた店舗カードの作り方、公開前に電話・営業時間・予約先を突き合わせる手順

2026.10.03

実績の画面をSNSに載せるときの匿名化|市名だけ伏せても駅名・地名で店は分かる。店名は丸ごと置き換え、文字認識で実名の残りを機械的に照合する手順


お知らせ・ブログ一覧へ戻る