画面カタログPage catalog
Web版が持つすべてのページと、そのURL構造・生成方式・島(Island)依存を一覧化します。
Every page in the web app, with its URL, generation mode, and island dependencies.
| # | URL | ソース | Source | 目的 | Purpose | 生成 | Rendering |
|---|---|---|---|---|---|---|---|
| 01 | / |
pages/index.astro |
トップページ。検索ボックス + 特集 + シーン導線 | Top — search box, highlights, scene entry points | SSG | SSG | |
| 02 | /search |
pages/search.astro |
検索 UI。島は Pagefind 静的インデックスを fetch して全文検索 | Search UI — the island fetches the Pagefind static index | SSG shell + Pagefind island | SSG shell + Pagefind island | |
| 03 | /spot/[id]/ |
pages/spot/[id]/index.astro |
スポット詳細(ID ベース URL)。料金・レビュー・地図・近隣エリアスポンサー(おすすめスポットカード+マップアイコン) | Spot detail (id-based URL) — pricing, reviews, map, nearby area sponsor cards & map icons | SSG (getStaticPaths) | SSG (getStaticPaths) | |
| 04 | /p/ |
pages/p/index.astro |
都道府県一覧(ハブの入り口) | Prefecture list (hub root) | SSG | SSG | |
| 05 | /p/[prefSlug]/ |
pages/p/[prefSlug]/index.astro |
都道府県ハブ | Prefecture hub | SSG | SSG | |
| 06 | /p/[prefSlug]/[citySlug]/ |
pages/p/[prefSlug]/[citySlug]/index.astro |
市区町村ハブ(市区内の駐車場・ランドマーク集約) | City hub (lots and landmarks in the city) | SSG | SSG | |
| 07 | /p/[prefSlug]/[citySlug]/[spotSlug]/ |
pages/p/[prefSlug]/[citySlug]/[spotSlug]/index.astro |
駅ハブ(★中核ページ)。駐車場リスト・料金分布・地図・FAQ・近隣リンク・エリアスポンサー(マップアイコン+おすすめスポットグリッド) | Station hub (core page) — lot list, price distribution, map, FAQ, nearby links, area sponsors (map icons + grid cards) | SSG (getStaticPaths) | SSG (getStaticPaths) | |
| 08 | /p/[prefSlug]/[citySlug]/[spotSlug]/[filter]/ |
pages/p/[prefSlug]/[citySlug]/[spotSlug]/[filter]/index.astro |
スポットのフィルタ別バリアント(例: 24時間・屋根付き・EV対応)。インテントマッチング用の追加ランディング | Filter variants of a spot (24h, roofed, EV, …) — intent-matched landings | SSG (getStaticPaths) | SSG (getStaticPaths) | |
| 09 | /scene/ |
pages/scene/index.astro |
シーン一覧 | Scene list | SSG | SSG | |
| 10 | /scene/[sceneSlug]/ |
pages/scene/[sceneSlug]/index.astro |
シーン別LP(花見・通勤・イベント等) | Scene LP (hanami, commute, event…) | SSG | SSG | |
| 11 | /media/ |
pages/media/index.astro |
メディア記事一覧 | Media index | SSG | SSG | |
| 12 | /media/[...slug]/ |
pages/media/[...slug]/index.astro (MDX) |
メディア記事本体(ネスト可能な rest param) | Media articles (nestable rest param) | SSG (MDX) | SSG (MDX) | |
| 13 | /about/ |
pages/about/index.astro |
Parky とは | About Parky | SSG | SSG | |
| 14 | /about/editors/[slug]/ |
pages/about/editors/[slug]/index.astro |
編集者プロフィール(E-E-A-T 強化) | Editor profiles (E-E-A-T signal) | SSG | SSG | |
| 15 | /company |
pages/company.astro |
運営会社情報(noindex) | Company info (noindex) | SSG | SSG | |
| 16 | /for-owners/ |
pages/for-owners/index.astro |
駐車場オーナー向け LP | Landing for parking owners | SSG | SSG | |
| 17 | /en/, /en/about/, /en/p/ |
pages/en/** |
英語版ミラー(Astro i18n: 既定 ja は prefix 無し、英語は /en/)。現状はトップ・About・都道府県ルートのみ実装 |
English mirror via Astro i18n (default ja is prefixless, English is /en/). Only root / about / prefecture root are implemented today |
SSG | SSG | |
| 18 | /robots.txt |
pages/robots.txt.ts |
環境別 robots.txt を動的生成 | Env-aware robots.txt generator | ビルド時生成 | Generated at build | |
| 19 | /sitemap-*.xml |
@astrojs/sitemap |
Astro sitemap integration。astro.config.mjs で filter 指定(dev 環境は空、/company は除外) |
Astro sitemap integration — filter in astro.config.mjs skips dev env and /company |
ビルド時生成 | Generated at build | |
| 20 | /pagefind/* |
astro-pagefind が postBuild で生成 |
Generated by astro-pagefind in postBuild |
全文検索用の静的インデックス。/search が fetch して利用 |
Static full-text search index consumed by /search |
ビルド後生成 | Post-build |
重要:
Important:
3 階層目
[spotSlug] は「エリア」ではなくスポット本体です。同一スポットへの導線として /spot/[id]/ と /p/[pref]/[city]/[spotSlug]/ の2系統が存在します(前者は管理者導線、後者は SEO ランディング)。
The third path segment [spotSlug] is the spot itself, not an area. A single spot is reachable through both /spot/[id]/ (admin-style) and /p/[pref]/[city]/[spotSlug]/ (SEO landing).
注:
Note:
getStaticPaths の引数はビルド時に Supabase から service_role キーで取得。スポット数の爆発を防ぐため、将来的には ISR 的な再生成も検討。
getStaticPaths input is fetched from Supabase at build time with the service_role key. ISR-style regeneration may be introduced later to manage fanout.