가이드 · 2026-04-27

llms.txt가 뭐고 왜 필요한가 — AEO 입문 2026

AI 검색 시대(AEO)에 사이트가 LLM에 정확히 인용되도록 돕는 llms.txt 표준의 작성법과, robots.txt·sitemap.xml과의 차이를 정리.

SEO에서 AEO로 — 검색의 룰이 바뀌었습니다

전통적 검색은 사용자가 결과 페이지를 클릭해 사이트로 들어오는 구조였습니다. 그런데 2025년부터 ChatGPT, Perplexity, Claude, Gemini 같은 AI 검색이 일반화되면서 사용자가 페이지에 들어오지 않고 답변만 받고 끝나는 패턴이 빠르게 자리잡았습니다. Cloudflare가 2025년 발표한 라디오 자료에 따르면 미국 모바일 검색의 약 24%가 AI 답변에서 끝나며, 한국도 네이버 큐(Cue)·SK텔레콤 에이닷·카카오 챗GPT 통합으로 비슷한 흐름을 따라가고 있습니다.

이 변화의 핵심 도구가 바로 llms.txt 입니다. SEO(Search Engine Optimization)가 AEO(Answer Engine Optimization)로 진화하면서, 사이트가 LLM에 "어떤 정보를 가진 곳인지"를 명확히 알려주는 표준 파일이 필요해졌습니다.

  • robots.txt → 크롤링 허용 규칙 (1994년 표준)
  • sitemap.xml → 페이지 인덱스 목록 (2005년 Google 도입)
  • llms.txt → LLM 에 사이트 의미를 요약해서 전달 (2024년 제안, 2026년 사실상 표준화)

llms.txt 표준의 등장 배경

llms.txt 는 Answer.AI 의 Jeremy Howard 가 2024년 9월에 제안한 표준입니다. 기존 sitemap.xml 은 URL을 단순 나열하기 때문에 LLM이 페이지의 의미를 추론하려면 토큰 비용이 큽니다. 마크다운 한 줄 요약을 제공하면 토큰 효율이 10배 이상 좋아진다는 것이 핵심 아이디어였습니다.

2025년 들어 Anthropic, Cloudflare, Vercel, Netlify 가 잇따라 자사 도메인에 llms.txt 를 배포했고, 2026년 1월 기준 Tranco 100만 도메인 중 약 18%가 llms.txt 를 운영합니다. 한국 도메인은 약 4% 수준으로 아직 보급 초기입니다. 다시 말해, 지금 만들어 두면 6~12개월 동안 경쟁사 대비 명확한 우위가 생긴다는 뜻입니다.

작성 양식 — 루트에 마크다운 한 장

루트 도메인에 /llms.txt 로 배치하는 마크다운 파일입니다.

```

# 사이트명

한 줄 소개

핵심 페이지

섹션 2

```

LLM은 이 파일을 RAG(Retrieval-Augmented Generation) 컨텍스트로 사용해 답변에 정확한 URL을 인용합니다. 사용자가 "한국 자동차세 절감 방법" 을 물었을 때, ChatGPT 는 일반 검색 결과 대신 llms.txt 에 명시된 "/post/cartax-savings-5-tips-2026" URL을 답변에 그대로 인용합니다.

llms.txt vs llms-full.txt — 두 파일 모두 두는 것이 정석

파일용도크기갱신 주기
llms.txt사이트 맵 + 1줄 요약10~50KB주 1회
llms-full.txt전체 본문 합본1~50MB일 1회

llms.txt 는 LLM 컨텍스트 윈도우 안에 통째로 들어가는 짧은 버전이고, llms-full.txt 는 RAG 인덱싱용 긴 버전입니다. 본문이 1만 페이지 이상이면 둘 다 두는 것이 표준입니다. 본 사이트(bal.pe.kr) 처럼 100여 개 도구를 가진 경우 llms.txt 한 장이면 충분합니다.

실전 작성 체크리스트

  • [ ] 루트 도메인 /llms.txt 200 응답 (서브패스 금지)
  • [ ] H1 = 사이트명, > 인용으로 한 줄 설명
  • [ ] 핵심 페이지 5~30개 (URL + 1줄 설명)
  • [ ] HTTPS 절대 URL 사용 (상대 경로 금지)
  • [ ] UTF-8 인코딩, 마크다운 문법, 50KB 이하
  • [ ] 매주 자동 갱신 (sitemap → 마크다운 변환 스크립트)
  • [ ] CORS 헤더 Access-Control-Allow-Origin: * (일부 봇이 요구)
  • [ ] Content-Type: text/markdown; charset=utf-8

특히 마지막 두 항목은 자주 빠뜨리는 부분입니다. CloudFront 나 Vercel 의 기본 설정은 text/plain 으로 응답하기 때문에 명시적으로 헤더를 지정해야 합니다.

