LaunchFast Logo LaunchFast

Integrated Dynamic Streaming-First Sitemap

Rishi Raj Jain
// ...
import { SitemapStream, streamToPromise } from 'sitemap'
export async function GET() {
const hostname = 'https://www.launchfa.st'
const smStream = new SitemapStream({ hostname })
const slugs = [/* static slugs */]
try {
slugs.forEach((url) => {
smStream.write({ /* url config */ })
})
// ...
smStream.end()
const sitemap = await streamToPromise(smStream)
return webResponse(sitemap, 200, {
'Content-Type': 'text/xml',
})
} catch (e: any) {
// handle errors
}
}

LaunchFa.st comes with a sitemap.xml.ts Astro endpoint that creates a sitemap as a streaming response, making it available to crawlers such as Google as soon as they request the page. This was quickly done with the help of sitemap package on npm: https://npmjs.com/package/sitemap.

With Astro’s prerender configuration flag per page or endpoint, the sitemaps can also be pre-rendered and also later be statically re-generated using ISR.

Learn More How to Implement Basic Authorization in Astro
How to Implement Basic Authorization in Astro July 16, 2025
Wie man Grundlegende Autorisierung in Astro Implementiert
Wie man Grundlegende Autorisierung in Astro Implementiert July 16, 2025
Cómo Implementar Autorización Básica en Astro
Cómo Implementar Autorización Básica en Astro July 16, 2025