<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <!-- Main pages -->
  <url>
    <loc>https://desmoinesinsider.com/</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/events</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/restaurants</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/attractions</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/playgrounds</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/articles</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/guides</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/things-to-do</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/stay</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/trip-planner</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Time-sensitive pages (high priority for local SEO) -->
  <url>
    <loc>https://desmoinesinsider.com/events/today</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>hourly</changefreq>
    <priority>0.95</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/events/this-weekend</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/events/free</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/events/kids</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/events/date-night</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/events/near-me</loc>
    <lastmod>2026-09-25</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/restaurants/new</loc>
    <lastmod>2026-09-23</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/restaurants/open-now</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>hourly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/restaurants/dietary</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/restaurants/dietary/vegan</loc>
    <lastmod>2026-09-25</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/restaurants/dietary/vegetarian</loc>
    <lastmod>2026-09-25</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/restaurants/dietary/gluten-free</loc>
    <lastmod>2026-09-25</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/restaurants/dietary/keto</loc>
    <lastmod>2026-09-25</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/restaurants/dietary/halal</loc>
    <lastmod>2026-09-25</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/restaurants/dietary/kosher</loc>
    <lastmod>2026-09-25</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>

  <!-- Location-based event pages -->
  <url>
    <loc>https://desmoinesinsider.com/events/west-des-moines</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/events/ankeny</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/events/urbandale</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/events/johnston</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/events/altoona</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/events/clive</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/events/windsor-heights</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/events/waukee</loc>
    <lastmod>2026-09-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Neighborhood pages. WEB-SEO-036: this listed downtown, east-village,
       beaverdale and highland-park. Three of those four had no editorial entry
       anywhere in the app and were linked from no page on the site, so they
       were orphan thin URLs submitted to Google, while the six neighborhoods
       that DID have content were never listed. Keep in step with NEIGHBORHOODS
       in src/lib/neighborhoods.ts; scripts/check-neighborhood-inventory.mjs
       fails the build if this drifts from it. -->
  <url>
    <loc>https://desmoinesinsider.com/neighborhoods</loc>
    <lastmod>2026-09-18</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/neighborhoods/east-village</loc>
    <lastmod>2026-09-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/neighborhoods/west-des-moines</loc>
    <lastmod>2026-09-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/neighborhoods/ankeny</loc>
    <lastmod>2026-09-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/neighborhoods/urbandale</loc>
    <lastmod>2026-09-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/neighborhoods/johnston</loc>
    <lastmod>2026-09-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/neighborhoods/clive</loc>
    <lastmod>2026-09-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/neighborhoods/waukee</loc>
    <lastmod>2026-09-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/neighborhoods/altoona</loc>
    <lastmod>2026-09-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Guide and info pages -->
  <!-- /weekend removed (WEB-SEO-007): it duplicated /events/this-weekend and
       301s there now. The canonical weekend page is /events/this-weekend. -->
  <url>
    <loc>https://desmoinesinsider.com/iowa-state-fair</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Business and info pages -->
  <url>
    <loc>https://desmoinesinsider.com/contact</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.4</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/advertise</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/business-partnership</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/submit-event</loc>
    <lastmod>2026-09-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/privacy-policy</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/terms</loc>
    <lastmod>2026-03-16</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>

  <!-- Discovery and planning surfaces. Added under WEB-SEO-005: these were
       already being prerendered but were never submitted for indexing. -->
  <url>
    <loc>https://desmoinesinsider.com/deals</loc>
    <lastmod>2026-07-29</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/map</loc>
    <lastmod>2026-07-29</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/itineraries</loc>
    <lastmod>2026-07-29</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/visitors-guide</loc>
    <lastmod>2026-08-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Content hubs (SEO-022): routes that existed in App.tsx but were in
       neither this file nor scripts/prerender-routes.mjs, and so served the
       homepage to every crawler that does not run JavaScript. -->
  <url>
    <loc>https://desmoinesinsider.com/outdoors</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/music</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/sports</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/breweries</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/best-of</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/getting-around</loc>
    <lastmod>2026-08-31</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Plan & Stay pass 2 (WP6 item 2). /group-travel is prerendered;
       /whats-new is SITEMAP_ONLY until the D4 feed cleanup lands. -->
  <url>
    <loc>https://desmoinesinsider.com/group-travel</loc>
    <lastmod>2026-09-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://desmoinesinsider.com/whats-new</loc>
    <lastmod>2026-09-25</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.6</priority>
  </url>
</urlset>
