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:
| Page | URL | Priority | Update Frequency |
|---|---|---|---|
| Homepage | / | 1.0 | Weekly |
| Pricing | /pricing | 0.9 | Monthly |
| Privacy Policy | /privacy | 0.5 | Yearly |
| Terms of Service | /terms | 0.5 | Yearly |
| ROPA (Record of Processing Activities) | /ropa | 0.4 | Yearly |
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
- Open Google Search Console.
- Select your property.
- Navigate to Indexing → Sitemaps in the left sidebar.
- Enter
sitemap.xmlin the "Add a new sitemap" field and click Submit.
Bing Webmaster Tools
- Open Bing Webmaster Tools.
- Select your site.
- 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.
| Variable | Example Value | Purpose |
|---|---|---|
NEXT_PUBLIC_APP_URL | https://yourdomain.com | Base URL used to construct all sitemap entries |