AI検索の時代が来ています。ChatGPTのウェブ検索、Perplexity、Google AI Overviews——ユーザーがAIを通じて情報を得る機会が急増する中、「AIにあなたのサイトを正しく理解してもらう」ことの重要性が高まっています。

そこで登場したのがllms.txtです。robots.txtがクローラーに「このページはクロールしていい/ダメ」を伝えるファイルだとすれば、llms.txtはAIに「このサイトにはこういう情報があり、詳しくはここを読んで」と道案内するファイルです。ただし、置けばAIの回答に引用されるという裏付けは無く、当サイトのアクセスログではAIのクローラーは3日半のあいだ一度も読みに来ませんでした。どんなサイトなら置く価値があるかも含めて整理します。

この記事では、llms.txtのフォーマット仕様、記載すべき情報、静的ファイルと動的生成の判断基準、主要フレームワークでの実装コードまで、徹底的に解説します。

1. llms.txtとは何か

llms.txtは、Webサイトのルートディレクトリに配置するプレーンテキストファイル(Markdown形式)で、LLM(大規模言語モデル)にサイトの概要・構造・コンテンツ一覧を伝えることを目的としています。

基本情報

項目内容
ファイル名llms.txt
配置場所ドメインのルート(https://example.com/llms.txt)で、仕様 v2 ではサブパス(/docs/llms.txt)にも置け、その配下のページを受け持つ
フォーマットMarkdown(プレーンテキスト)
文字コードUTF-8
提唱者llmstxt.org(Jeremy Howard他)
標準化状況デファクト標準(RFC等の正式規格ではない)で、現行は v2(2026年8月改訂)
主な読み手利用者を手伝う途中で情報が必要になったAIエージェント(仕様の想定、特にコーディングエージェントがドキュメントをたどる用途)で、GPTBot などの学習・検索用クローラーが読むという各社の公式な表明は見当たらない

一言で言うと

robots.txt = 「入るな」 / llms.txt = 「うちはこういうサイトです」

robots.txtがアクセス制御(許可/拒否)のファイルなのに対し、llms.txtはサイトの内容説明(自己紹介)のファイルです。両者は競合しません——むしろ併用するものです。

2. なぜ必要なのか——robots.txtとの違い

「sitemapとmetaタグがあればAIもサイトを理解できるのでは?」と思うかもしれません。確かにその通りですが、llms.txtには固有のメリットがあります。

robots.txt / sitemap.xml / llms.txt の役割比較

ファイル目的対象内容
robots.txtクロールの許可/拒否全クローラーAllow/Disallow ルール
sitemap.xmlページ一覧の提供検索エンジンURL・更新日・優先度
llms.txtサイトの内容説明LLMクローラー概要・構造・コンテンツ要約

llms.txtが必要な3つの理由

理由1:LLMはサイト全体を効率的にクロールできない

Googlebotは何十億ページもクロールして大規模なインデックスを構築しますが、LLMのクローラーはそこまで網羅的にクロールしません。llms.txtを置くことで、「このサイトで最も重要なコンテンツはこれです」とAIに効率的に伝えられます。

理由2:AIの回答で引用されやすくなる——とよく言われるが、裏付けは無い

「llms.txtを置けばChatGPTやPerplexityに引用されやすくなる」と説明されることがありますが、それを示すデータや各社の公式な表明は見当たりません。Google は AI Overviews・AI Mode に出るために AI 用のテキストファイルは要らないと明記しています(Google 検索セントラル)。llms.txtは引用を増やす仕掛けというより、エージェントが必要な情報へ最短でたどり着くための目次と考えるのが実態に近く、9章の実測で確かめます。

LLMOの詳しい解説は「LLMOとは?」をご覧ください。

理由3:sitemap.xmlにはないメタ情報を伝えられる

sitemap.xmlはURL一覧に過ぎません。llms.txtでは以下の情報も伝えられます。

  • サイトのテーマ・専門分野
  • 各コンテンツの要約・カテゴリ
  • サイトの更新頻度・規模
  • 多言語対応の有無
  • 連絡先情報

3. フォーマット仕様——何をどう書くか

llms.txt のフォーマット構造

H1サイト名 → 引用ブロック概要 → H2セクション群

1. ヘッダー 必須
# サイト名
> サイトの概要説明(1-2文)
H1とブロッククォートでサイトを自己紹介
2. セクション一覧 推奨
## セクション一覧
- [セクション名](URL): 説明
- [セクション名](URL): 説明
H2でグループ分け+リンクリスト
3. コンテンツ一覧 推奨
## コンテンツ一覧
- [タイトル](URL): 要約 [カテゴリ]
- [タイトル](URL): 要約 [カテゴリ]
 ... (全コンテンツを列挙)
各記事の1行要約でAIの理解を助ける
4. カテゴリ / タグ 任意
## カテゴリ / タグ体系
- カテゴリslug: 説明
- カテゴリslug: 説明
情報構造を明示できる
5. サイト情報 推奨
## サイト情報
- URL: https://example.com
- Sitemap: .../sitemap.xml
- Contact: email@example.com
運営者と正規URLを示す

llms.txtはMarkdown形式で記述します。llmstxt.orgの仕様に基づくフォーマットは以下の通りです。

基本構造

# サイト名

> サイトの概要説明。1〜3文程度で、サイトのテーマ・対象・提供する価値を簡潔に伝える。

## セクション名1

- [ページタイトル](URL): ページの要約説明

## セクション名2

- [ページタイトル](URL): ページの要約説明
- [ページタイトル](URL): ページの要約説明

フォーマットのルール

要素Markdown記法役割
H1見出し# サイト名サイトの正式名称(ファイル内に1つだけ)
引用ブロック> 概要テキストサイトの概要説明(H1直後に配置)
H2見出し## セクション名コンテンツのグループ分け
リストリンク- [タイトル](URL): 説明個別コンテンツの情報

実際の記述例

# My Tech Blog

> My Tech Blog is a software engineering blog covering web development, cloud infrastructure, and AI tools. Updated weekly with practical tutorials and comparisons.

## Main Sections

- [Articles](https://example.com/articles): 50+ in-depth technical articles
- [Tutorials](https://example.com/tutorials): Step-by-step coding tutorials

## Popular Articles

- [React vs Vue in 2026](https://example.com/articles/react-vs-vue): A detailed comparison of React and Vue.js for modern web development, covering performance, ecosystem, and learning curve.
- [Docker for Beginners](https://example.com/articles/docker-beginners): Complete guide to Docker containers for developers who have never used containerization.

## Site Information

- URL: https://example.com
- Sitemap: https://example.com/sitemap.xml
- Languages: en, ja
- Contact: admin@example.com

注意点

  • 基本は英語で書く。llms.txtの読み手はAI(LLM)であり、仕様や実例が英語で統一されているため、英語で記述するのがベストプラクティスとされる。多言語サイトの場合は英語で記述し、Languages: ja, en, es, ...のように対応言語を明記するのが推奨される。一方、単一言語のサイト(たとえばサイトのコンテンツがすべてフランス語、すべてロシア語等)であれば、サイトの言語で記述しても実用上問題ない。主要LLM(GPT、Claude、Gemini等)はほとんどの言語を高精度で処理でき、そのサイトを利用するユーザーも同じ言語で質問するため、一貫性のある応答が期待できる。
  • 文字コードは必ずUTF-8にすること。Shift-JIS等では文字化けする。
  • URLは絶対パス(https://から始まる完全なURL)を使うこと。
  • 1ファイル内のH1は1つだけ。セクション分けにはH2を使う。

4. 記載すべき情報——必須・推奨・任意

何を書くかで迷う人が多いので、優先度別に整理します。

なお、仕様(llmstxt.org)が必須としているのはH1のサイト名だけで、概要の引用ブロックもH2のリンク一覧も形式上は任意です。以下の「必須」は、この記事が「これが無いと置く意味が薄い」と考える最低限という意味です。

必須情報(これがないとllms.txtの意味がない)

情報記述場所例
サイト名H1見出し# AI Arte
サイト概要引用ブロック> AI learning platform...
主要セクションH2 + リンクリスト- [Articles](URL): 説明

推奨情報(あった方がAIの理解度が上がる)

情報なぜ必要か
全コンテンツ一覧AIがサイト全体のカバー範囲を把握できる
各コンテンツの1行要約AIがページ内容を事前に理解できる
カテゴリ/タグ体系サイトの情報構造を示す
サイトURL正規URLの明示
Sitemap URL詳細なURL一覧への誘導
対応言語多言語サイトの場合に重要
連絡先サイト運営者の身元を示す

任意情報(あれば望ましいが必須ではない)

  • 技術スタック:何で構築されているか(フレームワーク等)
  • 更新頻度:どのくらいの頻度でコンテンツが追加されるか
  • コンテンツ総数:記事数等
  • ライセンス/引用ポリシー:AIが引用していいかどうか
  • API情報:プログラマティックアクセスが可能な場合

書くべきでない情報

  • 機密情報:管理画面のURL、内部APIのエンドポイント等
  • 個人情報:必要以上の個人情報(住所、電話番号等)
  • 認証情報:APIキー、パスワード等

5. llms.txt と llms-full.txt の違い

llms-full.txtは、サイトの全文を1ファイルにまとめたものです。llmstxt.orgの仕様には含まれておらず、Mintlify などのドキュメント基盤が llms.txt と一緒に自動で出力することで広まった慣習です(Mintlify のドキュメント)。仕様 v2 はむしろ、全文を1つにまとめる代わりに各ページのMarkdown版(page.md や page.html.md)を用意し、llms.txtからリンクする形を勧めています。

ファイル内容サイズ目安用途
llms.txtサイトの概要・構造・リンク一覧1〜50KBサイト全体の「目次」
llms-full.txt全コンテンツのテキスト全文100KB〜数MBコンテンツの全文をAIに提供

llms-full.txtが必要なケース

  • 技術ドキュメント:APIリファレンスやライブラリのドキュメントなど、AIに全文を理解してもらうことで回答精度が上がるケース
  • ナレッジベース:FAQ集や用語集など、断片的に引用されることが多いコンテンツ

llms-full.txtが不要なケース

  • ブログ・メディアサイト:記事数が多く、全文を1ファイルにまとめると巨大になりすぎる。llms.txtの要約で十分。
  • ECサイト:商品情報は構造化データ(JSON-LD等)で提供する方が適切。
  • コーポレートサイト:ページ数が少なく、llms.txtだけでカバーできる。

一般的なブログやメディアサイトでは、llms.txtだけで十分です。llms-full.txtは技術ドキュメント向けと考えてください。

6. 静的ファイル vs 動的生成——どちらを選ぶべきか

静的ファイル vs 動的生成 — どちらを選ぶべきか

実装の手間と更新運用のトレードオフ

静的ファイル
public/llms.txt を直接配置
+ 実装が簡単(ファイル置くだけ)
+ サーバー負荷ゼロ
+ フレームワーク不要
- 更新を忘れると古くなる
- 記事追加のたびに手動編集
- 件数・カテゴリがズレる
向いている場合
コンテンツが少ない(10件以下)
更新頻度が低い(月1回以下)
動的生成
DBから自動生成(ルート定義)
+ 常に最新の状態
+ 記事追加で自動反映
+ 件数・カテゴリも正確
- 実装の手間がかかる
- DBアクセスが発生する
- フレームワークが必要
向いている場合
コンテンツが多い(10件以上)
更新頻度が高い(週1回以上)
迷ったら動的生成 — 「設置して終わり」にできる方が運用コスト低い

llms.txtの運用方法は大きく2つあります。

方法1:静的ファイル

public/llms.txt(または同等のパス)に直接テキストファイルを配置する方法です。

メリット:

  • 実装が最も簡単(ファイルを置くだけ)
  • サーバー負荷がゼロ
  • フレームワークなしでも動作する

デメリット:

  • コンテンツを追加・修正するたびに手動でファイルを更新する必要がある
  • 更新を忘れると古い情報がAIに伝わる
  • コンテンツ数やカテゴリ数がファイルの記載と実際のサイトでズレる

方法2:動的生成

/llms.txtへのリクエストをアプリケーションが受け取り、データベースから最新の情報を取得してテキストを動的に生成する方法です。

メリット:

  • 常に最新の情報が反映される
  • 記事を追加すれば自動的にllms.txtにも反映
  • コンテンツ数やカテゴリ名も常に正確

デメリット:

  • 実装の手間がかかる(ルート定義+コントローラー)
  • リクエストのたびにDBアクセスが発生する(キャッシュで軽減可能)
  • フレームワークが必要

判断基準

条件おすすめ
コンテンツが10件以下で滅多に増えない静的ファイルでOK
コンテンツが10件以上 or 月1回以上更新動的生成を推奨
WordPress / Laravel / Django等を使っている動的生成が容易
静的サイト(Hugo, Jekyll, Astro等)ビルド時に自動生成が理想
1人運用でメンテナンスを最小化したい動的生成(一度作れば放置できる)

結論:迷ったら動的生成。最初の実装コストはかかりますが、「設置して終わり」にできるので長期的には運用コストが低くなります。静的ファイルで始めて「更新を忘れて古い情報がAIに伝わっていた」というのが最悪のパターンです。

7. 実装方法——主要フレームワーク別コード例

ここからは、主要フレームワークでのllms.txt動的生成の実装方法を紹介します。

Laravel(PHP)

ルート定義(routes/web.php):

use App\Http\Controllers\LlmsTxtController;

Route::get('/llms.txt', [LlmsTxtController::class, 'index']);

コントローラー(app/Http/Controllers/LlmsTxtController.php):

class LlmsTxtController extends Controller
{
    public function index()
    {
        $articles = Article::published()
            ->with(['translations' => fn($q) => $q->where('locale', 'en')])
            ->orderBy('published_at')
            ->get();

        $lines = [];
        $lines[] = '# My Site Name';
        $lines[] = '';
        $lines[] = '> Site description here.';
        $lines[] = '';
        $lines[] = '## All Articles (' . $articles->count() . ')';
        $lines[] = '';

        foreach ($articles as $article) {
            $t = $article->translations->first();
            if (!$t) continue;
            $url = 'https://example.com/en/articles/' . $article->slug;
            $lines[] = '- [' . $t->title . '](' . $url . '): ' . $t->meta_description;
        }

        $content = implode("\n", $lines);
        return response($content, 200)
            ->header('Content-Type', 'text/plain; charset=utf-8');
    }
}

ポイントはContent-Type: text/plain; charset=utf-8を明示すること。これを忘れるとHTMLとして解釈される可能性があります。

Django(Python)

# urls.py
from django.urls import path
from . import views

urlpatterns = [
    path('llms.txt', views.llms_txt, name='llms_txt'),
]

# views.py
from django.http import HttpResponse
from .models import Article

def llms_txt(request):
    articles = Article.objects.filter(
        status='published'
    ).order_by('published_at')

    lines = ['# My Site', '', '> Description.', '', '## Articles', '']
    for a in articles:
        lines.append(f'- [{a.title}](https://example.com/articles/{a.slug}): {a.meta_description}')

    content = '\n'.join(lines)
    return HttpResponse(content, content_type='text/plain; charset=utf-8')

Next.js(TypeScript)

// app/llms.txt/route.ts (App Router)
import { NextResponse } from 'next/server'

export async function GET() {
  // DBやCMSからデータ取得
  const posts = await getAllPosts()

  const lines = [
    '# My Site',
    '',
    '> Description.',
    '',
    '## Articles',
    '',
    ...posts.map(p =>
      `- [${p.title}](https://example.com/posts/${p.slug}): ${p.description}`
    ),
  ]

  return new NextResponse(lines.join('\n'), {
    headers: { 'Content-Type': 'text/plain; charset=utf-8' },
  })
}

WordPress(PHP)

functions.phpまたはプラグインに追加:

// functions.php
add_action('init', function() {
    add_rewrite_rule('^llms\.txt$', 'index.php?llms_txt=1', 'top');
});

add_filter('query_vars', function($vars) {
    $vars[] = 'llms_txt';
    return $vars;
});

add_action('template_redirect', function() {
    if (!get_query_var('llms_txt')) return;

    header('Content-Type: text/plain; charset=utf-8');
    $posts = get_posts(['numberposts' => -1, 'post_status' => 'publish']);

    echo "# " . get_bloginfo('name') . "\n\n";
    echo "> " . get_bloginfo('description') . "\n\n";
    echo "## Articles (" . count($posts) . ")\n\n";

    foreach ($posts as $post) {
        $url = get_permalink($post);
        $desc = get_the_excerpt($post);
        echo "- [{$post->post_title}]({$url}): {$desc}\n";
    }
    exit;
});

WordPressの場合は、パーマリンク設定を保存し直す(リライトルールのフラッシュ)ことを忘れないでください。

静的サイトジェネレーター(Hugo / Astro等)

ビルド時に自動生成するスクリプトを書きます。

# build-llms-txt.sh (Hugo向けの例)
#!/bin/bash
echo "# My Site" > public/llms.txt
echo "" >> public/llms.txt
echo "> Site description." >> public/llms.txt
echo "" >> public/llms.txt
echo "## Articles" >> public/llms.txt
echo "" >> public/llms.txt

for file in content/posts/*.md; do
  title=$(grep '^title:' "$file" | sed 's/title: //')
  slug=$(basename "$file" .md)
  desc=$(grep '^description:' "$file" | sed 's/description: //')
  echo "- [${title}](https://example.com/posts/${slug}): ${desc}" >> public/llms.txt
done

CIパイプライン(GitHub Actions等)でビルド前に実行すれば、デプロイのたびに自動更新されます。

8. 設置後の確認と検証

llms.txtを設置したら、以下の点を確認しましょう。

基本チェックリスト

チェック項目確認方法
URLでアクセスできるかcurl https://yoursite.com/llms.txt
Content-Typeが正しいかcurl -I で text/plain; charset=utf-8 を確認
文字化けしていないかブラウザで直接開いて日本語が正しく表示されるか
リンクが正しいか記載したURLに実際にアクセスできるか
HTTPステータスが200かcurl -o /dev/null -w "%{http_code}"
robots.txtでブロックしていないかrobots.txtにDisallow: /llms.txtがないこと

動的生成の場合の追加チェック

  • 記事を1つ追加した後にllms.txtを確認:新しい記事が反映されているか
  • コンテンツ数の表示が正しいか:「All Articles (27)」の数字が実際の公開記事数と一致するか
  • 非公開記事が含まれていないか:下書きや予約投稿が表示されていないことを確認

検証ツール

llms.txtの書式を判定する公式のバリデーターはありません(2026年9月29日時点)。Chrome の Lighthouse には「agentic browsing」の監査項目として llms.txt がありますが、見ているのは取得時にサーバーエラーが出ないかだけで、置いていない(404)場合は「該当なし」になります(Chrome for Developers)。中身は次の方法で確かめます。

  • ChatGPTやClaudeに読ませる:「https://yoursite.com/llms.txt を読んで、このサイトについて教えて」と聞く
  • Markdownプレビューア:llms.txtの内容をMarkdownプレビューアに貼り付けて、構造が正しくレンダリングされるか確認
  • SEO監査ツール:一部のSEO監査ツールがllms.txtの存在チェックに対応し始めている

9. 実測:AIのクローラーは llms.txt を読みに来るか

「置けばAIに読まれる」と言われがちですが、実際に読みに来ているかは自分のサーバーのアクセスログで確かめられます。当サイト(arte.itlibra.com)も /llms.txt を動的生成で置いているので、2026年9月26日16時〜29日21時(日本時間・約3日半、全86,696リクエスト)のログを User-Agent ごとに数えました。

クローラー(User-Agent)期間中の全リクエストrobots.txtllms.txt
OAI-SearchBot(OpenAI の検索用)866200
ChatGPT-User(ChatGPT が利用者の依頼で開く)1,27520
ClaudeBot(Anthropic)502290
Claude-User(Claude が利用者の依頼で開く)438700
PerplexityBot1,086190
Googlebot2,186140
bingbot4,362210

この期間に /llms.txt を取りに来たのは3回だけで、2回はコマンドライン(curl)、1回はサイト監査ツールでした。AIのクローラーは記事を何百回も読んでいるのに、llms.txt は1回も開いていません。robots.txt は多くが確かめているので、「ファイルを見に来ない」のではなく「llms.txt を探しに来ない」ということです。

これは1つのサイトの3日半のログで、他のサイトや長い期間では違う結果になりえます。それでも、公式の説明と合わせると位置づけははっきりします。

  • Google:AI Overviews・AI Mode に出るために「新しい機械可読ファイルや AI 用のテキストファイル、マークアップを作る必要はない」と明記(AI features and your website)
  • 仕様(v2・2026年8月):llms.txt は学習より推論のとき——エージェントが利用者を手伝う途中で必要になったときに読まれる想定で、いちばん使われているのはコーディングエージェントがソフトウェアのドキュメントをたどる場面だと書いている(llmstxt.org)
  • Chrome の Lighthouse:「agentic browsing」の監査に llms.txt の項目があるが、落ちるのは取得時にサーバーエラーが出たときだけ。置いていない(404)場合は「該当なし」で、減点されない(Chrome for Developers)

置くか迷ったときの分かれ目

サイトの種類判断理由
APIやライブラリのドキュメント置く(ページごとのMarkdown版も)コーディングエージェントが実際にたどり、仕様が想定するいちばんの用途でもある
ブログ・メディア置いても損はないが、アクセスや引用の増加は期待しない当サイトのログでは、AIのクローラーは記事を直接読んでいたので、先に効くのは記事そのものの質と、robots.txt でAIのクローラーを塞いでいないこと
小さなコーポレートサイト急がないページが少なく、トップページとサイトマップで足りる

置いたなら、効果は自分のログで確かめるのが確実です。nginx や Apache の標準形式(combined)のアクセスログなら、次の1行で /llms.txt を取りに来た User-Agent を多い順に数えられます。

grep ' /llms.txt ' access.log | awk -F'"' '{print $6}' | sort | uniq -c | sort -rn

10. 実際のサイトのllms.txt事例

OpenAI・Anthropic・Google(Gemini API)は、自社の開発者向けドキュメントに llms.txt を置いています(仕様のページに記載)。導入率を示した統計は見当たらないため、下の表は傾向の目安です。

導入が進んでいるサイトの特徴

サイト種類導入率理由
AI関連サービス・ツール高いAI業界自体がLLMO意識が高い
技術ドキュメント高いAIに正しく情報を伝えたいニーズ
テックブログ中程度技術的なトレンドへの感度が高い
コーポレートサイト低いまだ認知度が低い
ECサイト低い構造化データ(JSON-LD)が優先

良いllms.txtの特徴

  • 簡潔でわかりやすい概要説明——サイトの専門分野が一読でわかる
  • 全コンテンツが要約付きで列挙——AIが全体像を把握できる
  • カテゴリ体系が明示——情報の構造がわかる
  • 動的生成——常に最新の状態

悪いllms.txtの特徴

  • サイト名と連絡先だけ——情報量が少なすぎてAIの理解の助けにならない。
  • 全コンテンツの本文をコピペ——llms.txtは「目次」であって「全文」ではない。全文はllms-full.txtの役割。
  • 古い情報のまま放置——「10 articles」と書いてあるのに実際は50記事あるなど、信頼性を損なう。
  • 機密情報が含まれている——管理画面のURLやAPIキーが書かれているケース。

FAQ

Q. llms.txtを設置しないとAIの検索結果に表示されませんか?

いいえ。llms.txtがなくてもAIはページを直接読み、回答に引用できます。Google は AI Overviews・AI Mode に出るために AI 用のテキストファイルは要らないと明記しており、当サイトのログでも、AIのクローラーは記事を何百回も読む一方で llms.txt は一度も開きませんでした。llms.txtは「置かないと損をするもの」ではなく、エージェントに道案内したいときに置く補助ファイルです。

Q. robots.txtでAIクローラーをブロックしている場合、llms.txtは意味がありますか?

robots.txtでUser-agent: GPTBot等をDisallowしている場合、そのBotはサイトをクロールしません。しかしllms.txt自体はrobots.txtのルールとは独立しています。AIが別の経路(ユーザーがURLを直接貼り付けるなど)でllms.txtにアクセスする可能性はあります。意図的にAIクローラーをブロックしている場合は、llms.txtも設置しないのが一貫性のある対応です。

Q. llms.txtはどの言語で書くべきですか?

多言語サイトなら英語、単一言語サイトならサイトの言語でもOKです。仕様や実例は英語が主流で、多言語サイトでは中立的な言語として英語が最も合理的です。ただし、コンテンツが1つの言語で完結しているサイトであれば、その言語で書いても問題ありません。主要LLMはほとんどの言語を高精度で処理でき、ユーザーもサイトと同じ言語で質問するため、一貫性のある応答が得られます。

Q. llms.txtのファイルサイズに制限はありますか?

仕様に上限はなく、「コンテキストに収まる小ささ」を保つよう書かれているだけです。目安として、当サイトの llms.txt は記事225本と講座40章を1行ずつ並べて約116KB(2026年9月29日時点)になりました。大きくなったら、1行の要約を短くする・補助的なリンクを ## Optional に回す・仕様 v2 のようにサブパスごとに llms.txt を分ける、の順で考えます。全文を渡したい場合は、ページごとのMarkdown版へのリンクにします。

Q. 更新頻度はどのくらいが適切ですか?

動的生成の場合はリクエストのたびに最新情報が返されるので気にする必要はありません。静的ファイルの場合は、コンテンツを追加・修正するたびに更新するのが理想です。最低でも月1回は確認・更新しましょう。古い情報が放置されるくらいなら、動的生成に切り替えることを推奨します。

Q. SEOに影響はありますか?

Google検索の順位には影響しません。Google は AI Overviews・AI Mode を含めて、AI用のテキストファイルやマークアップは不要で、通常のSEOの基本がそのまま当てはまると説明しています(Google 検索セントラル)。ChatGPTやPerplexityなどでの引用が増えるという裏付けも見当たりません。効果を知りたいなら、9章のように自分のアクセスログで読まれているかを確かめるのが確実です。

Q. WordPressのプラグインはありますか?

あります。llmstxt.org の一覧には、WordPress 向けに Yoast SEO と AIOSEO が llms.txt の生成機能として載っています(2026年9月29日時点)。どちらを使う場合も生成された内容を必ず確認してください。自分でfunctions.phpに数十行のコードを追加するだけでも実現できるので、プラグインなしでも十分対応可能です。