Files
thermcool/app/sitemap.ts
T

63 lines
1.7 KiB
TypeScript

import { MetadataRoute } from 'next';
import { getProducts } from '@/content/products';
import { getPosts } from '@/content/posts';
import { dolnySlaskCities } from '@/content/cities';
export default function sitemap(): MetadataRoute.Sitemap {
const baseUrl = 'https://thermcool.pl';
// Statyczne trasy (Główne)
const staticRoutes = [
'',
'/klimatyzacja',
'/pompy-ciepla',
'/realizacje',
'/blog',
'/o-nas',
'/kontakt',
'/sklep',
'/koszyk',
'/porownaj',
'/regulamin',
'/polityka-prywatnosci',
'/reklamacje',
'/serwis-lg',
'/zgloszenie-awarii',
'/dostawa',
'/gwarancja',
].map((route) => ({
url: `${baseUrl}${route}`,
lastModified: new Date().toISOString(),
changeFrequency: 'weekly' as const,
priority: route === '' ? 1 : 0.8,
}));
// Dynamiczne produkty
const products = getProducts();
const productRoutes = products.map((product) => ({
url: `${baseUrl}/sklep/${product.slug}`,
lastModified: new Date().toISOString(),
changeFrequency: 'weekly' as const,
priority: 0.8,
}));
// Dynamiczne artykuły na blogu
const posts = getPosts();
const postRoutes = posts.map((post) => ({
url: `${baseUrl}/blog/${post.slug}`,
lastModified: post.date, // Używamy daty publikacji jako lastModified
changeFrequency: 'monthly' as const,
priority: 0.6,
}));
// Dynamiczne strony miast
const cityRoutes = dolnySlaskCities.map((city) => ({
url: `${baseUrl}/klimatyzacja/${city.slug}`,
lastModified: new Date().toISOString(),
changeFrequency: 'monthly' as const,
priority: 0.7,
}));
return [...staticRoutes, ...productRoutes, ...postRoutes, ...cityRoutes];
}