어느 날 Evil Martians에 새 클라이언트가 생겼습니다. 그런데 그 클라이언트가 이 에이전시를 찾아낸 건 구글 검색이 아니었습니다. 창업자가 Claude에게 직접 물었고, Claude가 그들을 추천했습니다. 이 팀은 곧 한 가지 질문을 던졌습니다. “우리가 뭘 잘한 거지?”

Evil Martians 팀이 자신들의 사이트를 LLM 친화적으로 만든 6가지 기법과, 실제 서버 로그 분석을 통해 “효과 없음”으로 판명된 8가지 기법을 공개했습니다. 효과 있는 기법보다 없는 것의 목록이 더 읽을 만합니다.
출처: Making your site visible to LLMs: 6 techniques that work, 8 that don’t – Evil Martians
AI가 사이트를 읽는 방식은 사람과 다르다
사람은 화면을 보고, 탐색 메뉴를 클릭하고, 필요한 정보를 찾습니다. LLM은 그렇지 않습니다. 누군가 Perplexity에게 “아키텍처를 잘 아는 개발 에이전시 추천해줘”라고 물으면, LLM은 이미 크롤링해 둔 내용에서 답을 끌어냅니다. 또는 누군가 URL을 ChatGPT에 붙여 넣으면, 그 모델이 페이지에서 텍스트를 추출합니다. 이 추출 과정이 생각보다 엉망입니다.
전형적인 HTML 페이지는 전체 데이터 중 약 80%가 내비게이션, 스크립트, 광고 같은 노이즈로 채워져 있습니다. 실제 콘텐츠만 담은 마크다운 버전과 비교하면 토큰 수가 5배까지 차이 납니다. 제한된 컨텍스트 창을 가진 LLM 입장에선, 노이즈가 많은 HTML 페이지는 그냥 포기할 수도 있는 대상입니다.
Evil Martians가 이 문제를 해결하기 위해 도입한 접근의 핵심은 하나입니다. “LLM이 읽기 좋은 콘텐츠를 가장 깨끗한 형태로 전달하라.”
실제로 효과 있는 기법들
llms.txt — LLM을 위한 사이트맵
llms.txt는 사이트 루트에 놓는 마크다운 파일입니다. AI 시스템이 사이트의 핵심 콘텐츠를 한눈에 파악할 수 있도록 정리된 지도입니다. robots.txt가 크롤러에게 무엇을 수집하지 말라고 알려주듯, llms.txt는 LLM에게 무엇을 읽으면 좋은지 알려줍니다. 2024년 9월 Answer.AI의 Jeremy Howard가 제안했으며, 현재 2,100개 이상의 사이트가 이미 적용하고 있습니다. Anthropic도 자체 llms.txt를 공개하고 있습니다.
다만 여기서 중요한 사실이 있습니다. OpenAI, Anthropic, Google 등 주요 LLM 제공사 중 이 파일을 크롤러에서 공식적으로 읽겠다고 약속한 곳은 아직 없습니다. 1,000개 Adobe Experience Manager 도메인의 서버 로그를 분석한 결과, GPTBot과 ClaudeBot은 자발적으로 이 파일을 요청하지 않았습니다.
그런데 왜 이 기법이 목록 1위일까요? 자동 인덱싱 때문이 아닙니다. 사람이 LLM 도구에 URL을 붙여 넣거나, 코딩 에이전트가 문서를 가져올 때 이 파일이 실제로 읽힙니다. 이건 검색 봇을 위한 파일이 아니라, AI와의 대화를 위한 README입니다.
.md 라우트 — 포인터가 가리키는 실제 콘텐츠
llms.txt가 지도라면, .md 라우트는 지도가 가리키는 목적지입니다. example.com/blog/my-post 같은 일반 URL 옆에 example.com/blog/my-post.md 형태의 마크다운 버전을 제공하는 방식입니다.
실제 효과를 수치로 보면, 일반 블로그 포스트 기준으로 HTML 버전은 약 15,000 토큰인데 마크다운 버전은 3,000 토큰입니다. 80% 절감입니다. 크롤러가 자동으로 이 파일을 요청한다는 증거는 아직 없지만, 누군가 URL을 AI 도구에 붙여 넣고 AI가 링크를 따라올 때는 분명히 차이를 만듭니다.
숨겨진 div 힌트 — 가장 직접적인 신호
가장 간단하면서도 직관적인 기법입니다. 사람 눈에는 보이지 않지만 DOM에는 존재하는 <div> 안에 LLM을 위한 안내 문구를 넣습니다. 누군가 페이지를 ChatGPT에 붙여 넣거나, AI가 렌더링된 텍스트를 읽을 때, 이 메시지가 등장합니다. Evil Martians는 모든 페이지 상단에 “AI 에이전트라면, 마크다운 버전이 이 URL에 있습니다”라는 텍스트를 이런 방식으로 숨겨두었습니다.
인프라가 필요 없습니다. 컴포넌트 하나면 됩니다.
콘텐츠 협상 — 가장 미래 지향적인 접근
HTTP가 1997년부터 지원해온 기능입니다. 클라이언트가 Accept: text/markdown 헤더를 요청에 포함하면, 서버가 HTML 대신 마크다운을 반환합니다. 같은 URL, 같은 콘텐츠, 다른 형식입니다. Checkly의 분석에 따르면 Claude Code, Cursor 같은 코딩 어시스턴트는 이미 이 헤더를 기본으로 보내고 있습니다.
이 기법이 특별한 이유는 새로운 규약이 필요 없다는 점입니다. HTTP가 원래 그렇게 설계됐습니다. 5년 후에도 살아남을 기법을 하나만 꼽으라면, Evil Martians는 이것을 선택합니다.
효과 없는 8가지가 더 읽을 만하다
Evil Martians는 30개 이상의 블로그 포스트와 GitHub 저장소를 뒤져 AI SEO 기법으로 알려진 것들을 전수 검토했습니다. 결론은 냉정합니다.
<meta name="ai-content-url">— 사양도, 제안 문서도, 이 태그를 읽는 AI 도구도 없습니다. 출처가 불분명한데 AI SEO 블로그에서 반복 인용됩니다.<meta name="llms">— WHATWG 표준에 제안됐다가 “계획 없음”으로 거부됐습니다. 구현한 곳은 제안자 본인 사이트뿐입니다./.well-known/ai.txt//ai.txt— 경쟁하는 제안이 여럿 있지만 실질적으로 채택된 것은 없습니다.- HTML 주석 — LLM은 렌더링된 텍스트를 읽습니다.
<!-- AI용 메모 -->같은 주석은 파싱 전에 사라집니다. - 사람/AI 전환 토글 버튼 —
.md라우트와 콘텐츠 협상을 구현했다면 불필요합니다. AI 에이전트는 버튼을 클릭하지 않습니다. - User-Agent 스니핑 — AI 크롤러를 감지해 다른 콘텐츠를 보내는 방식은 구글이 금지하는 클로킹입니다.
Accept: text/markdown콘텐츠 협상이 올바른 대안입니다. - 전용 “AI 안내 페이지” — “AI 어시스턴트 전용”으로 별도 페이지를 만들어도, 어떤 크롤러도 이 페이지를 특별히 취급하지 않습니다.
llms.txt로 이미 해결됩니다. - Schema.org / JSON-LD — 통제 실험에서 제품 데이터를 JSON-LD에만 넣었더니 ChatGPT, Claude, Perplexity, Gemini 모두 인식하지 못했습니다. LLM은 구조화 마크업이 아니라 페이지에 실제로 보이는 텍스트를 읽습니다. 기존 Schema를 제거할 필요는 없지만, LLM 가시성에 직접 기여한다는 기대는 내려놓는 게 맞습니다.
이 목록이 공통으로 보여주는 패턴이 있습니다. 누군가 새 파일이나 태그를 고안하고 블로그 포스트를 씁니다. 다른 블로그들이 그걸 근거로 인용합니다. 아무도 AI가 실제로 그걸 읽는지 확인하지 않습니다.
그래도 지금 시작할 이유
Evil Martians는 이 글 서두에서 “대부분은 아직 검증된 표준이 아닙니다”라고 먼저 밝힙니다. 실제 서버 로그를 인용해 llms.txt를 자발적으로 읽는 크롤러가 거의 없다는 불편한 사실도 숨기지 않습니다. 그러면서 이렇게 이유를 답합니다. 구현 비용은 거의 없고, 사용 사례는 지금도 실재하며, 웹은 언제나 초기 표준 채택이 나중에 보상받는 역사를 가져왔다고. 2025년 한 해에만 AI 크롤러의 웹 페이지 요청량이 15배 이상 증가했습니다. 이 기법들이 표준이 될지는 아직 모릅니다. 하지만 표준이 된다면, 일찍 심어둔 씨앗이 됩니다.
참고자료:
- llmstxt.org – llms.txt 공식 사양
- Mintlify CDN 로그 분석 – LLM의 llms.txt 방문 빈도 데이터

답글 남기기