import { MetadataRoute } from 'next'; export default async function sitemap(): Promise { const baseUrl = 'https://octtoengenharia.com.br'; const locales = ['', '/en', '/es']; // Páginas principais const pages = [ { url: '', changefreq: 'weekly', priority: 1 }, { url: '/servicos', changefreq: 'monthly', priority: 0.8 }, { url: '/projetos', changefreq: 'weekly', priority: 0.8 }, { url: '/contato', changefreq: 'monthly', priority: 0.7 }, { url: '/sobre', changefreq: 'monthly', priority: 0.7 }, { url: '/privacidade', changefreq: 'yearly', priority: 0.5 }, { url: '/termos', changefreq: 'yearly', priority: 0.5 }, ]; // Buscar projetos do banco de dados let projects = []; try { const res = await fetch(`${baseUrl}/api/projects`, { next: { revalidate: 3600 }, // Cache por 1 hora }); if (res.ok) { projects = await res.json(); } } catch (error) { console.error('Erro ao buscar projetos para sitemap:', error); } // Gerar URLs const sitemap: MetadataRoute.Sitemap = []; // Adicionar páginas principais para cada locale for (const locale of locales) { for (const page of pages) { sitemap.push({ url: `${baseUrl}${locale}${page.url}`, lastModified: new Date(), changeFrequency: page.changefreq as 'weekly' | 'monthly' | 'yearly', priority: page.priority, }); } } // Adicionar páginas de projetos específicos for (const locale of locales) { for (const project of projects) { sitemap.push({ url: `${baseUrl}${locale}/projetos/${project.id}`, lastModified: project.updatedAt ? new Date(project.updatedAt) : new Date(), changeFrequency: 'monthly' as const, priority: 0.6, }); } } return sitemap; }