<?xml version="1.0" encoding="UTF-8"?>
<!--
  THE ROLLOUT THROTTLE. Read before adding a line.

  Every one of the ~254,000 restaurant pages is already live, internally linked
  and crawlable. This file controls only what Google is ASKED to index, and it
  is deliberately released one tranche at a time.

  Why: FreeDemandLetter (same owner) published 86,000 programmatic pages on a
  young domain in January 2026 and submitted them all at once. Effectively none
  were ever indexed — the 2026-02-27 Search Console report showed 0 indexed
  across every sitemap — and pruning the submission back to ~1,400 URLs was what
  moved average position from 27.9 to 8.4 within a week. It was an indexation
  failure, not a penalty: a brand-new domain with no authority asking for 86k
  indexations gets ignored. yallcooked.com was registered 2026-07-26.

  So: hubs and neighborhoods first, then one city's restaurants, then more —
  and each tranche is released only after the previous one clears the gate.

  GATE (checked weekly by ~/bin/cooked-gsc-weekly.py on dell, posts to Discord
  #cooked): the newest tranche is >= 14 days old AND sampled indexed rate >= 35%
  AND impressions for that city's path are rising week over week. Or >= 50%
  indexed regardless of age.

  HOLD RULE: under 15% indexed after 28 days means STOP adding tranches and fix
  what is there — more internal links, deeper content — then re-measure. Pushing
  more URLs at a domain that is not indexing the ones it has is the exact
  mistake this file exists to prevent.

  Tranche plan (uncomment as each gate passes):
    T0  core + all 10 <city>-areas          ~1,200 URLs   ← LIVE
    T1  nyc-1..4                           ~31,500 URLs
    T2  chi-1..5, la-1..5                  ~91,800 URLs
    T3  lv-1..2, kc-1..2, atx-1, bos-1..2  ~49,200 URLs
    T4  ldn-1..6, mcr-1..2, bhm-1..2       ~81,900 URLs   (thinnest data, last)

  The /sitemaps/*.xml files are generated live by the API (api/src/seo/sitemaps.ts)
  and always serveable — an unreferenced one is simply not advertised.
-->
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

  <!-- T0: the crawl entry points. -->
  <sitemap><loc>https://yallcooked.com/sitemaps/core.xml</loc></sitemap>
  <sitemap><loc>https://yallcooked.com/sitemaps/nyc-areas.xml</loc></sitemap>
  <sitemap><loc>https://yallcooked.com/sitemaps/chi-areas.xml</loc></sitemap>
  <sitemap><loc>https://yallcooked.com/sitemaps/la-areas.xml</loc></sitemap>
  <sitemap><loc>https://yallcooked.com/sitemaps/lv-areas.xml</loc></sitemap>
  <sitemap><loc>https://yallcooked.com/sitemaps/kc-areas.xml</loc></sitemap>
  <sitemap><loc>https://yallcooked.com/sitemaps/atx-areas.xml</loc></sitemap>
  <sitemap><loc>https://yallcooked.com/sitemaps/bos-areas.xml</loc></sitemap>
  <sitemap><loc>https://yallcooked.com/sitemaps/ldn-areas.xml</loc></sitemap>
  <sitemap><loc>https://yallcooked.com/sitemaps/mcr-areas.xml</loc></sitemap>
  <sitemap><loc>https://yallcooked.com/sitemaps/bhm-areas.xml</loc></sitemap>

  <!-- T1 — NYC restaurants. Uncomment when T0 clears the gate.
  <sitemap><loc>https://yallcooked.com/sitemaps/nyc-1.xml</loc></sitemap>
  <sitemap><loc>https://yallcooked.com/sitemaps/nyc-2.xml</loc></sitemap>
  <sitemap><loc>https://yallcooked.com/sitemaps/nyc-3.xml</loc></sitemap>
  <sitemap><loc>https://yallcooked.com/sitemaps/nyc-4.xml</loc></sitemap>
  -->

</sitemapindex>
