開発・個人開発

llms.txtとは? AIに見つかるサイトにする最適化ガイド

llms.txtとは? AIに見つかるサイトにする最適化ガイド

この記事の要点

llms.txtは、ChatGPTやClaudeなどのAIがサイト内容を効率よく読めるよう情報を整理したテキストファイルだ。robots.txtのAI版ともいえる。設置方法と書き方、SEOとの違いを解説する。

結論

llms.txtを設置すると、ChatGPT・Perplexity・Claudeなどの対話型AIが「このサイトにどんな情報があるか」を短時間で把握できる。検索ランキングには直接影響しないが、AIが回答を生成するときにサイトの内容を引用しやすくなるLLMO施策として、個人開発のメディアサイトには設置を勧める。

llms.txtが生まれた背景

検索エンジンのクローラーが参照するsitemap.xmlは、URLとページの更新日時が含まれているが、各ページの「どんな内容か」は含まれていない。クローラーは個別のページをHTMLとして読み込んで内容を把握する。

一方、ChatGPTのようなAIが回答を生成するとき、長いHTMLページ全体を読み込むのはコストがかかる。広告・ナビゲーション・フッターなどの「ノイズ」が多く、肝心のコンテンツを見つけにくい。

llms.txtは2024年にAnswer.AI(fast.aiの創設者らが設立)が提案したフォーマットで、AIがサイトの内容を効率よく理解するための「サイトの要約書」だ。Markdownという読みやすい形式で、サイトの目的・主要ページへのリンク・コンテンツの一覧をまとめることで、AIが「このサイトは何のサイトで、どの情報がどこにある」を短時間で把握できるようにする。

llms.txtの基本フォーマット

llms.txtはMarkdown形式のプレーンテキストだ。最低限含める要素は3つある。

# サイト名

サイトの簡潔な説明(1〜3文)

## 主要コンテンツ

- [カテゴリ名](URLパス): 説明

## 記事一覧

- [記事タイトル](記事URL): 記事の1行要約

実際の書き方の例(このメディアサイトの場合):

# Meliorra AI Media

生成AIの業務活用・セキュリティ・個人開発を扱う日本語メディア。
企業のAI推進担当者と個人開発者向けに、具体的な手順と事例を提供する。

## カテゴリ

- [生成AIの基礎](/articles/?category=genai-basics): 生成AI・LLMの仕組みや用語解説
- [セキュリティ](/articles/?category=security): 企業のAIセキュリティとガバナンス
- [個人開発](/articles/?category=dev): Astro・Vercel・Supabaseを使った開発ノウハウ

## 注目記事

- [プロンプトインジェクションとは?](/articles/prompt-injection-explained/): 攻撃の仕組みと企業の防御策
- [シャドーAIのリスクと対策](/articles/shadow-ai-risks/): 無断利用を防ぐ組織的アプローチ
- [llms.txtとは?](/articles/llms-txt-guide/): AIに最適化したサイト設計の方法

より詳細なllms-full.txtというファイルも合わせて用意するのが推奨パターンだ。llms.txtがインデックス的な役割を担い、llms-full.txtには全記事のタイトル・URL・要約を網羅する。

AstroでのllmsⅡtxtの自動生成

Astroのコンテンツコレクションを使うと、記事が増えるたびにllms.txtを手動更新する必要がなく、ビルド時に自動生成できる。

src/pages/llms.txt.tsを作成し、以下の形で実装する:

import { getCollection } from 'astro:content';

