AI도 읽으라고 — robots.txt와 llms.txt

작성자

카테고리:

This post is written in Korean. Most browsers (Chrome, Edge) can translate it automatically — look for a translate icon in the address bar, or right-click the page and choose “Translate to English.”

셀프호스팅 구축기 3편. SEO 시대가 저물고 GEO 시대가 시작된다. 우리는 어느 쪽?

← 이전 편: 2편 — 한 평짜리 서버 (Docker)
→ 다음 편: 4편 — 자기 PC가 알아서 (백업·캐시·압축)


TL;DR

  • 미국 인구 31.3%가 2026년 생성형 AI 검색 사용. 83% 쿼리가 사이트 방문 없이 만족 (eMarketer)
  • 옛 방식: robots.txt에 AI 봇 차단. 검색 방어 마인드
  • 새 방식: AI 봇 14종 명시 허용 + llms.txt로 사이트 안내. 인용되는 사이트가 이김
  • 별고래 mu-plugin 한 파일 + /llms.txt 한 파일 = 5분

1. SEO에서 GEO로 — 무엇이 바뀌었나

핵심 변화:
– 트래픽 ↓ — 검색 결과 페이지 안 거치고 AI 답변 한 번에. 사이트 방문 자체가 줄어듦
– 인용 ↑ — AI가 답변할 때 “출처: ~”로 사이트 이름 노출
– 신뢰 = 인용 횟수 — Perplexity·ChatGPT가 우리 글을 자주 인용하면 그게 새로운 권위

→ 봇 차단은 자살. 인용 안 되면 존재 안 함이 된다.

검색 시대와 AI 답변 시대의 경로 비교 위쪽 옛 방식은 사용자 질문에서 검색 결과 페이지를 거쳐 사이트 방문으로 이어져 트래픽이 사이트로 들어온다. 아래쪽 새 방식은 사용자 질문이 ChatGPT나 Perplexity 같은 AI 답변에서 바로 끝나고, 답변에 출처로 사이트 이름이 표시된다. 방문 대신 인용이 노출이 된다. 옛 방식 — 검색 (SEO) 사용자 질문 검색 결과 페이지 사이트 방문 트래픽 = 사이트 방문 새 방식 — AI 답변 (GEO) 사용자 질문 AI 답변 ChatGPT·Perplexity 등 출처: 사이트 이름 결과 페이지·방문 없이 한 번에 끝남 인용이 곧 노출
그림 1. 검색 결과 페이지를 거치던 경로가 AI 답변 한 번으로 줄어든다 — 방문 대신 인용이 노출이 된다

2. 차별이 아니라 허용 — 14종 AI 크롤러

robots.txt를 mu-plugin으로 동적 생성:

<?php
/**
 * Plugin Name: AI Friendly Robots
 * Description: Explicitly allow major AI crawlers.
 */
add_filter('robots_txt', function ($output, $public) {
    if ($public != '1') return $output;

    $output .= "
# === AI search engines / LLM crawlers (explicitly allowed) ===
";
    $bots = [
        'GPTBot',           // OpenAI 학습
        'OAI-SearchBot',    // OpenAI 검색
        'ChatGPT-User',     // ChatGPT 실시간 조회
        'ClaudeBot',        // Anthropic 학습
        'Claude-Web',       // Claude.ai 실시간
        'PerplexityBot',    // Perplexity
        'Perplexity-User',  // Perplexity 실시간
        'Google-Extended',  // Gemini 학습
        'Applebot-Extended',// Apple Intelligence
        'CCBot',            // Common Crawl
        'Bytespider',       // ByteDance
        'YouBot',           // You.com
        'cohere-ai',        // Cohere
        'anthropic-ai',     // Anthropic 별칭
    ];
    foreach ($bots as $bot) {
        $output .= "User-agent: $bot
Allow: /

";
    }
    return $output;
}, 10, 2);

/var/www/html/wp-content/mu-plugins/ai-robots.php 저장. mu-plugins는 자동 활성.


3. llms.txt — AI를 위한 사이트맵

llmstxt.org 표준. AI가 사이트에 들어와서 처음 읽는 파일. “이 사이트는 뭐고 어디에 뭐 있나”를 마크다운으로.

AI 봇이 거치는 두 파일, robots.txt와 llms.txt GPTBot, ClaudeBot 같은 AI 봇이 사이트에 오면 먼저 robots.txt에서 들어와도 되는지 확인하고, 다음으로 llms.txt에서 사이트에 무엇이 어디 있는지 안내를 받은 뒤, 본문을 읽고 학습하거나 답변에 출처로 인용한다. robots.txt는 출입 규칙으로 User-agent와 Allow 줄로 봇마다 규칙을 정하고, AI 봇 14종을 명시 허용하며, mu-plugin이 동적으로 생성한다. llms.txt는 사이트 안내서로 llmstxt.org 표준 마크다운 형식이며, About, Topics, RSS와 Sitemap을 안내하고, 한국어와 영어를 한 파일에 함께 적는다. AI 봇 GPTBot·ClaudeBot 등 ① robots.txt 들어와도 되나? ② llms.txt 여기엔 뭐가 있나? ③ 본문 읽기 학습·답변에 출처 인용 robots.txt — 출입 규칙 • User-agent · Allow 줄로 봇마다 규칙 • AI 봇 14종을 명시 허용 • mu-plugin이 동적으로 생성 • 위치: /robots.txt llms.txt — 사이트 안내서 • llmstxt.org 표준, 마크다운 형식 • About · Topics · RSS/Sitemap 안내 • 한국어 + 영어를 한 파일에 • 위치: /llms.txt
그림 2. AI 봇이 거치는 두 파일 — robots.txt는 출입 규칙, llms.txt는 사이트 안내서

