Closed3

NextJS(App Router)でSitemapを生成する

かいとかいと

app配下にsitemap.tsを設置する

sitemap.ts
import { client } from '@/libs/client';
import { MetadataRoute } from 'next/types';

const BASE_URL = 'http://localhost';

export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
  const res = await client.api.v1.data.$get();
  const data = await res.json();
  return [
    {
      url: BASE_URL,
      lastModified: new Date(),
      changeFrequency: 'yearly',
      priority: 1,
    },
    ...data.map(({ id }) => ({
      url: `${BASE_URL}/${id}`,
      lastModified: new Date(),
      changeFrequency: 'weekly' as const,
      priority: 0.5,
    })),
  ];
}

かいとかいと

http://localhost/sitemap.xmlにアクセスするとサイトマップが作成されている

このスクラップは5ヶ月前にクローズされました