<?xml version="1.0" encoding="UTF-8"?>
<!--
  Sitemap for the LAUNCHED site (1 September 2026).

  Until 21 Aug 2026 this file still described the pre-launch site: /vehicles,
  /wanted and /wanted/new sat inside a "restore at launch" comment block. On
  launch morning Google would have been handed a sitemap that omitted the
  marketplace entirely and listed only the sign-up and legal pages. Nothing
  would have failed, no build would have gone red, and nobody would have been
  told.

  So it is written for the launched site now, ten days early, because the only
  alternative is a hand edit on launch morning and this repo already knows how
  that ends (see the note at the top of src/config/launch.ts). Listing a URL
  that redirects to "/" for its last ten pre-launch days costs one crawl and a
  "Page with redirect" line in Search Console, and self-heals on the next
  crawl. A forgotten uncomment costs the launch its entire search presence, and
  costs it silently.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://autowholesaleconnect.co.za/</loc><changefreq>daily</changefreq><priority>1.0</priority></url>

  <!-- The AWC 2.0 consumer rail: the R99 "dealers bid on your car" flow that
       "/" and the Meta ads both point at. It was never in this file. Neither
       page mounts <SEO>, so both inherit the static head from index.html; that
       is survivable (the tags are accurate site wide) but a per page title on
       /sell is worth someone's half hour. -->
  <url><loc>https://autowholesaleconnect.co.za/sell</loc><changefreq>weekly</changefreq><priority>0.9</priority></url>
  <url><loc>https://autowholesaleconnect.co.za/sell/start</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>

  <!--
    Real, public, launched URLs, so they belong in the sitemap. Read this
    before expecting them to rank on anything, though.

    Verified read only against the live database on 21 Aug 2026: the Postgres
    "anon" role holds NO table grants in the public schema. pg_class.relacl for
    listings, wanted_ads, public_wanted_ads and public_dealers names only
    postgres, authenticated and service_role. A signed out visitor gets a
    permission error and an empty feed, and Googlebot is a signed out visitor.
    These two will rank on their heading and description alone until anon is
    granted a read.

    They stay listed because that is a database grant decision, not a sitemap
    decision, and it can change without anyone thinking to reopen this file. If
    "dealers must sign in to browse" is in fact deliberate and permanent, delete
    these three entries rather than invite Google to index empty pages.
  -->
  <url><loc>https://autowholesaleconnect.co.za/vehicles</loc><changefreq>daily</changefreq><priority>0.9</priority></url>
  <url><loc>https://autowholesaleconnect.co.za/wanted</loc><changefreq>daily</changefreq><priority>0.8</priority></url>
  <url><loc>https://autowholesaleconnect.co.za/wanted/new</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>

  <url><loc>https://autowholesaleconnect.co.za/register</loc><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://autowholesaleconnect.co.za/login</loc><changefreq>monthly</changefreq><priority>0.5</priority></url>
  <url><loc>https://autowholesaleconnect.co.za/contact</loc><changefreq>monthly</changefreq><priority>0.6</priority></url>
  <url><loc>https://autowholesaleconnect.co.za/privacy</loc><changefreq>yearly</changefreq><priority>0.3</priority></url>
  <url><loc>https://autowholesaleconnect.co.za/terms</loc><changefreq>yearly</changefreq><priority>0.3</priority></url>
  <!-- PAIA manual. A live route since 2.0 and absent from this file; under
       POPIA a South African business is expected to make it findable. -->
  <url><loc>https://autowholesaleconnect.co.za/paia</loc><changefreq>yearly</changefreq><priority>0.3</priority></url>
</urlset>