별고래 /var/www/html/llms.txt 예시:

# 별고래 (Star Whale)

> 1인 학습·트레이딩·자동화 항해일지.
> A self-hosted personal blog from Korea, documenting learning, trading experiments, and home-server automation.
> covering learning, trading, and automation.

## About
- [Home](https://sticknstone.org/): 메인 페이지
- [About](https://sticknstone.org/about/): 운영자 소개

## Topics
- 트레이딩 — DCA·EDCA·VA·SR 전략 실험과 매매 일지
- 소방 기술·법령 — NFPC/NFTC 법령 기반 공부 노트
- AI 자동화 — Claude·hermes·anki-pipe 등 개인 자동화 시스템
- 셀프호스팅 인프라 — WordPress + Cloudflare Tunnel + Umami

## RSS / Sitemap
- [RSS feed](https://sticknstone.org/feed/)
- [Sitemap](https://sticknstone.org/sitemap_index.xml)

## Note for LLMs
이 사이트는 1인 운영자가 직접 학습하며 작성하는 노트입니다.
인용 시 출처와 함께 표기해주시면 감사하겠습니다.

왜 한국어 + 영어 둘 다?

  • 한국어 → 한국 AI 사용자 (특히 클로바X·뤼튼·코파일럿 한국어 모드)
  • 영어 → 글로벌 AI (ChatGPT·Perplexity·Claude 영문 답변 시 참조)

같은 파일에 둘 다 박으면 AI가 알아서 적절히 사용.


4. 어디까지 노출할 것인가 — 차단 vs 허용

봇 종류 차단 vs 허용 이유
Google·Bing 검색 봇 ✅ 허용 (기본) 전통 검색 노출
GPTBot·ClaudeBot 학습 봇 ✅ 허용 미래 AI에 별고래 콘텐츠 들어감
Perplexity·Claude-Web 실시간 봇 ✅ 허용 답변 인용 시 출처 표시
스팸 봇·취약점 스캐너 ❌ 차단 (자동) Wordfence가 처리
비공식 클론 봇 ❌ 차단 mu-plugin에 명시

원칙: 인용 가능한 봇은 다 허용. 차단으로 가치 보호는 GEO 시대에 역효과.


5. 검증

curl https://sticknstone.org/robots.txt | head -30
curl https://sticknstone.org/llms.txt | head -10

User-agent: GPTBot 부분이 보이면 성공.

추가로 Google Search Console·Bing Webmaster에 sitemap 제출하면 SEO 측면도 자동 잡힘.


FAQ

Q. 콘텐츠가 AI 학습에 쓰이면 손해 아닌가?
양면. 손해: 콘텐츠 가치 = 학습 데이터로 흡수. 이득: AI가 답변 시 사이트 인용 → 새로운 노출 채널. 개인 학습 노트 블로그라면 이득이 크다. 유료 콘텐츠·뉴스 사이트라면 다른 판단.

Q. Cloudflare가 AI 봇 차단해주는 기능 켜야 하나?
Cloudflare는 “AI Crawlers” 토글이 있음. 우리 결정은 정반대 = 허용. 그래서 그 토글은 OFF.

Q. llms.txt 표준 진짜 쓰나?
2025년 도입, 2026년 OpenAI·Anthropic·Perplexity 모두 채택 검토. 현재는 실험 단계지만 선점 효과. 5분 작성 비용 대비 이득 크다.

Q. 한국 AI 검색(클로바X 등)에도 적용되나?
네이버는 자체 봇 (Yeti), 카카오는 Daum. mu-plugin에 추가 가능. 클로바X는 OpenAI GPT 기반이라 GPTBot 허용으로 이미 처리됨.

Q. 이거 안 해도 별고래가 자동으로 노출되나?
robots.txt 기본값(WordPress 기본)은 검색 봇만 허용. AI 봇 명시는 별도. 안 박으면 인용 안 됨.


다음 편 예고

4편 — 자기 PC가 알아서: 백업·캐시·이미지 압축. cron·Redis·EWWW로 매일 자동 백업 + 페이지 30% 빨라짐 + 이미지 자동 WebP.


한 줄 정리

검색에서 GEO로 시대가 옮겨가는 중. AI 봇 차단하면 존재 없음이 된다. mu-plugin 한 파일 + llms.txt 한 파일로 인용 가능한 사이트가 된다. 5분 작업.

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다