nomadweb/frontend/src/app/sitemap.ts
2026-08-30 21:24:54 -05:00

71 lines
5.0 KiB
TypeScript

import type { MetadataRoute } from "next";
const SITE = process.env.NEXT_PUBLIC_SITE_URL || "https://nomadweb.nomadro.com";
const DESTINATIONS = ["bali", "lisbon", "chiangmai", "mexico", "barcelona", "tokyo"];
const BLOGS = ["chiangmai-guide-2026", "portugal-d7-visa", "nomad-tax-basics"];
export default function sitemap(): MetadataRoute.Sitemap {
const now = new Date();
return [
{ url: SITE, lastModified: now, changeFrequency: "weekly", priority: 1 },
{ url: `${SITE}/plan`, lastModified: now, changeFrequency: "weekly", priority: 0.95 },
{ url: `${SITE}/compare`, lastModified: now, changeFrequency: "weekly", priority: 0.9 },
{ url: `${SITE}/tools`, lastModified: now, changeFrequency: "weekly", priority: 0.8 },
{ url: `${SITE}/next-stop`, lastModified: now, changeFrequency: "weekly", priority: 0.9 },
{ url: `${SITE}/meetups`, lastModified: now, changeFrequency: "weekly", priority: 0.85 },
{ url: `${SITE}/community`, lastModified: now, changeFrequency: "weekly", priority: 0.85 },
{ url: `${SITE}/dating`, lastModified: now, changeFrequency: "weekly", priority: 0.85 },
{ url: `${SITE}/chat`, lastModified: now, changeFrequency: "weekly", priority: 0.8 },
{ url: `${SITE}/gigs`, lastModified: now, changeFrequency: "weekly", priority: 0.8 },
{ url: `${SITE}/pricing`, lastModified: now, changeFrequency: "monthly", priority: 0.7 },
{ url: `${SITE}/notifications`, lastModified: now, changeFrequency: "weekly", priority: 0.6 },
{ url: `${SITE}/community/new`, lastModified: now, changeFrequency: "weekly", priority: 0.75 },
{ url: `${SITE}/meetups/host`, lastModified: now, changeFrequency: "weekly", priority: 0.75 },
{ url: `${SITE}/dating/likes`, lastModified: now, changeFrequency: "weekly", priority: 0.7 },
{ url: `${SITE}/ai`, lastModified: now, changeFrequency: "monthly", priority: 0.7 },
{ url: `${SITE}/videos`, lastModified: now, changeFrequency: "weekly", priority: 0.75 },
{ url: `${SITE}/services`, lastModified: now, changeFrequency: "weekly", priority: 0.75 },
{ url: `${SITE}/map`, lastModified: now, changeFrequency: "weekly", priority: 0.7 },
{ url: `${SITE}/report`, lastModified: now, changeFrequency: "weekly", priority: 0.65 },
{ url: `${SITE}/feedback`, lastModified: now, changeFrequency: "monthly", priority: 0.5 },
{ url: `${SITE}/submit`, lastModified: now, changeFrequency: "monthly", priority: 0.5 },
{ url: `${SITE}/gigs/post`, lastModified: now, changeFrequency: "weekly", priority: 0.7 },
{ url: `${SITE}/settings/notifications`, lastModified: now, changeFrequency: "monthly", priority: 0.5 },
{ url: `${SITE}/contact`, lastModified: now, changeFrequency: "yearly", priority: 0.4 },
{ url: `${SITE}/help`, lastModified: now, changeFrequency: "yearly", priority: 0.4 },
{ url: `${SITE}/terms`, lastModified: now, changeFrequency: "yearly", priority: 0.3 },
{ url: `${SITE}/digital`, lastModified: now, changeFrequency: "weekly", priority: 0.85 },
{ url: `${SITE}/digital/course`, lastModified: now, changeFrequency: "weekly", priority: 0.8 },
{ url: `${SITE}/digital/jobs`, lastModified: now, changeFrequency: "weekly", priority: 0.75 },
{ url: `${SITE}/digital/day/1`, lastModified: now, changeFrequency: "monthly", priority: 0.55 },
{ url: `${SITE}/digital/day/2`, lastModified: now, changeFrequency: "monthly", priority: 0.55 },
{ url: `${SITE}/digital/day/3`, lastModified: now, changeFrequency: "monthly", priority: 0.55 },
{ url: `${SITE}/book`, lastModified: now, changeFrequency: "weekly", priority: 0.85 },
{ url: `${SITE}/book/read`, lastModified: now, changeFrequency: "weekly", priority: 0.8 },
{ url: `${SITE}/support`, lastModified: now, changeFrequency: "monthly", priority: 0.5 },
{ url: `${SITE}/careers`, lastModified: now, changeFrequency: "monthly", priority: 0.45 },
{ url: `${SITE}/safety`, lastModified: now, changeFrequency: "yearly", priority: 0.4 },
{ url: `${SITE}/guidelines`, lastModified: now, changeFrequency: "yearly", priority: 0.4 },
{ url: `${SITE}/cookies`, lastModified: now, changeFrequency: "yearly", priority: 0.3 },
{ url: `${SITE}/press`, lastModified: now, changeFrequency: "yearly", priority: 0.35 },
{ url: `${SITE}/login`, lastModified: now, changeFrequency: "monthly", priority: 0.5 },
{ url: `${SITE}/privacy`, lastModified: now, changeFrequency: "yearly", priority: 0.3 },
{ url: `${SITE}/about`, lastModified: now, changeFrequency: "monthly", priority: 0.5 },
{ url: `${SITE}/changelog`, lastModified: now, changeFrequency: "weekly", priority: 0.4 },
{ url: `${SITE}/profile`, lastModified: now, changeFrequency: "monthly", priority: 0.4 },
...DESTINATIONS.map((slug) => ({
url: `${SITE}/destinations/${slug}`,
lastModified: now,
changeFrequency: "weekly" as const,
priority: 0.8,
})),
...BLOGS.map((slug) => ({
url: `${SITE}/blog/${slug}`,
lastModified: now,
changeFrequency: "monthly" as const,
priority: 0.7,
})),
];
}