llms.txtは、LLMやエージェント向けにサイトの概要と資料へのリンクをMarkdownで示す提案です。
LMS教材の規格や、robots.txtのUser-agent・Disallowを記載するファイルではありません。
小さな案内ファイルから作る
以下はサイトのホームURL直下にllms.txtを返す例です。
WordPressのホームが/blog/なら/blog/llms.txtを対象にし、投稿ごとの末尾には追加しません。
既存の実ファイルやSEOプラグインが同じURLを提供していないことを確認します。
バックアップを取り、子テーマのfunctions.phpまたはPHPスニペットのどちらか一方へ次の例を追加します。
function waza_llms_request_matches( $uri, $method ) {
return in_array( $method, array( 'GET', 'HEAD' ), true )
&& wp_parse_url( $uri, PHP_URL_PATH ) === wp_parse_url( home_url( '/llms.txt' ), PHP_URL_PATH );
}
function waza_llms_text() {
// サイト名・説明・公開資料のURLを自分のサイトに合わせて編集します。
return "# サンプルサイト\n\n> WordPressの使い方を紹介するサイトです。\n\n"
. "## 公開資料\n\n- [トップページ](" . esc_url_raw( home_url( '/' ) ) . "): サイトの入口\n";
}
function waza_serve_llms() {
$method = $_SERVER['REQUEST_METHOD'] ?? '';
if ( ! waza_llms_request_matches( $_SERVER['REQUEST_URI'] ?? '', $method ) ) {
return;
}
status_header( 200 );
nocache_headers();
header( 'Content-Type: text/plain; charset=utf-8' );
if ( 'GET' === $method ) {
echo waza_llms_text();
}
exit;
}
add_action( 'init', 'waza_serve_llms', 20 );
内容と適用範囲
サンプルサイト名と説明を置き換え、ログアウト状態で読める資料だけを選んでリンクに追加します。
Markdown版の資料がある場合はそのURLを使い、存在しない.mdのURLを生成しないでください。
記事本文・会員情報を自動列挙しない構成なので、限定本文をこの出力へ複製する処理は含みません。
この実装は案内ファイルの出力だけであり、アクセス制御や学習拒否、AIへの採用、順位向上を保証するものではありません。
URLと公開範囲を決める
| WordPressのホーム | 案内ファイルのURL | 対象外のURL |
|---|---|---|
| https://example.com/ | https://example.com/llms.txt | 各投稿URLの末尾に付けた/llms.txt |
| https://example.com/blog/ | https://example.com/blog/llms.txt | https://example.com/llms.txt |
公開資料のリンクは、ログアウト状態で最後のURLまで開き、本文が読めることを確認します。別サービスの資料、会員限定のページ、存在しないMarkdown URLを自動的に追加しません。
案内が反映されない場合は、まずPHPがそのURLの処理を受け取っているか確認します。受け取らない構成では、同じパスの静的ファイルへ切り替えます。サイト全体のURL構造を変更する必要はありません。
確認と戻し方
対象URLへGETでアクセスし、200、text/plain、Markdown本文を確認します。
HEADでは本文がなく、通常の記事URLには影響しないことも確認します。
サーバーが存在しない.txtをWordPressへ渡さない構成では、このPHP処理に到達しないため、同じ内容の静的ファイルを設置する方法を選びます。
戻す場合は追加した関数とフックを停止し、必要に応じてそのURLのキャッシュを更新します。
隔離WordPressの実initフックから、GETの200・text/plain本文、HEADの本文なし、クエリー付きURL、ホーム配下の/blog/llms.txt、POSTと通常ページへの非適用、解除後の復帰を確認しました。PHPへ渡す検証用ルーターを使用しており、本番Webサーバーのrewrite設定や静的ファイルとの優先順位は導入先で確認してください。
仕様の根拠:llms.txtの提案。
よくある質問:WordPressでllms.txtを出力する方法
llms.txtとは、何ですか?
記事では、llms.txtはLLMやエージェント向けにサイトの概要と資料へのリンクをMarkdownで示す提案です。LMS教材の規格や、robots.txtのUser-agent・Disallowを記載するファイルではありません。
llms.txtは、どのURLに置きますか?
記事では、サイトのホームURL直下に返します。WordPressのホームが/blog/なら/blog/llms.txtを対象にし、投稿ごとの末尾には追加しません。既存の実ファイルやSEOプラグインが同じURLを提供していないことを確認します。
導入するときの手順を教えてください。
バックアップを取り、子テーマのfunctions.phpまたはPHPスニペットのどちらか一方へ記事の例を追加します。記事では、サンプルのサイト名と説明を置き換え、ログアウト状態で読める資料だけを選んでリンクに追加し、Markdown版の資料がある場合はそのURLを使い、存在しない.mdのURLを生成しないでください、としています。
llms.txtで、AIへの採用や順位向上は期待できますか?
記事では、この実装は案内ファイルの出力だけであり、アクセス制御や学習拒否、AIへの採用、順位向上を保証するものではありません。限定本文や会員情報を自動列挙しない構成で、限定本文をこの出力へ複製する処理は含みません。
公開する前に、何を確認しますか?
対象URLへGETでアクセスし、200、text/plain、Markdown本文を確認します。記事では、HEADでは本文がなく、通常の記事URLには影響しないことも確認します。公開資料のリンクは、ログアウト状態で最後のURLまで開き、本文が読めることを確認します。
サーバー側の設定で、表示されないことはありますか?
記事では、サーバーが存在しない.txtをWordPressへ渡さない構成では、このPHP処理に到達しないため、同じ内容の静的ファイルを設置する方法を選びます。本番Webサーバーのrewrite設定や静的ファイルとの優先順位は導入先で確認してください。
元に戻すには、どうしますか? 検証の範囲は?
戻す場合は追加した関数とフックを停止し、必要に応じてそのURLのキャッシュを更新します。記事では、隔離WordPressのinitフックから、GETの200・text/plain本文、HEADの本文なし、クエリー付きURL、ホーム配下の/blog/llms.txt、POSTと通常ページへの非適用、解除後の復帰を確認しました(PHPへ渡す検証用ルーターを使用)。llms.txtは提案段階の仕様のため、最新は公式の提案ページで確認してください。



