楽天セール開催中!ポイント最大11倍! セール会場へ

WordPress│llms.txtを出力する方法と適用範囲

llms.txtは、LLMやエージェント向けにサイトの概要と資料へのリンクをMarkdownで示す提案です。

LMS教材の規格や、robots.txtのUser-agent・Disallowを記載するファイルではありません。

目次

著者

WEB制作をしているデジタルノマド
WordPressのカスタマイズが好きで、色々と自作しています。

WordPressのカスタマイズに困ったらご相談ください!

小さな案内ファイルから作る

以下はサイトのホーム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.txthttps://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は提案段階の仕様のため、最新は公式の提案ページで確認してください。

  • URLをコピーしました!

内部SEOを本格的に見直すなら

WordPressのSEO対策

内部構造の調査は¥30,000〜、継続的なSEO対策は月額 ¥50,000〜(税込・最低6ヶ月)。専任のコンサルタントが定期ミーティングで施策を進めます。

WAZAの有料記事のサブスクリプションも開始しました。

サービス

Service

WordPressサイトのSEO対策のサービスに関心がありましたら、ぜひ詳細をご覧ください。

目次