本文へスキップ
SEO とクローラー

WordPressのllms.txt:正体、設置方法、そして本当に意味があるのか

WordPressにllms.txtを設置する3つの方法と、AI企業が実際にそれを読んでいるのかについて、根拠が示していることを正確に整理します。

公開

llms.txtは、ドメインのルート(https://example.com/llms.txt)に置く、ただのマークダウンファイルです。主要なページを1行の説明付きで並べ、言語モデルがサイト全体のナビゲーションをクロールせずに有用なコンテンツへ辿り着けるようにします。これは標準ではなく提案であり、このファイルを読んでいる、あるいはそれに基づいて動作していると公に認めた大手AI事業者はありません。

この2つの側面はどちらも重要です。フォーマットは実在し、仕様も明確で、公開まで20分ほどしかかかりません。一方で効果は未証明であり、これをめぐって今売られているものの多くは、その点について正直ではありません。

ファイルの実際の中身

提案されているフォーマットは、形の決まったマークダウンです。サイト名のH1、任意の引用ブロックによる概要、続いてリンクの箇条書きを含むH2セクション。各リンクにはコロンのあとに短い説明を添えます。「Optional」という名前のセクションは、文脈に余裕がないときは飛ばしてよい内容を示します。

# Odie Themes

> Free WordPress tools and technically honest guides for theme
> and image configuration problems.

## Guides

- [Why WordPress images look blurry after upload](https://example.com/guides/wordpress-image-blurry-after-upload): Why the 2560px cap creates a -scaled file and how to raise or disable it.
- [WordPress llms.txt](https://example.com/guides/wordpress-llms-txt): What the file is, how to add one, and what it does not do.

## Tools

- [Robots.txt generator](https://example.com/tools/wordpress-robots-txt-generator): Build a robots.txt with correct AI crawler rules.

## Optional

- [About](https://example.com/about): Who runs the site.

知っておく価値のある仕様はこれで全部です。リンクは絶対URLにしてください。説明は1文で、宣伝文句ではなく事実を書きます。読み手が機械であることが大前提なので、飾り立てた形容詞は、節約しようとしていたトークンを浪費するだけです。

llms-full.txtという、コンテンツのマークダウン全文を1ファイルにまとめる関連する慣習も見かけます。こちらははるかに重く、llms.txt以上に根拠がありません。特別な理由がない限り、手を出さないでください。

正直なところ

OpenAI、Anthropic、Google、Perplexityのいずれの公開ドキュメントにも、自社のクローラーや検索システムがllms.txtを利用しているという記述はありません。Googleは検索で使っていないと公に示しています。サイト運営者がサーバーログでこのファイルへのリクエストを目にすることはありますが、取得されたことは、その内容が何らかの回答に影響したことの証拠にはなりません。ボットが当てずっぽうにファイルの有無を探ることはよくあります。

そこで、目にする主張は慎重に扱ってください。

見かける主張実際
「llms.txtはAI時代の新しいrobots.txtだ」誤り。robots.txtは文書化され遵守されているが、llms.txtは提案にすぎない。
「llms.txtを追加するとGoogleの順位が上がる」根拠なし。Googleは使っているとは述べていない。
「ChatGPTはあなたのllms.txtを読んでいる」OpenAIによる確認はない。
「公開コストの安いファイルだ」事実。そして、これが唯一の確かな根拠。

妥当な立場は「安上がりな将来への備え」です。静的なテキストファイルにかかるのはアップロード1回だけで、ページ表示時間はゼロ、リスクもありません。この慣習が定着すれば、すでに用意できていることになります。定着しなければ、失ったのは20分です。それは悪くない取引です。ただし、これをAI可視性の戦略として売り込ませてはいけません。

WordPressへの設置

方法1:ルートに静的ファイルを置く(推奨)

ローカルでファイルを作り、wp-config.phpindex.phpがあるのと同じディレクトリにSFTPでアップロードします。

.htaccessの既定の書き換えブロックは、実ファイルや実ディレクトリに一致しないリクエストだけを回すため、WordPressはこれに割り込みません。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

ディスク上に実在するllms.txt!-fの条件を満たさないので、Apacheが直接配信し、PHPは動きません。try_files $uri $uri/ /index.phpを使うNginx構成でも同じ挙動になります。

ひとつ注意点があります。マネージドホスティングの中には、ウェブルートへのSFTP書き込みを禁止していたり、読み取り専用のコンテナイメージからサイトを動かしていたりするものがあります。その場合は方法2か3を選ぶことになります。

方法2:プラグインを使う

WordPressのプラグインディレクトリで「llms.txt」を検索してください。公開済みの投稿・固定ページからファイルを生成するプラグインがいくつも登場していますし、SEOプラグインの機能として追加されているものもあります。頻繁に投稿するなら、手書きの一覧はすぐ古くなるので、これは本当に便利です。

ただしトレードオフは実在します。誰も読んでいると確認していないファイルを自動化するために、プラグインと設定画面と更新対応を増やすことになります。自動生成される一覧は、全投稿を抜粋付きで並べてしまいがちで、長くて区別のつかないファイルになります。このフォーマットが目指した「厳選された見取り図」の正反対です。プラグインを使うなら、出力される内容を間引いてください。

方法3:フィルターでテーマから配信する

ウェブルートに書き込めないがコードは編集できるという場合は、wp-content/mu-plugins/llms-txt.phpに小さなmu-pluginを置き、リクエストを横取りしてテーマ内のファイルを配信します。

<?php
// wp-content/mu-plugins/llms-txt.php

add_action( 'init', function () {
	$path = parse_url( $_SERVER['REQUEST_URI'] ?? '', PHP_URL_PATH );

	if ( '/llms.txt' !== $path ) {
		return;
	}

	$file = get_stylesheet_directory() . '/llms.txt';

	if ( ! is_readable( $file ) ) {
		return;
	}

	header( 'Content-Type: text/plain; charset=utf-8' );
	readfile( $file );
	exit;
} );

functions.phpではなくmu-pluginを使うのは、テーマの切り替えやテーマ更新を越えて残るようにするためです。どうしてもfunctions.phpに書くなら、子テーマを使ってください。

本当に配信されているか確認する

思い込みは禁物です。ステータスコードとコンテンツタイプを確認します。

curl -sI https://example.com/llms.txt

期待する結果は200Content-Type: text/plainです。よくある失敗は2種類あります。

  • 200が返るのに中身が404ページ。 WordPressがリクエストを飲み込んでいます。ファイルが思っている場所にないか、プラグインがそのルートを横取りしています。
  • Content-Type: text/htmlが返る。 テーマを通してレンダリングされています。中身を心配する前にヘッダーを直してください。

そのうえでブラウザーでURLを開き、実際に読んでみてください。リンクが404になっていたり、サイトがHTTPSなのにhttp://を指していたりしたら修正します。壊れた見取り図は、見取り図がないより悪いからです。

いまAIクローラーを実際に制御しているもの

AIシステムのサイトの扱いに影響を与えたいのが本当の目的なら、文書化され、遵守され、いま現に効力を持っているファイルはrobots.txtです。GPTBot、ClaudeBot、PerplexityBot、CCBot、Google-Extendedはいずれも挙動が公開された名前付きのユーザーエージェントであり、そもそもページを取得してよいかどうかをrobots.txtが決めています。

こちらが、実際の仕組みに裏打ちされたレバーです。robots.txtジェネレーターを使えば、書式を推測せずにAIクローラーごとの許可・拒否を明示できます。まずそこを正しくしてから、安上がりで見込みの薄い追加要素としてllms.txtを置きましょう。

やってはいけないこと

robots.txtでAIクローラーをブロックしながらllms.txtを公開しない。 これは意図せず起きます。一方のファイルがモデルを招き入れ、もう一方がドアを閉ざしている状態です。勝つのはドアのほうです。

llms.txtをサブフォルダに置かない。 この慣習はルート直下限定です。/blog/llms.txtにあるファイルは、誰も探しにこないファイルです。

サイトマップ全体を貼り付けない。 汎用の抜粋がついた400本のリンクは、厳選された見取り図ではなくクロールのゴミ捨て場であり、このフォーマット唯一の目的を台無しにします。多くのサイトでは、本当に有用な20〜50ページが適切な規模です。

これのために本来の仕事を遅らせない。 表示速度、きれいなHTML、正確な構造化データ、そして実際に引用されるコンテンツは、効果があるとわかっています。llms.txtは効果があるとわかっていません。労力の順番はそれに従って決めてください。

FAQ

よくある質問

WordPressにおけるllms.txtとは何ですか?

サイトのルートに置く、ただのマークダウンファイルです。yoursite.com/llms.txt でアクセスでき、役に立つページを1行の説明付きで一覧にします。言語モデルがこれを読めば、ナビゲーションや広告、Cookieバナーをクロールせずにコンテンツの見取り図を得られる、という発想です。

AI企業は実際にllms.txtを読んでいますか?

OpenAI、Anthropic、Google、Perplexityのいずれからも、llms.txtを取得している、あるいは利用しているという公式な表明はありません。サーバーログにこのファイルへのリクエストが記録されることはありますが、リクエストがあることと、その内容が回答に影響していることは別物です。順位向上が実証されているという主張は、根拠のない宣伝文句だと考えてください。

WordPressサイトのどこにllms.txtを置きますか?

ドメインのルート、つまりrobots.txtと同じ場所です。URLはサブフォルダなしの yoursite.com/llms.txt になります。SFTPで、WordPressのindex.phpと同じ階層にアップロードしてください。WordPressの書き換えルールは、既存のファイルに一致しないリクエストだけを通すため、実ファイルはそのまま配信されます。

llms.txtとrobots.txtは同じものですか?

違います。robots.txtは確立された慣習で、GPTBot、ClaudeBot、PerplexityBotといったAIクローラーが文書化のうえ遵守しており、そもそもページを取得してよいかどうかを制御します。llms.txtは批准されていない提案で、何を読むとよいかを示すものです。片方はいま効力があり、もう片方は見込みの話です。

llms.txtを追加するとSEOや検索順位に効果がありますか?

Googleの順位に影響するという根拠はなく、Google自身もこのファイルを使っているとは述べていません。公開のコストがほぼゼロなので、追加する妥当な理由は「安上がりな将来への備え」であって、測定可能な効果ではありません。表示速度、構造化データ、コンテンツの質を後回しにしてまで取り組むものではありません。

llms.txtはプラグインと静的ファイルのどちらで用意すべきですか?

主要ページがめったに変わらないなら静的ファイルにしてください。PHPの実行が一切増えず、壊れようがありません。頻繁に投稿していて一覧を自動更新したいならプラグインを使います。ただしプラグインは、誰も読んでいると確認していないファイルのために依存関係とオーバーヘッドを増やすので、まずは静的ファイルから始めるのが妥当です。