<?xml version="1.0" encoding="UTF-8"?>
<!--
  Beautiful Obituary — sitemap

  GENERATED. Run tools/build-sitemap.py; do not hand-edit, or the next run
  silently reverts you.

  Only pages meant to be found. The portal, account and checkout surfaces are
  deliberately absent: they are behind auth or mid-flow, and listing them
  spends crawl budget on pages that can never rank.

  URLs are extensionless and MUST stay that way. Every page also answers at
  /name.html, which 301s here; listing the .html spelling would put the
  redirect source in the sitemap and ask Google to crawl a hop it does not
  need to take.

  lastmod only. No changefreq, no priority: Google ignores both and reads
  lastmod, and every site worth copying in this category ships it that way.
  The dates come from git, so they cannot drift from the truth.

  (Note for whoever edits this comment: XML forbids a double hyphen inside a
  comment. Two of them in here is a sitemap that will not parse, which is
  exactly how the first draft of this file broke.)

  Add a new guide by committing it; this picks it up. A post that is not here
  and not linked from /blog is invisible, which is the whole point of the blog.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

  <url>
    <loc>https://beautifulobituary.com/</loc>
    <lastmod>2026-08-31</lastmod>
  </url>

  <url>
    <loc>https://beautifulobituary.com/create</loc>
    <lastmod>2026-08-31</lastmod>
  </url>

  <url>
    <loc>https://beautifulobituary.com/blog</loc>
    <lastmod>2026-08-31</lastmod>
  </url>

  <url>
    <loc>https://beautifulobituary.com/blog/bifold-vs-trifold-funeral-programs</loc>
    <lastmod>2026-08-31</lastmod>
  </url>

  <url>
    <loc>https://beautifulobituary.com/blog/celebration-of-life-order-of-service</loc>
    <lastmod>2026-08-31</lastmod>
  </url>

  <url>
    <loc>https://beautifulobituary.com/blog/choosing-photos-for-a-memorial</loc>
    <lastmod>2026-08-31</lastmod>
  </url>

  <url>
    <loc>https://beautifulobituary.com/blog/common-obituary-mistakes</loc>
    <lastmod>2026-08-31</lastmod>
  </url>

  <url>
    <loc>https://beautifulobituary.com/blog/free-obituary-template</loc>
    <lastmod>2026-08-31</lastmod>
  </url>

  <url>
    <loc>https://beautifulobituary.com/blog/graveside-and-committal-services</loc>
    <lastmod>2026-08-31</lastmod>
  </url>

  <url>
    <loc>https://beautifulobituary.com/blog/how-much-does-an-obituary-cost</loc>
    <lastmod>2026-08-31</lastmod>
  </url>

  <url>
    <loc>https://beautifulobituary.com/blog/how-to-ask-family-to-share-memories</loc>
    <lastmod>2026-08-31</lastmod>
  </url>

  <url>
    <loc>https://beautifulobituary.com/blog/how-to-print-funeral-programs-at-home</loc>
    <lastmod>2026-08-31</lastmod>
  </url>

  <url>
    <loc>https://beautifulobituary.com/blog/how-to-write-an-obituary</loc>
    <lastmod>2026-08-31</lastmod>
  </url>

  <url>
    <loc>https://beautifulobituary.com/blog/military-honors-at-a-funeral</loc>
    <lastmod>2026-08-31</lastmod>
  </url>

  <url>
    <loc>https://beautifulobituary.com/blog/obituary-examples</loc>
    <lastmod>2026-08-31</lastmod>
  </url>

  <url>
    <loc>https://beautifulobituary.com/blog/obituary-vs-death-notice-vs-eulogy</loc>
    <lastmod>2026-08-31</lastmod>
  </url>

  <url>
    <loc>https://beautifulobituary.com/blog/order-of-service-catholic-funeral-mass</loc>
    <lastmod>2026-08-31</lastmod>
  </url>

  <url>
    <loc>https://beautifulobituary.com/blog/order-of-service-traditional-christian-funeral</loc>
    <lastmod>2026-08-31</lastmod>
  </url>

  <url>
    <loc>https://beautifulobituary.com/blog/poems-and-readings-for-a-funeral</loc>
    <lastmod>2026-08-31</lastmod>
  </url>

  <url>
    <loc>https://beautifulobituary.com/blog/social-media-accounts-after-death</loc>
    <lastmod>2026-08-31</lastmod>
  </url>

  <url>
    <loc>https://beautifulobituary.com/blog/what-goes-in-a-funeral-program</loc>
    <lastmod>2026-08-31</lastmod>
  </url>

  <url>
    <loc>https://beautifulobituary.com/blog/what-is-an-online-memorial-page</loc>
    <lastmod>2026-08-31</lastmod>
  </url>

</urlset>