export async function GET() {
  const articles = await getCollection('articles', ({ data }) => !data.draft);
  
  const articleLines = articles
    .sort((a, b) => b.data.pubDate.valueOf() - a.data.pubDate.valueOf())
    .map(a => `- [${a.data.title}](/articles/${a.slug}/): ${a.data.description}`)
    .join('\n');
  
  const content = `# Meliorra AI Media

生成AIの業務活用・セキュリティ・個人開発を扱う日本語メディア。

## カテゴリ

- 生成AIの基礎・ツール比較・業務活用事例・プロンプト技術
- セキュリティ・ガバナンス
- 個人開発(Astro・Vercel・Supabase)

## 記事一覧(最新順)

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

このファイルをデプロイすると、https://your-site.com/llms.txtで動的生成されたllms.txtにアクセスできる。記事が追加されるたびに自動で更新される。

robots.txtでAIクローラーを許可する

llms.txtを設置しても、robots.txtでAIのクローラーをブロックしていると意味がない。主要なAIクローラーに対してアクセスを明示的に許可する設定をpublic/robots.txtに追記する。

User-agent: GPTBot
Allow: /

User-agent: ClaudeBot
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Applebot-Extended
Allow: /

User-agent: *
Allow: /

Sitemap: https://your-site.com/sitemap-index.xml

GoogleやBingのクローラーはデフォルトで許可されているが、AIサービスのクローラーは比較的新しく、Allow: /を明示的に書いておくと確実だ。

llms.txtの効果と限界

llms.txtを設置した効果を直接測定するのは難しい。「AIが回答を生成するときにうちのサイトを参照した」というデータは、Perplexityがソースとして表示する場合や、ChatGPTのブラウジング機能経由のアクセスがサーバーログに残る場合以外、把握しにくい。

効果が期待できる経路:

  • Perplexity・Bing Copilot・ChatGPT(ブラウジング機能あり)がリアルタイムでサイトを参照する場合
  • AIサービスがllms.txtを使ってサイトのインデックスを事前に構築する場合

現時点で確認されている効果は限定的だが、設置コストは低く(上記のコードを追加するだけ)、LLMOへの対応として先手を打つ意味がある。対話型AIを通じた情報流通が増えるほど、サイトがAIに認識されているかどうかの差が広がる可能性がある。

sitemapとの組み合わせ

sitemap.xmlとllms.txtは役割が異なる。

sitemap.xmlllms.txt
対象検索エンジンのクローラーAIのクローラー・言語モデル
含まれる情報URL・更新日時サイトの概要・コンテンツ一覧・説明
フォーマットXMLMarkdown
効果検索インデックスへの登録促進AI回答への引用・参照の促進

AstroではsitemapもllmsⅡtxtも自動生成できるため、両方を設置することをすすめる。sitemapの設定についてはAstroでSEO・構造化データを自動化するで解説している。

このメディアサイトのAI最適化の全体的な取り組みについては個人でAIメディアを作る全体像も参照してほしい。

まとめ

llms.txtは設置コストが低く、AIに見つかるサイトを作る取り組みとして今すぐ始められる施策だ。Astroを使っているなら、コンテンツコレクションから動的生成するコードを追加するだけで、記事が増えるたびに自動更新される状態になる。sitemap.xml・robots.txt・structured dataと合わせてセットで整備することで、検索エンジンとAI両方への最適化が完成する。

よくある質問

llms.txtとは何ですか

AIのクローラーや言語モデルがサイトの内容を効率よく理解できるよう、サイトの概要・ページ一覧・主要コンテンツへのリンクをシンプルなMarkdown形式でまとめたテキストファイルです。/llms.txtのURLに設置し、AIが参照できるようにします。

llms.txtを設置するとSEOに効果がありますか

Googleの検索順位に直接影響するものではありません。ChatGPT・Perplexity・Claudeなどの対話型AIが回答を生成するときにサイトの情報を参照しやすくなる、LLMO(大規模言語モデル最適化)の施策です。SEOとLLMOは補完関係にあります。

robots.txtとllms.txtの違いは何ですか

robots.txtはクローラーにアクセスを許可・禁止するファイルで、検索エンジン向けです。llms.txtはAIにサイトの内容を伝えるファイルで、アクセス制御ではなく情報提供が目的です。両者は役割が異なり、両方設置することで効果が高まります。

Astroでllms.txtを自動生成するにはどうすればいいですか

Astroのコンテンツコレクションを使えば、ビルド時に全記事の一覧からllms.txtを動的生成できます。src/pages/llms.txt.tsというファイルを作り、getStaticPathsで全記事を取得してMarkdown形式で出力するコードを書きます。