SEOSEO
Web版の最重要 KPI はオーガニック流入です。本ページは実装済みの SEO 要素と、 プロダクト仕様書の範囲外で未実装/計画中の項目を明確に分けて記載します。
Organic traffic is the web app's top KPI. This page separates what is actually implemented today from items that are planned but not yet built (and therefore not covered by the current product spec).
メタタグ(実装済み)Meta tags (shipped)
共通レイアウト web/home/src/layouts/BaseLayout.astro が全ページで以下を出力します。
The shared layout web/home/src/layouts/BaseLayout.astro emits the following on every page:
<title>/<meta name="description"><link rel="canonical">(省略時はPUBLIC_SITE_URL+Astro.url.pathname)(defaults toPUBLIC_SITE_URL+Astro.url.pathname)- OGP(
og:title,og:description,og:url,og:image,og:type,og:site_name,og:locale)Open Graph (og:title,og:description,og:url,og:image,og:type,og:site_name,og:locale) - Twitter カード(
summary_large_image,twitter:title/description/image)Twitter card (summary_large_image,twitter:title/description/image) - hreflang の alternate リンク(対応 locale 分 +
x-default)Alternatehreflanglinks for each supported locale +x-default
構造化データ JSON-LD(実装済み)Structured data — JSON-LD (shipped)
JSON-LD は共有パッケージ @parky/seo(web/packages/seo/src/json-ld.ts)が組み立て、
コンポーネント web/home/src/components/JsonLd.astro が
<script type="application/ld+json"> として埋め込みます。
JSON-LD is assembled by the shared @parky/seo package
(web/packages/seo/src/json-ld.ts) and injected through
web/home/src/components/JsonLd.astro as
<script type="application/ld+json">.
| @type | 用途 | Used on | Builder |
|---|---|---|---|
Organization |
運営組織情報 | Organization info | buildOrganizationJsonLd() |
WebSite |
全ページ。SearchAction 付きでサイト内検索ボックスをマークアップ |
All pages — includes a SearchAction markup for the site search box |
buildWebSiteJsonLd() |
BreadcrumbList |
階層のあるページ(ハブ、スポット詳細、メディア) | Any hierarchical page (hubs, spot details, media) | buildBreadcrumbListJsonLd() |
ParkingFacility |
スポット詳細ページ | Spot detail pages | buildParkingFacilityJsonLd() |
ItemList + ParkingFacility |
ハブページの駐車場リスト | Hub pages' parking lists | buildItemListJsonLd() |
FAQPage |
ハブ / メディアの FAQ セクション | FAQ sections on hubs and media pages | buildFAQPageJsonLd() |
LocalBusiness、Article / NewsArticle は現在の実装では出力していません。スポット詳細の主スキーマは ParkingFacility で、メディア記事は JSON-LD の専用スキーマを現状持っていません。
Earlier drafts mentioned LocalBusiness and Article / NewsArticle, but the current build does not emit them. Spot details rely on ParkingFacility; media articles have no dedicated JSON-LD today.
サイトマップと robots(実装済み)Sitemap & robots (shipped)
@astrojs/sitemapintegration をastro.config.mjsで組み込み、filterで dev 環境と/companyを除外。i18nオプションで ja/en の hreflang エントリを自動生成@astrojs/sitemapis wired up inastro.config.mjs; thefiltercallback drops the dev environment and/company. Thei18noption auto-emits ja/en hreflang entries./robots.txtはsrc/pages/robots.txt.tsで動的生成。PUBLIC_SITE_URLから環境を判定し、dev では全面Disallow: /を返す/robots.txtis generated bysrc/pages/robots.txt.ts; it detects the env viaPUBLIC_SITE_URLand returns a blanketDisallow: /on dev.- dev 環境の
.htaccess(deploy-public-dev.ymlが生成)がX-Robots-Tag "noindex, nofollow, noarchive, nosnippet"ヘッダを全レスポンスに付与する二重防御 - The dev
.htaccess(emitted bydeploy-public-dev.yml) also setsX-Robots-Tag "noindex, nofollow, noarchive, nosnippet"on every response.
hreflang と国際化(実装済み)hreflang & i18n (shipped)
- Astro i18n routing。既定 locale
jaは prefix 無し、英語は/en/配下 - Astro i18n routing — default locale
jais prefix-less, English lives under/en/. BaseLayout.astroが各 locale の alternate リンクとx-default(ja 版)を出力BaseLayout.astroemits per-locale alternate links plusx-defaultpointing at the ja version.
Core Web Vitals の設計方針(一部未確認)Core Web Vitals — design guidelines (not all verified)
- LCP: ヒーロー画像は
loading="eager"+fetchpriority="high"で先読み - LCP: hero images should use
loading="eager"+fetchpriority="high". - CLS: すべての画像に明示的な width/height を付与し、地図 island は固定高さコンテナで予約する
- CLS: always set explicit width/height on images, and reserve a fixed-height container for the map island.
- INP: Mapbox 地図 island は
client:visibleで遅延ハイドレート - INP: Mapbox islands hydrate lazily via
client:visible.
監視(未実装 / 計画)Monitoring (planned, not yet built)
- (計画) HTTP ステータスの定期チェック(GitHub Actions cron + curl など)
- (Planned) Recurring HTTP status check (e.g. GitHub Actions cron + curl).
- (計画) sitemap 全 URL を突いて 404 を検知
- (Planned) Sweep every URL in the sitemap to detect 404s.
- (計画) Search Console / PageSpeed Insights の週次レビュー
- (Planned) Weekly Search Console / PageSpeed Insights review.
- (計画) 主要 URL への Lighthouse CI(PR ごと)
- (Planned) Lighthouse CI on key URLs per PR.