<?xml version="1.0" encoding="UTF-8"?>
<!--
  sitemap.xml — wh347.io

  SITEMAP POLICY
  ==============
  Only publicly accessible pages belong here.  Auth-required / private routes
  (e.g. /dashboard, /employees, /settings) must NEVER be added to this file.
  Those routes are listed under "Disallow" in robots.txt instead.

  Run `pnpm check-sitemap` (or `node scripts/check-sitemap-robots-sync.mjs`)
  to automatically verify that no Disallowed path has accidentally crept in.

  HOW TO ADD A NEW PAGE
  ---------------------
  Public page  → add a <url> entry below; also add a Disallow removal in
                 robots.txt if the path was previously blocked.
  Private page → add a Disallow line to robots.txt only; do NOT add a <url>
                 entry here.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

  <url>
    <loc>https://wh347.io/</loc>
    <lastmod>2026-04-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>1.0</priority>
  </url>


  <url>
    <loc>https://wh347.io/pricing</loc>
    <lastmod>2026-04-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://wh347.io/support</loc>
    <lastmod>2026-04-22</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://wh347.io/privacy</loc>
    <lastmod>2026-03-01</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.4</priority>
  </url>

  <url>
    <loc>https://wh347.io/terms</loc>
    <lastmod>2026-03-01</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.4</priority>
  </url>

  <url>
    <loc>https://wh347.io/blog</loc>
    <lastmod>2026-04-28</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://wh347.io/blog/how-to-fill-out-wh-347</loc>
    <lastmod>2025-04-07</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://wh347.io/blog/davis-bacon-act-explained</loc>
    <lastmod>2025-04-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://wh347.io/blog/why-spreadsheets-fail-for-certified-payroll</loc>
    <lastmod>2025-03-24</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://wh347.io/blog/2026-davis-bacon-act-updates</loc>
    <lastmod>2026-04-13</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://wh347.io/blog/certified-payroll-vs-regular-payroll</loc>
    <lastmod>2026-04-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://wh347.io/blog/certified-payroll-subcontractors</loc>
    <lastmod>2026-04-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://wh347.io/blog/davis-bacon-audit-guide</loc>
    <lastmod>2026-04-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://wh347.io/blog/california-ecpr-xml-export</loc>
    <lastmod>2026-04-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://wh347.io/blog/aashtoware-certified-payroll-xml</loc>
    <lastmod>2026-04-22</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <url>
    <loc>https://wh347.io/blog/new-wh-347-form-deadline-2026</loc>
    <lastmod>2026-04-28</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

</urlset>
