import fs from 'fs'; import path from 'path'; import { locationData, serviceData, blogPostData } from '../src/data/seoData'; const BASE_URL = process.env.BASE_URL || 'https://bayareait.services'; const generateSitemap = () => { const currentDate = new Date().toISOString().split('T')[0]; let xml = ` `; const staticPages = [ '', '/locations', '/services', '/blog', '/contact', '/about', '/privacy-policy', '/terms-of-service' ]; staticPages.forEach(page => { xml += ` ${BASE_URL}${page} ${currentDate} monthly ${page === '' ? '1.0' : '0.8'} `; }); locationData.forEach(page => { xml += ` ${BASE_URL}/${page.slug} ${currentDate} weekly 0.9 `; }); serviceData.forEach(page => { xml += ` ${BASE_URL}/${page.slug} ${currentDate} weekly 0.9 `; }); blogPostData.filter(post => !('redirect' in post) || !post.redirect).forEach(post => { xml += ` ${BASE_URL}/${post.slug} ${currentDate} monthly 0.7 `; }); xml += ``; return xml; }; const sitemap = generateSitemap(); const outputPath = path.resolve(process.cwd(), 'public/sitemap.xml'); const publicDir = path.dirname(outputPath); if (!fs.existsSync(publicDir)) { fs.mkdirSync(publicDir, { recursive: true }); } fs.writeFileSync(outputPath, sitemap); console.log(`Sitemap generated at ${outputPath}`);