3-1 ホームページのページ構成設計
無料1 枚の LP をメニュー・お店紹介・問い合わせなど複数ページのホームページに拡張するためのサイト構成を設計します。Claude Code に渡すページ一覧とナビゲーション設計図の作り方を解説します。
このレッスンで身につくこと
第 2 章まででは 1 枚の LP を作りました。情報量が少ないうちはこれで十分ですが、メニューが増えたり、お店のストーリーを語りたくなったり、問い合わせが増えてきたりすると、1 枚に詰め込むのは限界 がきます。スクロールが長くなりすぎて、読み手が どこを見ればいいか分からない 状態になるのです。
このレッスンでは、その「1 枚で限界が来た LP」を 複数ページのサイト に拡張する前段として、設計図 をきっちり引きます。コードを書く前に、サイト全体の地図を描いておくことで、3-2 のページ追加・3-3 のデザイン統一が 迷子にならずに進む ようになります。
このレッスンのゴール
- 「なぜ複数ページが必要か」を自分の言葉で説明できる
- サイトマップ を Tree 構造で描けるようになる
- 各ページの役割(ゴール)を 1 行で言語化できる
- URL 構造 のベストプラクティスを理解する
- ナビゲーション とユーザーフローを設計できる
- Claude Code に 構成案を相談 できる状態になる
なぜ複数ページが必要か — LP 1 枚で済まないケース
「全部 1 ページに詰め込めば、スクロールするだけで済んで楽じゃない?」と思うかもしれません。実際、シンプルな店舗紹介なら LP 1 枚で十分です。ただし、次の症状が出てきたら 分割を検討するサイン です。
- スクロール量が画面 8 つ分 を超えた
- メニュー / 特徴 / 価格表 / 採用情報 / プレスリリースなど、読み手が違うコンテンツ が同居している
- 「お店のこだわり」だけを 5 分かけて読みたい人と、「営業時間だけ知りたい」人が 同じページを開かされている
- スマホで開いたら 目的の情報まで 30 秒スクロール しないと辿り着けない
- 検索エンジンから「メニューの値段」で来た人にも「採用」で来た人にも、同じトップだけ しか見せられない
LP は「1 人の読み手・1 つのゴール」のためのページ です。読み手が複数化したら、ページも複数化する。これがサイト設計の基本です。
例えばカフェなら、「初めて来店を検討する人」「今日のメニューだけ見たい常連」「採用に応募したい人」「取材したい記者」と、最低でも 4 種類の読み手がいます。1 枚の LP に 4 人を押し込む のは無理があります。
複数ページにすると、次の 3 つが手に入ります。
- 情報の整理 — 読み手ごとに入口を用意できる
- SEO の強化 — ページごとに独立したタイトル・description が持てて、検索流入の窓口が増える
- 更新の安全性 — メニューだけ更新したいときに、トップを触らずに済む
サイトマップを描く — まずは紙でも OK
ここで一気にコードを書きたくなるのを我慢して、サイトマップ を描きます。サイトマップは、サイト全体の 階層構造を木の枝で表した図 です。紙でも、Claude Code に ASCII で描かせても、Figma でもなんでも構いません。まず描く ことが大事です。
カフェサイト「CAFE BLUE」を例に、最小構成を描いてみましょう。
CAFE BLUE
├── index.html トップ(看板・3 秒で何の店か伝える)
├── menu.html メニュー詳細(全ドリンク・全フード)
├── about.html お店について(理念・店主・歴史)
└── contact.html お問い合わせ(フォーム + 地図)4 ページ くらいが、個人店・小規模ビジネスの 最初の正解 です。多すぎると更新が止まり、少なすぎると詰め込みすぎる。4 ページからスタートして、必要に応じて足す のが安全です。
階層は深くしすぎない
サイトマップを描くとき、階層を 2 階層以内 に抑えるのがコツです。
CAFE BLUE
├── menu/
│ ├── coffee.html
│ ├── tea.html
│ └── food.html
└── about/
├── story.html
└── team.html3 階層 以上になると、読み手は迷子になり、検索エンジンもクロールしづらくなります。「トップから 3 クリック以内」を目安に、全ページに辿り着ける構造にします。
階層を増やしたくなったら、まず「分けないと本当に困るか?」を自問 してください。多くの場合、1 つのページの中で見出しを分けるだけで済みます。「メニュー>コーヒー」「メニュー>紅茶」を別ページにする必要があるのは、それぞれが 10 種類以上 あるなど、ボリュームが理由のときだけです。
ページ役割設計 — 各ページのゴールを 1 行で
サイトマップが描けたら、各ページのゴール を 1 行で書き出します。ここを曖昧にしたまま作り始めると、「全ページに同じことが書かれている」「どのページが何の目的か分からない」状態になります。
CAFE BLUE の例で言語化するとこうなります。
| ページ | ゴール(1 行) | 想定読者 |
|---|---|---|
| index.html | 3 秒で「何の店か」を伝え、メニューか所在地へ誘導 | 初訪問・通行人 |
| menu.html | 全メニューと価格を一覧で見せ、来店を決断させる | 常連・来店検討中 |
| about.html | お店のストーリーと哲学を伝え、ファンにさせる | こだわりに共感したい層 |
| contact.html | 問い合わせ・予約・地図を提供する | 来店確度が高い層 |
ゴール設計の鉄則
1 ページ 1 ゴール。あれもこれも詰め込まない。読み手に「このページで何をしてほしいか」を 1 つに絞る。
「トップで全部済ませよう」とすると、結局 どの行動も中途半端 になります。トップは「メニューを見る」か「地図を見る」のどちらかに誘導する役割に徹し、詳細はそれぞれのページに譲ります。
Claude Code に役割設計を相談する
自分で書きにくいときは、Claude Code に投げると整理してくれます。
> CAFE BLUE という個人カフェのサイトを 4 ページで作る予定。
> 想定読者は次の通りです。
> - 初訪問・通行人
> - 常連・来店検討中
> - こだわりに共感したい層
> - 問い合わせたい層
>
> 各ページ(index/menu/about/contact)のゴールと、
> 載せるべき要素を 1 行ずつ提案して。返ってきた提案を 叩き台 にして、自分のお店の特徴に合わせて削る・足すと早いです。
URL 構造のベストプラクティス
各ページに どんな URL を割り当てるか は、後から変えづらい設計判断です。最初に決めてしまいましょう。
拡張子を付けるか — /about vs /about.html
最終的にどちらでも動きますが、現代の Web では拡張子なし が主流です。
- ==
/about== — モダン。CMS や React 系のフレームワークと相性が良い。後で URL を変えにくいので慎重に - ==
/about.html== — 静的 HTML 直置きで最も簡単。学習用や個人サイトには十分
==このコースの範囲では /about.html 形式 で進めます。最初は ファイル名 = URL== の素直な対応関係で覚えるのが、トラブル回避になります。
日本語 URL は使わない
良い例: /menu.html
良い例: /about.html
避ける: /メニュー.html # URL エンコードで「%E3%83%A1...」と化ける
避ける: /お店について.html # SNS でシェアすると醜い日本語ファイル名は URL エンコードで読めない文字列 になり、SNS シェア時に「%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC.html」のような長い羅列になります。英語の短い単語 を使います。
URL は短く、ハイフン区切り
良い例: /menu.html
良い例: /seasonal-drinks.html
避ける: /Menu.html # 大文字は環境依存(リンク切れの原因)
避ける: /menu_list.html # アンダースコアは検索エンジンが単語と認識しない
避ける: /seasonalDrinks.html # キャメルケースも避ける小文字 + ハイフン が世界標準です。Google も「ハイフン推奨」と公式に言っています。
URL の NG パターン
- 大文字混在(
/About.html)— サーバ環境で大文字小文字が区別される/されないが分かれてリンク切れ多発 - アンダースコア区切り(
/about_us.html)— Google が「aboutus」と 1 単語扱いする - 日本語ファイル名(
/お店.html)— URL エンコードで地獄 - 連番(
/page1.html/page2.html)— 後から見て何のページか分からない
ナビゲーション設計 — 全ページ共通のメニュー
複数ページサイトの 顔 がナビゲーションです。全ページの上部に同じメニューを置くことで、読み手は 今どこにいるか / どこに行けるか を常に把握できます。
グローバルナビ(ヘッダー)
全ページ共通 で、画面上部に固定で置きます。最小構成は次の通りです。
- ロゴ(左端、クリックでトップへ戻る)
- メニュー項目(Menu / About / Contact)
- スマホ用ハンバーガーボタン(画面幅 768px 以下で表示)
項目数は 3〜5 個 が黄金比です。7 個を超えると 選択疲れ で読み手の認知負荷が上がります。
フッターナビ
補助情報 を置く場所です。グローバルナビの繰り返し + 細かい情報を入れます。
- 営業時間
- 住所・電話
- SNS リンク
- プライバシーポリシー / 特商法表記など、法務系のリンク
- コピーライト表記
パンくずリスト(2 階層以上の場合)
階層が深いサイトでは パンくず を入れます。CAFE BLUE のような 4 ページ構成では 不要 です。
ホーム > メニュー > コーヒー3 階層以上 になったら検討、と覚えておけば十分です。
ナビは「迷わない地図」 です。読み手が どのページからでも 1 クリックで全主要ページに行ける ように設計します。トップに戻れない、メニューに戻れない、というサイトは 離脱率が一気に跳ね上がる 典型例です。
ユーザーフロー — トップから問い合わせまでの最短動線
サイトマップが「全体地図」なら、ユーザーフローは 読み手の動線 です。「トップに来た人が、何を見て、最後にどうなる のが理想か」を矢印で描きます。
[初訪問の人]
↓
index.html(3 秒で何の店か理解)
↓
menu.html(メニューと価格を確認)
↓
about.html(こだわりに共感)
↓
contact.html(問い合わせ・予約)このフローを念頭に置くと、各ページの「次に進むボタン」 を設計できます。
- index → 「メニューを見る」ボタンを目立たせる
- menu → 「お店について知る」or「予約する」ボタンを末尾に
- about → 「お問い合わせ」ボタンを末尾に
- contact → フォーム送信完了がゴール
各ページの末尾に「次のページへの誘導」 を 1 つ置くだけで、読み手は 自然に最後まで 流れていきます。逆に、誘導がないページは 読み手が「次どこ行けばいいか」分からなくなり離脱 します。
SEO 観点での設計 — ページごとに独立したタイトル・description
複数ページにする最大のメリットの 1 つが SEO です。各ページに 独立したタイトル・meta description を付けることで、検索エンジンの入口が ページ数だけ 増えます。
| ページ | title 例 | description 例 |
|---|---|---|
| index | CAFE BLUE — 渋谷の路地裏の隠れ家カフェ | 渋谷駅徒歩 5 分。自家焙煎のスペシャルティコーヒーと焼き菓子の店。 |
| menu | メニュー — CAFE BLUE | コーヒー 12 種、紅茶 8 種、焼き菓子の全メニューと価格をご紹介。 |
| about | お店について — CAFE BLUE | 店主の焙煎へのこだわりと、開店から 10 年の歩みをご紹介。 |
| contact | お問い合わせ — CAFE BLUE | ご予約・取材のお問い合わせはこちら。地図とアクセスも掲載。 |
全ページが同じ title だと、Google から「重複コンテンツ」と見なされ、検索順位が伸びません。ページごとに違う title にするだけで、SEO の足腰が一段強くなります。
内部リンクも重要です。例えば about ページの本文中に「メニュー はこちら」と menu.html へのリンクを 1 本入れる。これだけで、Google は「このサイトは about と menu が関連している」と認識し、サイト全体の評価が上がります。
SEO のためにキーワードを詰め込みすぎない。読み手が読みづらくなったら本末転倒です。読み手ファースト の文章に、自然にキーワードを散りばめる、が正しい順番です。
Claude Code に構成を相談する
ここまで自分で考えてきたら、Claude Code に 壁打ち をします。たたき台を一気に作ってもらえます。
> CAFE BLUE という個人カフェの Web サイトを 4 ページで作る予定です。
> 次の項目を提案してください。
>
> 1. サイトマップを mermaid 記法のツリーで
> 2. 各ページのゴールと、想定読者
> 3. 各ページの推奨セクション構成(h1, h2 レベルで)
> 4. ページ間の内部リンク(誰がどこに誘導されるべきか)
> 5. SEO 観点で各ページの title と meta description 案Claude Code は 設計の壁打ち相手 として非常に優秀です。叩き台が 1 分で出てくるので、それを自分の言葉で削っていくと 30 分で設計が固まる レベルになります。
ASCII でワイヤーフレームも描かせる
ワイヤーフレーム(画面の骨組み図)も、紙で描く前に Claude Code に ASCII で描かせる と早いです。
> index.html のワイヤーフレームを ASCII で描いて。
> ヘッダー、ヒーロー、メニュー紹介、お店紹介、フッターの 5 セクション構成で。返ってくる ASCII を見ながら、「ヒーローはもっと縦長」「メニュー紹介を 3 カラムに」 と修正指示を重ねていけば、Figma を開かずに骨組みが固まります。
ワイヤーフレームに 色や写真は不要。四角と文字 だけで構成されている方が、議論が「中身」に集中します。Claude Code に「色を付けないで」と一言添えるだけで、骨組み議論モードに入ってくれます。
設計のステップ — 着手から構成完成まで
<Steps items={[{"title":"想定読者を 3〜5 人書き出す","body":"「初訪問の通行人」「常連」「採用希望者」など、サイトに来そうな読み手を箇条書きで書く"},{"title":"サイトマップを Tree で描く","body":"紙でも Claude Code への ASCII 依頼でも可。4〜5 ページの最小構成からスタート"},{"title":"各ページのゴールを 1 行で書く","body":"「読み手にこのページで何をしてほしいか」を 1 つに絞り、表にまとめる"},{"title":"URL を決める","body":"拡張子を付けるか付けないか、英語小文字 + ハイフンで統一されているかを確認"},{"title":"ナビゲーション項目を 3〜5 個に絞る","body":"グローバルナビに乗せる項目を決定。多すぎたら「本当に全員に見せる必要があるか」で削る"},{"title":"ユーザーフローを矢印で描く","body":"トップから問い合わせまでの最短動線を確認し、各ページの末尾に「次のページへの誘導」を 1 つ決める"}]} />
この 6 ステップが 30 分 で回せるようになれば、3-2 のページ実装が 迷いなくスタート できます。
チェックリスト — 設計完了の判断基準
<Checklist items={["サイトマップを Tree 構造で描き、ページ数を 4〜6 個に絞った","各ページのゴールを 1 行で言語化し、表にまとめた","URL 構造を決めた(拡張子の有無・英語小文字 + ハイフン)","グローバルナビの項目を 3〜5 個に絞り、全ページで同じ配置にすることを決めた","フッターに入れる情報(営業時間・住所・SNS・法務リンク)を列挙した","トップから問い合わせまでのユーザーフローを矢印で描いた","各ページの title と meta description の案を考えた"]} />
このチェックが全部付いたら、3-2 で 実装 に進む準備完了です。
まとめ
- LP 1 枚で限界が来るのは スクロール量が増えた・読み手が複数化した とき
- 複数ページ化の利点は 情報整理 / SEO / 更新の安全性 の 3 つ
- サイトマップは 4〜6 ページ / 2 階層以内 の最小構成からスタート
- 各ページに 1 ゴール 1 行 で役割を割り当てる
- URL は 英語小文字 + ハイフン / 拡張子は最初は付けて OK
- ナビは 3〜5 項目 の黄金比、ユーザーフローを矢印で確認
- Claude Code は 設計の壁打ち相手 として優秀。叩き台を 1 分で出してくれる
章末演習 — 所要時間 20 分。
- 自分が作りたいサイト(実在 / 架空どちらでも)を 1 つ選び、サイトマップを 4〜5 ページの Tree で 紙か Claude Code で描いてください
- 各ページに ゴールを 1 行 付けて、表にまとめてください
- Claude Code に「このサイト構成、改善点があれば指摘して」と投げて、フィードバックを 1 つ取り入れてください
<Quiz question="サイトマップを描くときの階層の目安は?" options={["トップから 3 クリック以内で全ページに辿り着ける 2 階層以内","深ければ深いほど SEO に有利なので 5 階層以上が望ましい","1 階層に全ページを並列で並べる"]} answer={0} />
<Quiz question="URL の付け方として推奨される形式は?" options={["英語の小文字 + ハイフン区切り(例 /seasonal-drinks.html)","日本語のファイル名(例 /季節のドリンク.html)","キャメルケース(例 /SeasonalDrinks.html)"]} answer={0} />
次のレッスン 3-2 ページを追加する では、ここで描いた設計図をもとに、Claude Code に複数ページを一気に生成 させます。設計が固まっているので、実装は プロンプト 1 本 で進みます。