<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated by app/modules/blog.py at publish time and served from KV by
     landing/_worker.js. The static landing/sitemap.xml is the fallback used
     before anything has ever been published. Legal pages stay out on
     purpose: they carry noindex, and listing noindex URLs in a sitemap just
     produces "Submitted URL marked noindex" warnings in Search Console. -->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://civilproposals.com/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://civilproposals.com/" xmlns:xhtml="http://www.w3.org/1999/xhtml"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://civilproposals.com/es/" xmlns:xhtml="http://www.w3.org/1999/xhtml"/>
  </url>
  <url>
    <loc>https://civilproposals.com/es/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://civilproposals.com/" xmlns:xhtml="http://www.w3.org/1999/xhtml"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://civilproposals.com/es/" xmlns:xhtml="http://www.w3.org/1999/xhtml"/>
  </url>
  <url>
    <loc>https://civilproposals.com/blog/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://civilproposals.com/security</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://civilproposals.com/es/security.html</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://civilproposals.com/about</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://civilproposals.com/about" xmlns:xhtml="http://www.w3.org/1999/xhtml"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://civilproposals.com/es/about.html" xmlns:xhtml="http://www.w3.org/1999/xhtml"/>
  </url>
  <url>
    <loc>https://civilproposals.com/es/about.html</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://civilproposals.com/about" xmlns:xhtml="http://www.w3.org/1999/xhtml"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://civilproposals.com/es/about.html" xmlns:xhtml="http://www.w3.org/1999/xhtml"/>
  </url>
  <url>
    <loc>https://civilproposals.com/why-we-built-civilproposals</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://civilproposals.com/why-we-built-civilproposals" xmlns:xhtml="http://www.w3.org/1999/xhtml"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://civilproposals.com/es/why-we-built-civilproposals.html" xmlns:xhtml="http://www.w3.org/1999/xhtml"/>
  </url>
  <url>
    <loc>https://civilproposals.com/es/why-we-built-civilproposals.html</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://civilproposals.com/why-we-built-civilproposals" xmlns:xhtml="http://www.w3.org/1999/xhtml"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://civilproposals.com/es/why-we-built-civilproposals.html" xmlns:xhtml="http://www.w3.org/1999/xhtml"/>
  </url>
  <url>
    <loc>https://civilproposals.com/contact</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://civilproposals.com/contact" xmlns:xhtml="http://www.w3.org/1999/xhtml"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://civilproposals.com/es/contact.html" xmlns:xhtml="http://www.w3.org/1999/xhtml"/>
  </url>
  <url>
    <loc>https://civilproposals.com/es/contact.html</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://civilproposals.com/contact" xmlns:xhtml="http://www.w3.org/1999/xhtml"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://civilproposals.com/es/contact.html" xmlns:xhtml="http://www.w3.org/1999/xhtml"/>
  </url>
  <url>
    <loc>https://civilproposals.com/blog/category/tendering-and-compliance/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://civilproposals.com/blog/category/fee-and-pricing/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://civilproposals.com/blog/how-much-does-it-cost-to-prepare-an-engineering-fee-proposal/</loc>
    <lastmod>2026-08-23</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://civilproposals.com/blog/how-civil-engineering-firms-can-cut-tender-writing-time-in-half/</loc>
    <lastmod>2026-08-23</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
</urlset>