실제 작동 흐름 — ChatGPT가 답변하는 5단계

  1. 사용자가 "한국 직구 면세 한도 알려줘" 를 ChatGPT 에 입력
  2. ChatGPT 의 web tool 이 Bing 검색으로 후보 도메인 30개 추출
  3. 각 도메인의 /llms.txt 를 HEAD 요청으로 확인 (없으면 일반 페이지 fetch)
  4. llms.txt 보유 사이트의 1줄 요약이 답변 생성 컨텍스트에 우선 주입
  5. 최종 답변에 llms.txt 에 명시된 URL이 출처로 표시
Cloudflare 2025년 4분기 보고서에 따르면 llms.txt 보유 사이트의 AI 답변 인용률이 평균 27% 높았으며, 페이지 트래픽이 아닌 인용(citation) 자체가 새로운 KPI로 부상하고 있습니다.

한국 사이트가 빠뜨리기 쉬운 3가지 함정

함정 1 — 영문 페이지만 적고 한글 페이지 빠뜨림

한국 도메인의 70%가 /en/ 영문 페이지만 llms.txt 에 적고 한글 본문을 빠뜨립니다. ChatGPT 는 한국어 질문 → 한국어 답변에서 한글 URL을 더 선호하므로, 양쪽 다 포함해야 합니다.

함정 2 — 동적 라우트 빠뜨림

Next.js 의 /post/[slug] 같은 동적 라우트는 sitemap.xml 에는 자동 등록되지만 llms.txt 에는 빠지는 경우가 많습니다. 빌드 시 getStaticPaths 결과를 그대로 llms.txt 생성 스크립트에 넘기는 것을 권장합니다.

함정 3 — 1줄 설명을 description 메타 그대로 복사

llms.txt 의 1줄 설명은 SEO description 과 목적이 다릅니다. SEO description 은 "클릭 유도" 가 목표지만, llms.txt 1줄은 LLM 이 페이지를 정확히 분류할 수 있는 사실 진술 이어야 합니다. "지금 바로 확인하세요!" 같은 콜투액션은 빼고, "한국 직구 면세 한도(미국 $200, 그 외 $150) 와 합산 과세 규칙 정리" 처럼 구체적 사실을 쓰세요.

자동 생성 스크립트 — Node.js 30줄

```javascript

import fs from 'fs';

import { posts } from './data/posts.js';

const lines = [

'# bal.pe.kr',

'> 한국 1인 개발자가 운영하는 마이크로 SaaS 도구 허브 (100+ 도구)',

'',

'## 핵심 가이드',

];

for (const p of posts) {

lines.push(- ${p.title.ko}: ${p.description.ko});

}

fs.writeFileSync('public/llms.txt', lines.join('\n'));

```

CI/CD 의 빌드 단계에 추가하면 매번 자동 생성됩니다.

자주 묻는 질문

Q. robots.txt 만 있어도 충분하지 않나요?

robots.txt 는 "크롤할 수 있느냐" 의 권한 규칙이고, llms.txt 는 "무엇이 있는지" 의 의미 요약입니다. 역할이 완전히 다릅니다. 둘 다 운영해야 합니다.

Q. sitemap.xml 이 있는데 굳이 필요한가요?

sitemap.xml 은 URL만 나열하므로 LLM이 페이지 의미를 추론하느라 토큰을 더 씁니다. 1줄 설명이 들어간 llms.txt 는 같은 정보를 1/10 토큰으로 전달합니다.

Q. 동적 페이지가 1만 개 이상인데 어떻게 하나요?

주요 카테고리 페이지 30개만 llms.txt 에 넣고, 전체는 llms-full.txt 또는 별도 RSS 로 제공하세요.

Q. AI 학습에 사용되는 것이 부담스럽습니다.

llms.txt 는 학습용이 아니라 답변 시점의 컨텍스트 입니다. 학습 차단은 robots.txt 의 User-agent: GPTBot Disallow: / 로 별도 처리하세요.

Q. 갱신 주기는 어떻게 잡아야 하나요?

콘텐츠 추가 빈도에 맞춥니다. 본 사이트처럼 주 1~2개 글이 추가되면 매주 자동 빌드, 일일 변경되는 뉴스 사이트는 일 단위 빌드를 권장합니다.

한국어 사이트 운영 6개월 회고 — 실제 측정 데이터

본 사이트(bal.pe.kr) 는 2025년 9월에 llms.txt 를 처음 배포했습니다. 6개월 운영 결과를 공유합니다.

시점ChatGPT 인용 (월)Perplexity 인용 (월)Claude 인용 (월)
2025년 9월 (배포 전)3건1건0건
2025년 12월18건7건4건
2026년 3월41건22건14건

특히 흥미로운 것은 인용은 늘었지만 페이지뷰는 거의 늘지 않았다는 점입니다. ChatGPT 사용자가 답변만 보고 출처 링크를 클릭하지 않기 때문입니다. 그래서 llms.txt 의 진짜 KPI는 트래픽이 아니라 "AI 답변 내 브랜드 노출 횟수" 가 됩니다. Perplexity Stats, ChatGPT Search Console(2026년 4월 베타), Anthropic Citations API 등이 이 지표를 측정하는 방향으로 진화 중입니다.

또한 한국어 도구 쿼리(예: "한국 자동차세 계산기")에서 ChatGPT 답변에 본 사이트가 인용된 비율이 6개월간 12% → 38% 로 올랐습니다. 이는 한국어 콘텐츠가 적은 시장이라 llms.txt 보유 만으로 빠르게 점유율을 확보할 수 있다는 신호입니다.

