<!-- Generated from ja/llms-txt-sveltekit/index.html. The canonical document is the HTML page. -->

- [ ホーム ](/ja/) 
/
- [ 作成方法 ](/ja/how-to-create/) 
/
- SvelteKit ガイド            
# SvelteKit 向け `llms.txt`

3つの方法があります。static/内の静的ファイル（設定不要）、動的生成用の+server.tsエンドポイント、またはimport.meta.globを使うコンテンツ駆動型ジェネレーターです。

最終更新: 2026年4月22日

このページの内容

- [ オプション 1：静的ファイル（推奨） ](#static)
- [ 選択肢2：+server.ts エンドポイント ](#server)
- [ オプション 3：コンテンツから生成する ](#dynamic)
- [ アダプターに関する注意事項 ](#adapters)
- [ 検証 ](#verify)              
注記

どの方法を使うべきですか？

以下の  静的ファイル  もしあなたの  llms.txt  の変更が少なく、コードが不要な場合は、
+server.ts エンドポイント  コンテンツからビルド時に生成する場合や、再デプロイせずに更新する必要がある場合。

## オプション 1：静的ファイル（推奨）

SvelteKitはすべてを `static/` ディレクトリをビルド出力に直接配置します。 ファイルを以下の場所に配置してください。
`static/llms.txt` そして、それは以下で提供される予定です。 `/llms.txt` on すべてのアダプタにおいて、設定の変更は不要です。
static/llms.txt, directory structure    コピー     

```
# SvelteKit, zero-config static approach
#
# Place your file at: static/llms.txt
# SvelteKit copies everything in static/ directly into the build output.
# Your file will be served at /llms.txt on any adapter.
#
# Project structure:
# your-sveltekit-app/
# ├── static/
# │   └── llms.txt   ← add this
# ├── src/
# └── svelte.config.js
#
# No config changes needed. Deploy as normal.

```

このアプローチは、以下のものと連携して機能します。 **adapter-static**,
**adapter-cloudflare**, **adapter-vercel**,
**adapter-node**、およびその他すべての公式アダプター。このファイルは、
アダプターのデフォルトの静的ファイルヘッダーとともに提供されます。

## 選択肢2：+server.ts エンドポイント

次の場所にサーバールートを作成します： `src/routes/llms.txt/+server.ts` をエクスポートする
`GET` ハンドラーです。SvelteKit は次のパスで配信します： `/llms.txt`.
src/routes/llms.txt/+server.ts    コピー     

```
// src/routes/llms.txt/+server.ts
// SvelteKit server endpoint, dynamic generation
import type { RequestHandler } from './$types';

export const GET: RequestHandler = () => {
const body = `# Your Site

> One-sentence description of what your site is.

## Product

- [Overview](https://yoursite.com/product): core capabilities.
- [Pricing](https://yoursite.com/pricing): plans and limits.

## Documentation

- [Getting started](https://yoursite.com/docs): install, first steps.
- [API reference](https://yoursite.com/api): full endpoint catalog.

## Optional

- [Changelog](https://yoursite.com/changelog): version history.
`;

return new Response(body, {
headers: {
'Content-Type': 'text/plain; charset=utf-8',
'Cache-Control': 'public, max-age=3600, stale-while-revalidate=86400',
},
});
};

```

適切な `Cache-Control` ヘッダーを設定すると、エッジCDNがレスポンスをキャッシュできます。内容はめったに変わらず、リクエストのたびに最新版を配信する必要はありません。

例

adapter-static によるプリレンダリング
adapter-static  を使用する完全に静的なサイトでは、次の設定を追加してください：  export const prerender = true;  追加先のファイルは
+server.ts です。SvelteKit は  llms.txt 
ビルド時に静的ファイルとして生成します。
src/routes/llms.txt/+server.ts, with prerender    コピー     

```
// src/routes/llms.txt/+server.ts
// Add this line to pre-render the endpoint at build time (adapter-static / SSG)
export const prerender = true;

import type { RequestHandler } from './$types';

export const GET: RequestHandler = () => {
const body = `# Your Site\n\n> Summary.\n\n## Docs\n\n- [Guide](https://yoursite.com/docs)`;
return new Response(body, {
headers: { 'Content-Type': 'text/plain; charset=utf-8' },
});
};

```

## オプション 3：コンテンツから生成する

もしドキュメントやブログ記事を管理している場合は、 `src/content/`の場合、次を生成できます： `llms.txt` ビルド時に自動的に、以下を使用して
`import.meta.glob`。以下の例では、すべての Markdown
ファイルを読み込み、フロントマターからリンクリストを作成します。
src/routes/llms.txt/+server.ts, from content    コピー     

```
// src/routes/llms.txt/+server.ts
// Generate llms.txt from your Markdown content files
import type { RequestHandler } from './$types';

// Import all Markdown files in src/content/docs/
const docs = import.meta.glob('/src/content/docs/**/*.md', { eager: true }) as Record ;

export const prerender = true;

export const GET: RequestHandler = () => {
const lines = Object.values(docs)
.filter((m) => m.metadata?.title && m.metadata?.slug)
.map((m) => `- [${m.metadata!.title}](https://yoursite.com/docs/${m.metadata!.slug}/): ${m.metadata!.summary ?? ''}`);

const body = [
'# Your Site',
'',
'> One-sentence summary.',
'',
'## Documentation',
'',
...lines,
].join('\n');

return new Response(body, {
headers: { 'Content-Type': 'text/plain; charset=utf-8' },
});
};

```

プロジェクトのコンテンツ構造に合わせて glob パターンとメタデータフィールドを調整します。 [バリデーター](/ja/validator/) をCIで実行し、コンテンツ移行後の壊れた出力を検出します。

## アダプターに関する注意事項

- **adapter-cloudflare**、 `static/`
これらは、自動キャッシュ機能を備えた Cloudflare Pages のグローバル CDN によって直接配信されます。サーバーのルートは
Cloudflare Pages Functions となります。詳細は [Cloudflare Pages ガイド](/ja/llms-txt-cloudflare/) 、 キャッシュヘッダーの推奨事項とパージコマンドについては、 
- **adapter-vercel**、静的ファイルはVercelのEdge
Networkから配信されます。サーバールートはVercel Functions（または `export const config = { runtime: 'edge' }`）。詳しくは [Vercelガイド](/ja/llms-txt-vercel/) 向けの `vercel.json`
リライトのオプションについては [Vercel ガイド]を参照します。 
- **adapter-static**、すべてのルートは事前にレンダリング可能でなければならない。追加 `export const prerender = true;` に
`+server.ts`、または代わりに静的ファイル方式を使用します。 
- **adapter-node**では、サーバールートがNode.js HTTPサーバーとして動作します。 `+server.ts` このアプローチが理想的である。積極的な要素を追加する。
`Cache-Control` ヘッダーを追加して、リバースプロキシ（nginx、Caddy）がレスポンスをキャッシュできるようにします。   
## 検証

デプロイ後、ファイルが正しく配信されていることを確認します:
Verification    コピー     

```
curl -I https://yoursite.com/llms.txt
# Expected:
# HTTP/2 200
# content-type: text/plain; charset=utf-8

curl https://yoursite.com/llms.txt | head -5
# Should print the first lines of your file
```

次に URL を [バリデーター](/ja/validator/) 完全な仕様準拠チェック用に

## 関連ガイド

- [llms.txtの作成方法](/ja/how-to-create/)、テンプレート、チェックリスト。 
- [Cloudflare Pages ガイド](/ja/llms-txt-cloudflare/)、SvelteKitとadapter-cloudflare固有の情報。 
- [Vercelガイド](/ja/llms-txt-vercel/)、SvelteKitとadapter-vercel固有の事項。 
- [ベストプラクティス](/ja/best-practices/)、何を含め、何を除外するか。 
- [バリデータ](/ja/validator/) · [ジェネレーター](/ja/generator/).        
## ソース

- [ llmstxt.org、コミュニティによる提案 ](https://llmstxt.org/)
- [ SvelteKit ドキュメント、ルーティング ](https://svelte.dev/docs/kit/routing)
- [ SvelteKit ドキュメント、サーバールート ](https://svelte.dev/docs/kit/routing#server)
