SPB Git

spb/vrai-prix

Public

Vrai-Prix — l'évaluation du vrai prix des propriétés résidentielles au Québec.

2.0 KB · 39 lines typescript
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
Files · ab13dfd9ea98dd0b410510f2fe4ca593375d044c
Menu

Theme