import productSearchApi from '@/lib/product/api/productSearchApi'; import { create } from 'xmlbuilder'; export async function getServerSideProps({ res }) { const baseUrl = process.env.SELF_HOST + '/sitemap/products'; const limit = 2500; // ⬇️ Ganti ke URLSearchParams biar key "source" gak hilang const params = new URLSearchParams({ limit, source: 'sitemap', }).toString(); const products = await productSearchApi({ query: params }); const pageCount = Math.ceil(products.response.numFound / limit); const pages = Array.from({ length: pageCount }, (_, i) => i + 1); const sitemapIndex = create('sitemapindex', { encoding: 'UTF-8' }).att( 'xmlns', 'http://www.sitemaps.org/schemas/sitemap/0.9' ); const date = new Date(); pages.forEach((page) => { const sitemap = sitemapIndex.ele('sitemap'); sitemap.ele('loc', `${baseUrl}/${page}.xml`); sitemap.ele('lastmod', date.toISOString().slice(0, 10)); }); res.setHeader('Content-Type', 'text/xml'); res.write(sitemapIndex.end()); res.end(); return { props: {} }; } export default function SitemapProducts() { return null; }