All Docs
FeaturesMaking Tax DigitalUpdated March 10, 2026

XML Sitemap Now Live — Faster Search Engine Indexing

XML Sitemap Now Live — Faster Search Engine Indexing

Release: v1.0.361
Date: 2025-07-01
SEO Control: SEO-08 (Crawlability)


Overview

As of v1.0.361, the platform now ships a dynamic XML sitemap served at /sitemap.xml. This resolves a gap where search engines had no structured way to discover the site's public-facing pages, leaving indexing entirely dependent on link crawling.

Why This Matters

Without a sitemap, search engines like Google and Bing must discover pages organically by following links. For a site with a small number of distinct marketing pages, this can mean:

  • Delayed indexing — new or updated pages may not be crawled for days or weeks.
  • Incomplete coverage — pages with few inbound links (e.g. /ropa, /terms) may be missed entirely.
  • No Search Console submission — Google Search Console requires a sitemap URL to enable manual indexing requests and coverage reports.

A sitemap fixes all three issues by giving search engines an explicit, up-to-date map of every URL you want indexed.

What's in the Sitemap

The sitemap covers the five public marketing pages:

PageURLPriorityUpdate Frequency
Homepage/1.0Weekly
Pricing/pricing0.9Monthly
Privacy Policy/privacy0.5Yearly
Terms of Service/terms0.5Yearly
ROPA (Record of Processing Activities)/ropa0.4Yearly

Priority values signal relative importance to crawlers within the site. The homepage and pricing page are weighted highest as the primary conversion and discovery surfaces.

Implementation

The sitemap is implemented using Next.js's built-in MetadataRoute.Sitemap interface (src/app/sitemap.ts). Next.js automatically exposes the return value of this file at the /sitemap.xml route — no additional routing or server configuration is required.

The base URL is read from the NEXT_PUBLIC_APP_URL environment variable, so the sitemap works correctly across development, staging, and production environments.

// src/app/sitemap.ts
import { MetadataRoute } from 'next';

export default function sitemap(): MetadataRoute.Sitemap {
  const base = process.env.NEXT_PUBLIC_APP_URL;
  return [
    {
      url: base,
      lastModified: new Date(),
      changeFrequency: 'weekly',
      priority: 1.0,
    },
    {
      url: `${base}/pricing`,
      lastModified: new Date(),
      changeFrequency: 'monthly',
      priority: 0.9,
    },
    {
      url: `${base}/privacy`,
      lastModified: new Date('2025-07-01'),
      changeFrequency: 'yearly',
      priority: 0.5,
    },
    {
      url: `${base}/terms`,
      lastModified: new Date('2025-07-01'),
      changeFrequency: 'yearly',
      priority: 0.5,
    },
    {
      url: `${base}/ropa`,
      lastModified: new Date('2025-07-01'),
      changeFrequency: 'yearly',
      priority: 0.4,
    },
  ];
}

Submitting the Sitemap to Search Engines

Now that the sitemap is live, it should be submitted to major search engines to trigger immediate re-crawling:

Google Search Console

  1. Open Google Search Console.
  2. Select your property.
  3. Navigate to Indexing → Sitemaps in the left sidebar.
  4. Enter sitemap.xml in the "Add a new sitemap" field and click Submit.

Bing Webmaster Tools

  1. Open Bing Webmaster Tools.
  2. Select your site.
  3. Navigate to Sitemaps and submit the full sitemap URL (e.g. https://yourdomain.com/sitemap.xml).

Environment Variable Requirement

Ensure NEXT_PUBLIC_APP_URL is set to your canonical production URL (e.g. https://yourdomain.com) with no trailing slash. An incorrect or missing value will produce invalid URLs in the sitemap.

VariableExample ValuePurpose
NEXT_PUBLIC_APP_URLhttps://yourdomain.comBase URL used to construct all sitemap entries