<?xml version="1.0" encoding="UTF-8"?>
<!--
  ★ここに載せる URL は、必ず crossc-frontend/scripts/generate-seo-pages.js の
    SEO_PAGES にも存在させること。SEO_PAGES に無いパスは焼き込み HTML が生成されず、
    S3 に拡張子なしキーも作られないため、CloudFront の 403 フォールバックで
    ルートの /index.html (汎用の XC-Project メタ) が 200 で返る。Google から見ると
    どの URL も同一内容になり「クロール済み - インデックス未登録」に落ちる
    (2026-08 に /corporate /tsunapochi-lp /tsunapochi-lp/hospital /manapi/lp で発生)。

  ★2026-09-13: 載せる URL を「代表 LP + ハブ + 実記事」だけに絞った (305 → 54)。
    これは 2026-08 以降の「クロール済み - インデックス未登録」への 3 度目の対処で、
    前 2 回 (拡張子なしキー・本文焼き込み) と違い技術的な欠陥の修正ではない。
    実測した結果、noindex・robots・canonical・プリレンダー本文はすべて正常で、
    Google は「入れない」のではなく「入れる価値があると判断していない」状態だった。

    それまで sitemap には 305 URL が載っていた。内訳は主要 LP 15 本に対して
    つなぽちヘルプ 90 本 (1 記事あたり平均 346 byte)・まなぴヘルプ 17 本 (250 byte)・
    ひな形 111 本 (定型) で、**薄い URL が 218 本 / 全体の 71%** を占めていた。
    被リンクも検索需要もまだ無い新規ドメインでこの比率の URL を投入すると、
    Google はサイト全体の平均的な品質を低く見積もり、主要 LP まで巻き添えで
    保留する。クロールバジェットも実績 (クリック 0) に対して過大で、新規 URL を
    出すたびに未登録側へ積まれていた (GSC の未登録件数 7 → 12 → 18 件)。

    残す基準 (これ以外は載せない):
      (a) プロダクトの代表 LP と、検索クエリが立つセグメント LP
      (b) 読みものハブと、その実記事 (つなぽち公開ガイド 19 本・まなぴ読みもの 16 本。
          いずれも 1 記事 2,600〜3,400 byte の長文で、薄いページには当たらない)
      (c) 会社サイト (96c.jp)
    外したもの (ページ自体は残る。sitemap で「見に来て」と言わないだけ):
      ヘルプ記事・ひな形・法務 (規約/プライバシー/特商法/OSS)・機能詳細の下層・
      アプリ入口 (app.96c.jp/)。

    ★★このファイルは「index させたい URL の一覧」であると同時に
      **焼き込みリンク (素の HTML のサイト内リンク) の一覧でもある**。
      seo-static-body.js の relatedLinks() は、ここに載っている URL だけをリンク先に使う。
      つまり **ここから外した URL は、素の HTML のリンクグラフからも消える**。
      JS を実行すれば従来どおり辿れるが、Google が先に評価するのは素の HTML なので、
      「sitemap から外す = 発見経路を両方とも塞ぐ」ことになる。

      そのため **子を持つハブは外さない**。/tsunapochi-help・/manapi/lp/help・
      /manapi/lp/templates の 3 本は、載せているのは記事本体ではなくハブで、
      外すと配下の記事 90+17 本・ひな形 111 本が丸ごと孤立する (ハブから子への
      リンクは helpExtraNav / formTemplateExtraNav が焼くので、ハブさえ残れば繋がる)。
      2026-09-13 に一度 3 本とも外してビルドの到達性検証 (findUnreachableSitemapPaths)
      に 107 URL で落とされた。**この 3 本を「薄いから」と外さないこと。**

    ★外した URL は SEO ページ (焼き込み HTML) を従来どおり持つ。載せ直すときは
      check-seo-sitemap-consistency.mjs の SITEMAP_EXEMPT から理由ごと消すこと。
    ★主要 LP がインデックスされたのを確認してから、外した URL を段階的に戻す。
      一度に全部戻すと同じ状態に戻る。

  ★2026-09-15: 主要 LP 5 本 (/tsunapochi-lp ・/tsunapochi-lp/hospital ・
    /tsunapochi/recruit-jobs ・/manapi/lp ・/manapi/lp/hospital) の <loc> を
    **96c.jp 側へ移した**。app.96c.jp の旧 URL は CloudFront Function が 301 で
    ここへ送る (DM の QR コード https://app.96c.jp/tsunapochi-lp/hospital は
    印刷済みなので、この 301 を消さないこと)。
    理由: 上の 2026-09-13 の絞り込みでも登録は 0 件のままだった一方、96c.jp/ は
    公開 6 日でインデックスされ社名クエリ 1 位に出た。同じドメインでもホストが
    違えば Google は別サイトとして評価するため、実績のある会社ホストへ寄せる
    (オーナー判断)。lastmod を更新したのは、この 5 本は canonical / og:url /
    フッターが実際に変わったから (配信 HTML が変わっていない他の URL は触らない)。

  ★app.96c.jp/ (ブランドハブ) を外した理由は上とは別で「重複」。配信される本文が
    会社サイト 96c.jp/ のミッション文とほぼ同一で、Google が重複クラスタの代表を
    選べず両方が保留されていた (GSC に両方が載っていた)。代表を 96c.jp/ に
    一本化する。app.96c.jp/ は 301 にしない (アプリの入口なので 200 のまま残す)。

  lastmod は「配信 HTML が最後に変わった日」。ここを実態と合わせないと Google に
  無視されるだけでなく信用を落とすので、まとめて今日の日付にしないこと。
  **2026-09-13 の絞り込みでは 1 件も更新していない** (変わったのは sitemap であって
  各ページの配信 HTML ではないため)。
    - 2026-08-15: 拡張子なしキーへの複製 (deploy-production.yml の
      Publish extensionless SEO page copies) が入り、SEO ページを持つ URL の
      配信内容が汎用シェルから個別 HTML に変わった
    - 2026-08-17: /terms /privacy /manapi/lp/hospital を SEO_PAGES に追加し、
      この 3 本も個別 HTML に変わった
    - 2026-08-19: 全ページの配信 HTML に「JS 実行前の本文」(h1・説明・サイト内リンク) を
      焼き込んだ (scripts/seo-static-body.js)。それまで <body> は空の <div id="root"> だけで、
      素の HTML は本文 0 文字・<a> 0 本だった = Google のリンクグラフ上で全ページが孤立し、
      /manapi/lp と /tsunapochi-lp が「クロール済み - インデックス未登録」になっていた。
      ここは全 URL の配信内容が実際に変わった日なので、まとめて更新するのが正しい
      (前回まとめて動いたのは 2026-08-15 の拡張子なしキー複製と同じ理由)。
    - 2026-09-05: フルプリレンダー化。以降の下限は prerender-lib.mjs の
      SEO_BODY_LASTMOD が持つ (applySitemapLastmodFloor が引き上げる)

  つなぽち公開ガイドとまなぴ読みものの記事 URL は generate-seo-pages.js が
  ビルド時に追記する (このファイルに手で書かない)。ヘルプ記事とひな形は
  2026-09-13 に追記をやめた。

  会社サイト (旧 /corporate 配下) は 2026-09-05 から https://96c.jp/ で配信する
  (crossc-frontend/src/utils/siteHosts.js の対応表)。<loc> は 96c.jp 側の URL で書き、
  SEO_PAGES の path はアプリ側 (/corporate ...) のまま。突き合わせは appPathFromUrl が
  読み替える。別ホストの URL をこの sitemap に載せてよいのは、96c.jp/robots.txt (同じ
  ファイルが両ホストで配信される) がこの sitemap を Sitemap: 行で参照しているため。
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <!-- ===== 会社サイト (96c.jp) ===== -->
  <url>
    <loc>https://96c.jp/</loc>
    <lastmod>2026-09-05</lastmod>
    <priority>1.0</priority>
    <changefreq>monthly</changefreq>
  </url>
  <url>
    <loc>https://96c.jp/consulting</loc>
    <lastmod>2026-09-05</lastmod>
    <priority>0.8</priority>
    <changefreq>monthly</changefreq>
  </url>

  <!-- ===== つなぽち ===== -->
  <url>
    <loc>https://96c.jp/tsunapochi-lp</loc>
    <lastmod>2026-09-15</lastmod>
    <priority>0.9</priority>
    <changefreq>weekly</changefreq>
  </url>
  <url>
    <loc>https://96c.jp/tsunapochi-lp/hospital</loc>
    <lastmod>2026-09-15</lastmod>
    <priority>0.9</priority>
    <changefreq>weekly</changefreq>
  </url>
  <url>
    <loc>https://96c.jp/tsunapochi/recruit-jobs</loc>
    <lastmod>2026-09-15</lastmod>
    <priority>0.8</priority>
    <changefreq>daily</changefreq>
  </url>
  <!-- 読みものハブ。記事 19 本は generate-seo-pages.js がビルド時に追記する -->
  <!-- ヘルプハブ。記事 90 本は sitemap に載せないが、ハブは載せ続ける
       (焼き込みリンクの一覧 = この sitemap なので、外すと記事 90 本が
        素の HTML のリンクグラフから丸ごと孤立する。冒頭コメント参照) -->

  <!-- ===== まなぴ ===== -->
  <url>
    <loc>https://96c.jp/manapi/lp</loc>
    <lastmod>2026-09-15</lastmod>
    <priority>0.9</priority>
    <changefreq>weekly</changefreq>
  </url>
  <url>
    <loc>https://96c.jp/manapi/lp/hospital</loc>
    <lastmod>2026-09-15</lastmod>
    <priority>0.8</priority>
    <changefreq>monthly</changefreq>
  </url>
  <!-- 全国統一模試 (まなぴ × ベレクトNEXT)。2026-09-22 公開。正規ホストは 96c.jp
       (siteHosts.js の CORPORATE_LP_PREFIXES。配下ごと会社ホストで配信する)
       ★動物看護 (/nurse・/nurse/prepare) は 2026-09-22 から再開まで非公開のため載せない
       (MOCK_EXAM_NURSE_PUBLIC) -->
  <url>
    <loc>https://96c.jp/manapi/lp/mock-exam</loc>
    <lastmod>2026-09-22</lastmod>
    <priority>0.9</priority>
    <changefreq>weekly</changefreq>
  </url>
  <url>
    <loc>https://96c.jp/manapi/lp/mock-exam/vet</loc>
    <lastmod>2026-09-22</lastmod>
    <priority>0.8</priority>
    <changefreq>weekly</changefreq>
  </url>
  <url>
    <loc>https://96c.jp/manapi/lp/mock-exam/vet/prepare</loc>
    <lastmod>2026-09-22</lastmod>
    <priority>0.6</priority>
    <changefreq>weekly</changefreq>
  </url>
  <url>
    <loc>https://96c.jp/manapi/lp/mock-exam/schools</loc>
    <lastmod>2026-09-22</lastmod>
    <priority>0.7</priority>
    <changefreq>weekly</changefreq>
  </url>
  <!-- 読みものハブ。記事 16 本は generate-seo-pages.js がビルド時に追記する -->
  <!-- ヘルプ / ひな形のハブ。記事 17 本・ひな形 111 本は sitemap に載せないが、
       ハブは載せ続ける (理由は上の tsunapochi-help と同じ) -->
</urlset>
