- Extract fulfillment step executors and factory from orchestrator - Remove unused signup, migrate, and internet configure pages - Simplify PublicShell and landing page components - Standardize conditional expressions across codebase
34 lines
1.4 KiB
TypeScript
34 lines
1.4 KiB
TypeScript
import type { MetadataRoute } from "next";
|
|
|
|
/**
|
|
* Sitemap for SEO
|
|
*
|
|
* Generates a sitemap.xml for search engine crawlers.
|
|
* Only includes public pages that should be indexed.
|
|
*/
|
|
export default function sitemap(): MetadataRoute.Sitemap {
|
|
const baseUrl = process.env["NEXT_PUBLIC_SITE_URL"] || "https://portal.asolutions.co.jp";
|
|
|
|
// Public pages that should be indexed
|
|
const publicPages = [
|
|
{ path: "", priority: 1.0, changeFrequency: "weekly" as const },
|
|
{ path: "/about", priority: 0.8, changeFrequency: "monthly" as const },
|
|
{ path: "/services", priority: 0.9, changeFrequency: "weekly" as const },
|
|
{ path: "/services/internet", priority: 0.8, changeFrequency: "weekly" as const },
|
|
{ path: "/services/sim", priority: 0.8, changeFrequency: "weekly" as const },
|
|
{ path: "/services/vpn", priority: 0.7, changeFrequency: "monthly" as const },
|
|
{ path: "/services/tv", priority: 0.7, changeFrequency: "monthly" as const },
|
|
{ path: "/services/onsite", priority: 0.7, changeFrequency: "monthly" as const },
|
|
{ path: "/services/business", priority: 0.7, changeFrequency: "monthly" as const },
|
|
{ path: "/contact", priority: 0.8, changeFrequency: "monthly" as const },
|
|
{ path: "/help", priority: 0.6, changeFrequency: "monthly" as const },
|
|
];
|
|
|
|
return publicPages.map(page => ({
|
|
url: `${baseUrl}${page.path}`,
|
|
lastModified: new Date(),
|
|
changeFrequency: page.changeFrequency,
|
|
priority: page.priority,
|
|
}));
|
|
}
|