<?xml version="1.0" encoding="UTF-8"?>
<!--
  Canonical host is trustedlandscaping.services, matching `metadataBase` and the
  canonical tag in app/layout.tsx.

  Every entry previously read https://trustedlandscaping.com. A sitemap may only
  list URLs on the host that serves it, so search engines were rejecting the whole
  file: the site had a sitemap that did nothing. trustedlandscaping.com resolves
  but serves a different, untitled page, so those URLs were not this site's.

  Six entries also pointed at routes that do not exist here: /services/landscape-design,
  /services/tree-services, /services/seasonal-cleanup, /get-quote, /resources and
  /accessibility. Seven real routes were missing, including /estimate/sod, which is
  the page the paid campaign points at.

  Deliberately excluded:
    /y                 QR token landing, no content, takes a ?t= parameter
    /brand-guidelines  internal design reference
    /dev/*             internal previews

  This file is hand-maintained, so it will drift again. Check it whenever a route
  is added or removed.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

  <url>
    <loc>https://trustedlandscaping.services/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>

  <!-- /estimate/sod is deliberately absent. It is the paid campaign's
       destination and carries `robots: { index: false }` as of 2026-08-13, so
       listing it here would submit a page to Google that the page itself tells
       Google to drop. Search Console reports that as an error, and rightly.
       See the noindex block in app/estimate/sod/layout.tsx for why. -->

  <url>
    <loc>https://trustedlandscaping.services/services</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>

  <url>
    <loc>https://trustedlandscaping.services/services/sod-installation</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://trustedlandscaping.services/services/drainage</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://trustedlandscaping.services/services/lawn-care</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://trustedlandscaping.services/services/landscaping</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://trustedlandscaping.services/services/plantscaping</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://trustedlandscaping.services/services/hardscaping</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- The two cost pages. Both are paid landing pages AND organic destinations
       as of 2026-09-22, unlike /estimate/sod above, which stays noindex because
       /services/sod-installation already covers its terms.

       /estimate/driveway is the only page on the site selling concrete flatwork:
       there is no /services/concrete. /estimate/patio answers "what does a patio
       cost" while /services/hardscaping answers "who should build it", which is
       a different query and a different page. See each route's layout.tsx. -->

  <url>
    <loc>https://trustedlandscaping.services/estimate/driveway</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://trustedlandscaping.services/estimate/patio</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <url>
    <loc>https://trustedlandscaping.services/portfolio</loc>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://trustedlandscaping.services/testimonials</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- /about was removed 2026-08-13 along with the page, which carried a company
       timeline predating the company and an unnamed awards claim, and the route
       308d to the homepage. Both the page and this entry came back 2026-09-05,
       rewritten to claims the business can stand behind, and the redirect in
       next.config.mjs was deleted so the real route is reachable. -->
  <url>
    <loc>https://trustedlandscaping.services/about</loc>
    <changefreq>yearly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://trustedlandscaping.services/contact</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://trustedlandscaping.services/careers</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>

  <url>
    <loc>https://trustedlandscaping.services/privacy</loc>
    <changefreq>yearly</changefreq>
    <priority>0.2</priority>
  </url>
  <url>
    <loc>https://trustedlandscaping.services/terms</loc>
    <changefreq>yearly</changefreq>
    <priority>0.2</priority>
  </url>
  <url>
    <loc>https://trustedlandscaping.services/sms</loc>
    <changefreq>yearly</changefreq>
    <priority>0.2</priority>
  </url>

</urlset>
