---
title: KurocoでXMLsitemapは作成できますか
description: 現状では、XMLsitemap(sitemap.xml)を自動で作成する機能は用意しておりません。XMLsitemapはフロントエンドにて実装をお願いいたします。
category: system
---

import StructuredDataFaqs from '@site/src/components/StructuredDataFaqs';

<StructuredDataFaqs
  faqs={[
    {
      question: 'KurocoでXMLsitemapは作成できますか',
      answer:
        '現状では、XMLsitemap(sitemap.xml)を自動で作成する機能は用意しておりません。XMLsitemapはフロントエンドにて実装をお願いいたします。',
    },
  ]}
/>

現状では、XMLsitemap(sitemap.xml)を自動で作成する機能は用意しておりません。XMLsitemapはフロントエンドにて実装をお願いいたします。

## XMLsitemapを実装するには

Headless CMSでは、コンテンツ管理（バックエンド）と表示（フロントエンド）が分離されているため、
ページ数など実際の URL の構造はフロントエンド側で決定されます。(Kurocoのコンテンツ数=ページ数にはならない)  
そのため、XMLsitemapはフロント側で対応をすることが一般的です。

### 基本的な実装方法
各フレームワークごとに、実装方法は異なります。
以下のドキュメントを一例に XMLsitemap の実装方法をご検討ください。

- [Next.js](https://nextjs.org/docs/app/api-reference/file-conventions/metadata/sitemap)
- [Nuxt 3](https://nuxtseo.com/docs/sitemap/getting-started/introduction)

例えば Next.js では、`app` ディレクトリに`sitemap.ts`（または`sitemap.js`）を作成することで、XML サイトマップを生成できます：

```typescript
// app/sitemap.ts
import type { MetadataRoute } from 'next';

export default function sitemap(): MetadataRoute.Sitemap {
  return [
    {
      url: 'https://www.diverta.co.jp/',
      lastModified: new Date(),
      changeFrequency: 'yearly',
      priority: 1,
    },
    {
      url: 'https://www.diverta.co.jp/about',
      lastModified: new Date(),
      changeFrequency: 'monthly',
      priority: 0.8,
    },
    {
      url: 'https://www.diverta.co.jp/products',
      lastModified: new Date(),
      changeFrequency: 'weekly',
      priority: 0.5,
    },
  ];
}
```

このコードは以下のような XML を生成します：

```xml
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.diverta.co.jp/</loc>
    <lastmod>2024-01-06T15:02:24.021Z</lastmod>
    <changefreq>yearly</changefreq>
    <priority>1</priority>
  </url>
  <!-- 他のURLエントリー -->
</urlset>
```
