barsa 4cb393bdb8 refactor: simplify order fulfillment and remove unused public pages
- 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
2026-02-03 17:35:47 +09:00

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,
}));
}