コラム一覧へ戻る
COLUMN

Shopifyにllms.txtを設置する方法|Cloudflare Workerでルート直下に公開する手順【AI時代の実務設計シリーズ】

AI検索が広がる中で、Webサイトの情報をAIにどう伝えるかが重要になり始めています。 その一つの方法が、AI向けのサイト構造ファイル llms.txt です。

  • llms.txt は AI向けのサイト構造説明ファイル
  • Shopifyはルート直下ファイルを置けない
  • Cloudflare Workerで /llms.txt を返す方法がシンプル

この記事では、Shopifyサイトに llms.txt を設置する方法として、 Cloudflare Workerを使った実装方法と実際にハマったポイントを解説します。


※今回の方法は、ドメインのネームサーバーをCloudflareに設定していることが前提になります。
Cloudflare WorkerはCloudflareのエッジでリクエストを処理する仕組みのため、DNSがCloudflareを経由していない場合は動作しません。

最近は ChatGPT や Claude などのAI検索を通じて、 Webサイトの情報が引用されるケースが増えています。

その中で少しずつ注目されているのが

AI向けのサイト構造ファイル「llms.txt」

です。

今回は Shopifyで運用しているサイトに llms.txt を設置する方法を紹介します。

実際に公開しているファイルはこちらです。

https://www.exal.li/llms.txt

llms.txtとは

llms.txt は、 AI向けのサイト構造説明ファイルです。

検索エンジン向けには

  • robots.txt
  • sitemap.xml

がありますが、 llms.txt はそれに近い役割を持ちます。

AIに対して

  • このサイトは何のサイトか
  • どのページが重要か
  • どこを読むと理解できるか

といった情報を整理して伝えることができます。

もちろん llms.txt がなくてもAIはサイトをクロールします。

ただし、

サイトの意味構造を先に渡しておくことで、 AIがコンテンツを理解する助けになります。

Shopifyで設置が難しい理由

Shopifyは非常に便利なECプラットフォームですが、

/llms.txt

のようなルート直下の任意ファイルを 直接配置することができません。

つまり通常のWebサイトのように

  • サーバーにテキストファイルを置く
  • そのまま公開する

という方法が使えません。

Shopifyのファイルアップロードとリダイレクトでも対応できますが、 文字コードやレスポンス制御の面で少し不安が残ります。

そこで今回は

Cloudflare Workerで /llms.txt を返す方法

を採用しました。

今回の構成

今回の構成はとてもシンプルです。

User
 ↓
Cloudflare
 ↓
Worker
 ↓
Shopify

通常のページはそのままShopifyへ流し、

/llms.txt

へのアクセスだけWorkerがレスポンスを返します。

この方法なら

  • Shopify本体を変更しない
  • 任意ファイルを公開できる
  • レスポンスヘッダーを制御できる

というメリットがあります。

Cloudflare Workerの実装

Workerのコードはシンプルです。

export default {
 async fetch(request) {

  const url = new URL(request.url);

  if (url.pathname === "/llms.txt") {

   const body = "... llms.txt 内容 ...";

   return new Response(body, {
    headers: {
     "content-type": "text/plain; charset=utf-8",
     "cache-control": "public, max-age=3600"
    }
   });

  }

  return fetch(request);

 }
};

ポイントは

  • /llms.txt のときだけレスポンスを返す
  • それ以外はShopifyへ転送

というシンプルな仕組みです。

Worker Routeの設定

Workerはコードを書いただけでは動きません。

どのURLでWorkerを動かすかを Worker Routeで設定します。

今回公開しているURLはこちらです。

https://www.exal.li/llms.txt

実際にハマったポイント

wwwあり / wwwなし のドメイン問題

今回一番ハマったのは、 wwwあり / wwwなし のドメインの扱いでした。

Cloudflare Worker自体は正常に動いていたのですが、 独自ドメインでアクセスすると404になるケースがありました。

原因は ShopifyのPrimary domain設定 でした。

今回のサイトでは Shopify のPrimary domainが wwwなしドメインに設定されており、

example.com

へのアクセスは Shopify 側のルーティングが優先される状態でした。

その結果、次のような挙動になっていました。

www.example.com/llms.txt → Workerが返す
example.com/llms.txt → Shopifyの404

つまり Cloudflare Worker の問題ではなく、 Shopifyのドメイン優先設定による挙動でした。

実務上は大きな問題ではない

今回のケースでは

https://www.exal.li/llms.txt

で正常に公開できているため、 実務上は特に問題ありません。

検索エンジンやAIクローラは一般的に

  • wwwありドメイン
  • wwwなしドメイン

の両方を確認することが多く、 どちらかでアクセスできれば問題なく参照されるケースが多いです。

llms.txtを置く意味

llms.txtの役割は、 AIがサイトを理解するときの 意味構造を整理することです。

AIはまず

  • このサイトは何か
  • どのページが重要か
  • どの情報を優先して読むべきか

を理解しようとします。

llms.txt は、 そのためのAI向けサイトガイドのような存在です。

特にブランドサイトやプロジェクト型サイトでは、 AIがサイト構造を理解する入口として役立ちます。

まとめ

Shopifyサイトで llms.txt を設置するなら、 Cloudflare Workerを使う方法がシンプルでした。

  • Cloudflare Workerを作成
  • /llms.txt のレスポンスを書く
  • Worker Routeを設定
  • 公開URLで確認

Shopifyではルート直下ファイルを置けないため、 Workerによるエッジ返却はかなりきれいな解決方法です。

AI検索が広がる中で、 今後はこうしたAI向けの情報設計も重要になっていきそうです。

関連記事

顧客は「理解された」瞬間に動く — AIペルソナと一次情報ループの設計【AI時代の実務設計シリーズ】
2026.06.02 AI時代の実務設計シリーズ

顧客は「理解された」瞬間に動く — AIペルソナと一次情報ループの設計【AI時代の実務設計シリーズ】

AIに代理される買い物と、ブランドの『発見されかた』【AI時代の実務設計シリーズ】
2026.05.18 AI時代の実務設計シリーズ

AIに代理される買い物と、ブランドの『発見されかた』【AI時代の実務設計シリーズ】

ChatGPTで買い物が完結する時代に、EC担当者がいま準備すべきこと─Shopify Agentic Storefrontsと販路設計の再考【AI時代の実務設計シリーズ】
2026.05.07 AI時代の実務設計シリーズ

ChatGPTで買い物が完結する時代に、EC担当者がいま準備すべきこと─Shopify Agentic Storefrontsと販路設計の再考【AI時代の実務設計シリーズ】

コラム一覧へ戻る

Contact

Brand OSで、貴社のポテンシャルを最大限に

インターナルブランディングからエクスターナルブランディングへの流れを継続的に最適化し、ブランドとビジネスがともに進化する未来へ。

無料相談に申し込む