From dc02e9a5ccb3f563632bcf17f907a12d66332a31 Mon Sep 17 00:00:00 2001 From: wharfe Date: Tue, 9 Jun 2026 22:07:23 +0900 Subject: [PATCH 01/13] =?UTF-8?q?docs:=20/law=E3=83=9A=E3=83=BC=E3=82=B8?= =?UTF-8?q?=E3=80=8C=E3=82=8F=E3=81=8B=E3=82=8A=E3=82=84=E3=81=99=E3=81=8F?= =?UTF-8?q?=E3=80=8D=E8=A7=A3=E8=AA=AC=E3=81=AE=E8=A8=AD=E8=A8=88(B?= =?UTF-8?q?=E6=A1=88=20Phase1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GSC分析を受けたSEOコンテンツ強化。/law改正履歴ページに 「最近の改正をわかりやすく」長文解説を追加する設計。 Co-Authored-By: Claude Opus 4.8 (1M context) --- .../2026-06-09-law-explainer-seo-design.md | 134 ++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 docs/superpowers/specs/2026-06-09-law-explainer-seo-design.md diff --git a/docs/superpowers/specs/2026-06-09-law-explainer-seo-design.md b/docs/superpowers/specs/2026-06-09-law-explainer-seo-design.md new file mode 100644 index 0000000..a88e36c --- /dev/null +++ b/docs/superpowers/specs/2026-06-09-law-explainer-seo-design.md @@ -0,0 +1,134 @@ +# 設計: `/law` ページへの「最近の改正をわかりやすく」解説の追加(SEO強化 B案) + +- 日付: 2026-06-09 +- 関連: GSC/GA4分析(imp急増・CTRほぼ0、`/law`改正履歴ページが勝ち型)、canonical修正(commit c83dd62)の後続施策 + +## 背景・目的 + +GSC分析の結論: +- 表示回数(imp)は4月~25/日 → 6月~60-93/日へ急増しているが、クリックはほぼ0(CTR最適化が最大レバレッジ)。 +- `/law/{lawId}`(改正履歴)ページが唯一クリックを獲得(「不動産登記法改正 履歴」で順位3.5・CTR15%)。`/diff/`より検索意図に合致。 +- 「○○法改正 わかりやすく」「○○法 改正 履歴」が有望クエリ。「不動産登記法 改正 わかりやすく」は順位45=未対応。 + +**目的**:`/law`ページに「最近の改正をわかりやすく」長文解説を追加し、上がってきた露出を実クリックに変える。検索意図=「最近この法律はどう変わったか」を平易に説明する。 + +## スコープ + +- **Phase 1(本spec)**:実績上位4法令のみ生成・検証する。 + - 不動産登記法 `416AC0000000123`(順位3.5・クリック実績) + - 民法 `129AC0000000089`(858impの最大露出源) + - 労働基準法 `322AC0000000049`(改正履歴で露出開始) + - 道路交通法 `335AC0000000105`(wwwで露出) +- **対象外(将来)**:残り法令への横展開はPhase1の効果をGSCで確認後に判断。 + +## アーキテクチャ方針 + +既存の `law_summary.py`(Claudeで`summary`を生成→timeline JSONに格納→`/law`ページで描画)と同一の疎結合パターンを踏襲する。データ生成(Python/Claude)とレンダリング(Next.js)は分離。 + +``` +timeline.py → data/timelines/{law_id}.json + → explainer.py (Claude, 新規) → 同JSONに explainer フィールド追記 + → frontend/public/data/timelines/{law_id}.json + → /law/[lawId]/page.tsx が描画 +``` + +## データ構造 + +`lib/types.ts` の `LawTimeline` に optional フィールドを追加(**未生成の法令は従来表示のまま=後方互換**)。 + +```ts +export interface ExplainerChange { + year: string; // 例: "2024" + title: string; // 改正の通称。例: "相続登記の義務化" + what: string; // 何が変わったか(平易な1-3文) + why: string; // なぜ変わったか(背景・1-2文) + impact: string; // 私たちへの影響(1-2文) +} + +export interface ExplainerFaq { + q: string; + a: string; +} + +export interface LawExplainer { + intro: string; // 導入2-3文 + recent_changes: ExplainerChange[]; // 最近の主要改正 2-4件 + faq: ExplainerFaq[]; // よくある質問 2-4件(0件可) +} + +export interface LawTimeline { + // ...既存フィールド + explainer?: LawExplainer; +} +``` + +JSON例: +```jsonc +"explainer": { + "intro": "不動産登記法は近年、相続登記の義務化など大きな改正が続いています。…", + "recent_changes": [ + { + "year": "2024", + "title": "相続登記の義務化", + "what": "相続を知った日から3年以内の登記が必須に。…", + "why": "所有者不明土地の増加が社会問題化したため。…", + "impact": "相続人は期限内の手続きが必要。怠ると過料。…" + } + ], + "faq": [ + { "q": "相続登記の義務化はいつから?", "a": "2024年4月1日から施行されています。" } + ] +} +``` + +## レンダリング + +- 新コンポーネント `components/law-explainer.tsx`(page.tsx肥大化防止)。 +- 配置:`/law/[lawId]/page.tsx` の「この法律について」(`summary`)カードの直後。 +- 既存のTailwind/カードスタイル(`border`/`rounded-lg`/`bg-[var(--muted)]`/Iconコンポーネント)を踏襲。 +- 構成: + - `

{law_title}の最近の改正をわかりやすく

`(「○○法改正 わかりやすく」クエリに直撃する見出し) + - `intro` 段落 + - `recent_changes` を「年・タイトル」見出し+「何が変わった? / なぜ変わった? / 私たちへの影響」の3点で表示 + - `faq` を Q&A リストで表示(`faq`が空配列なら非表示) + - AI生成の明示ラベル(about方針との一貫性) +- `explainer` が undefined の法令ではセクション自体を描画しない。 + +### 構造化データ + +- `faq` が1件以上ある場合、`/law`ページに `FAQPage` JSON-LD を出力(既存 `components/breadcrumb-jsonld.tsx` と同方式の `