nomadweb/frontend/src/app/sitemap.ts
eric 48408d3079 feat: complete NomadCNA parity layer with platform APIs and pages
Add services, videos, AI assistant, map/weather, gigs post, notifications settings, static legal pages, Google OAuth, payment router, real-user matching, newsletter, and content submission — all using nomadweb UI patterns.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-30 10:13:17 -05:00

62 lines
4.1 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}/join`, lastModified: now, changeFrequency: "monthly", priority: 0.75 },
{ url: `${SITE}/digital/course`, lastModified: now, changeFrequency: "weekly", priority: 0.8 },
{ url: `${SITE}/digital/jobs`, lastModified: now, changeFrequency: "weekly", priority: 0.75 },
{ url: `${SITE}/book`, lastModified: now, changeFrequency: "weekly", priority: 0.85 },
{ url: `${SITE}/book/read`, lastModified: now, changeFrequency: "weekly", priority: 0.8 },
{ 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,
})),
];
}