Amazonで商品を見る セール会場へ

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の提案。

  • URLをコピーしました!

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

WordPressのSEO対策

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

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

サービス

Service

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

目次