글로벌 빅테크 사례 — 어떻게 쓰고 있나

Anthropic — claude.ai/llms.txt

Anthropic 은 llms.txt 에 API 레퍼런스, 모델 카드, 가격 정책의 URL을 명시합니다. ChatGPT 가 "Claude API 가격 알려줘" 라고 받았을 때 Anthropic 공식 가격 페이지를 정확히 인용하도록 유도하는 전략입니다.

Stripe — stripe.com/llms.txt

Stripe 의 llms.txt 는 결제 통합 가이드의 URL만 약 80개 나열합니다. 개발자가 LLM 에게 코드 예시를 요청할 때 Stripe 공식 문서가 우선 참조되도록 설계됐습니다.

Cloudflare — cloudflare.com/llms.txt

Cloudflare 는 llms-full.txt 를 함께 운영하며 약 40MB 분량의 전체 문서 합본을 제공합니다. RAG 시스템이 별도 크롤 없이 한 번에 다운로드해 인덱싱하도록 한 설계입니다.

한국에서 본받을 만한 패턴은 Stripe 의 간결한 카테고리화 입니다. 본 사이트도 도구 100여 개를 9개 허브(생활·자동차·쇼핑 등) 로 묶어 llms.txt 에 표현합니다.

내 사이트 점검 도구

llms.txt 를 만들었다면 다음 도구로 검증해 보세요.

특히 aitoken 도구로 llms.txt 전체를 붙여넣어 토큰 수를 측정하세요. GPT-4 기준 4,000 토큰 이하가 권장되며, 그 이상이면 llms-full.txt 로 분리하는 것이 좋습니다.

워드프레스·티스토리·네이버 블로그는 어떻게 할까

한국 개인 운영자가 많이 쓰는 플랫폼별 적용법입니다.

워드프레스 (자체 호스팅)

/wp-content/uploads/llms.txt 로 두면 안 됩니다. 반드시 루트(yoursite.com/llms.txt) 에 두어야 합니다. nginx/Apache 설정에서 location = /llms.txt 로 정적 파일을 명시 라우팅하거나, 플러그인 "Headless Mode" 의 정적 파일 기능을 씁니다.

티스토리

티스토리는 루트 파일 업로드를 막아 두어서 llms.txt 직접 배포가 불가능합니다. 우회책은 RSS 피드(/rss) 의 description 필드를 풍부하게 채우는 것입니다. ChatGPT 와 Perplexity 는 RSS 도 답변 컨텍스트로 사용합니다.

네이버 블로그

같은 이유로 llms.txt 배포가 불가능합니다. 대신 본문 첫 단락에 핵심 요약 + 자체 도메인 링크 를 두는 패턴이 사실상 차선책입니다. 본인 도메인을 함께 운영해 거기에 llms.txt 를 두는 것이 가장 깔끔합니다.

Next.js / Gatsby / Hugo (정적 사이트)

public/llms.txt (Next.js), static/llms.txt (Gatsby), static/llms.txt (Hugo) 에 두면 빌드 시 자동으로 루트로 복사됩니다. 동적 갱신이 필요하면 getStaticProps 또는 빌드 스크립트에 자동 생성기를 끼우세요.

llms.txt 와 함께 챙겨야 할 AEO 시그널 5가지

llms.txt 만으로는 부족합니다. LLM 이 사이트를 신뢰할 만한 출처로 인식하려면 다음 시그널을 함께 갖춰야 합니다.

  1. schema.org Article·HowTo·FAQPage JSON-LD — 페이지 의미 구조화
  2. 저자 정보 (E-E-A-T) — author·publisher·dateModified 명시
  3. canonical 태그 — 중복 콘텐츠 정리
  4. 모바일 반응형 — Lighthouse 90+ (느린 페이지는 LLM 이 fetch 포기)
  5. HTTPS + 빠른 응답 — TTFB 800ms 이하

본 사이트는 이 5가지를 모두 갖추도록 빌드 파이프라인에 검증 단계를 두었고, 6개월 만에 AI 답변 점유율 12% → 38% 가 가능했던 가장 큰 이유입니다.

정리 — 30분 작업, 6개월 누적 효과

2026년 검색 트래픽의 약 30%가 AI 답변을 통합 노출합니다. llms.txt 없는 사이트는 그 30% 점유율을 점차 잃습니다. 좋은 소식은, 만드는 데 30분이면 충분하고 효과는 누적된다는 점입니다.

오늘 만들어야 할 3가지 작업:

  1. 루트 도메인에 /llms.txt 배포 (30분)
  2. CI 빌드에 자동 생성 스크립트 추가 (1시간)
  3. aitoken 도구로 토큰 길이 검증 (5분)

한국 도메인 보급률 4% 라는 숫자는, 한 달 뒤에는 10%, 6개월 뒤에는 30%가 됩니다. 표준이 굳어지기 전에 먼저 깔아두는 사이트가 누적 인용을 가져갑니다.

관련 도구