Vrai-Prix — l'évaluation du vrai prix des propriétés résidentielles au Québec.
1// Auteur : Simon-Pierre Boucher — contact@spboucher.ai2// Sitemap des pages : statiques + 1 097 municipalités + pages municipalité×type.3// Les 3,7 M de fiches sont dans /estimation/sitemap/[id].xml (voir sitemap-index.xml).4import type { MetadataRoute } from "next";5import { allMunicipalities, allMunTypePairs } from "@/lib/municipalites";6import { SITE_URL, TYPE_SLUGS, slugify } from "@/lib/seo";7import stats from "@/data/stats.json";89export const dynamic = "force-dynamic";1011const LASTMOD = new Date((stats as { generated: string }).generated);1213export default function sitemap(): MetadataRoute.Sitemap {14 const statics: MetadataRoute.Sitemap = [15 { url: `${SITE_URL}/`, lastModified: LASTMOD, changeFrequency: "weekly", priority: 1 },16 { url: `${SITE_URL}/municipalites`, lastModified: LASTMOD, changeFrequency: "monthly", priority: 0.9 },17 { url: `${SITE_URL}/carte`, lastModified: LASTMOD, changeFrequency: "monthly", priority: 0.8 },18 { url: `${SITE_URL}/stats`, lastModified: LASTMOD, changeFrequency: "monthly", priority: 0.8 },19 { url: `${SITE_URL}/ka`, lastModified: LASTMOD, changeFrequency: "monthly", priority: 0.7 },20 { url: `${SITE_URL}/parc`, lastModified: LASTMOD, changeFrequency: "monthly", priority: 0.6 },21 { url: `${SITE_URL}/methodologie`, lastModified: LASTMOD, changeFrequency: "monthly", priority: 0.7 },22 { url: `${SITE_URL}/conditions`, lastModified: LASTMOD, changeFrequency: "yearly", priority: 0.2 },23 { url: `${SITE_URL}/confidentialite`, lastModified: LASTMOD, changeFrequency: "yearly", priority: 0.2 },24 ];25 const munis: MetadataRoute.Sitemap = allMunicipalities().map((m) => ({26 url: `${SITE_URL}/municipalite/${m.slug}`,27 lastModified: LASTMOD,28 changeFrequency: "monthly",29 priority: 0.8,30 }));31 const types: MetadataRoute.Sitemap = allMunTypePairs().map((p) => ({32 url: `${SITE_URL}/municipalite/${slugify(p.nom)}/${TYPE_SLUGS[p.type] ?? p.type}`,33 lastModified: LASTMOD,34 changeFrequency: "monthly",35 priority: 0.6,36 }));37 return [...statics, ...munis, ...types];38}39