2026년, 블로그 자동화는 선택이 아니다

올해 AI 마케팅 투자 분야 1위가 뭔지 아는가. '콘텐츠 최적화'다. 전체 투자의 23%를 차지한다. 수익형 블로그를 운영하는 사람이라면 이 숫자가 의미하는 바를 직감적으로 알 거다. 키워드 리서치하고, 글 쓰고, 검수하고, 발행하는 그 반복 노동 — 이걸 사람이 매일 하기엔 너무 비효율적이라는 걸.

나도 수익형 블로그를 운영하면서 똑같은 병목에 부딪혔다. 글 하나 쓰는 데 리서치부터 발행까지 최소 2-3시간. 주 3회만 포스팅해도 일주일에 9시간이 날아간다. 사이드 프로젝트로 블로그를 돌리는 개발자에게 이건 치명적이다.

그래서 만들었다. n8n 셀프호스팅 + Claude CLI로 키워드 발굴부터 초안 생성, AI 리뷰, 텔레그램 알림까지 전부 자동화하는 콘텐츠 파이프라인을. 외부 API 키 하나 없이, 이미 쓰고 있던 Claude Pro 구독만으로.


기술 스택 — 왜 n8n + Claude CLI인가

Zapier 대신 n8n을 선택한 이유

Zapier는 편하다. 근데 비싸다. 월 수백 달러는 기본이고, 실행 횟수에 따라 요금이 뛴다. n8n 셀프호스팅은 다르다. 월 서버 비용 $50이면 15만 건 이상 실행할 수 있다. Zapier 대비 90% 이상 비용 절감이다. 1인 블로거에게 이 차이는 결정적이다.

셀프호스팅이라 초기 세팅에 손이 좀 가지만, Docker 하나면 끝이다. 한번 올려놓으면 그 뒤로는 Zapier랑 사용 경험이 크게 다르지 않다. 오히려 커스터마이징 자유도는 비교할 수 없을 정도로 높다.

외부 API 키 없이 로컬 Claude CLI를 쓰는 이유

Claude API를 직접 호출하면 토큰당 과금이 붙는다. 글 하나 생성할 때마다 비용이 발생하니까 자동화 파이프라인에서는 부담이 누적된다. 반면 Claude Pro 구독이 이미 있다면 Claude CLI는 추가 비용이 없다. 로컬에서 실행되니 프라이버시 측면에서도 유리하고, API 키 관리 부담도 없다.

전체 아키텍처는 이렇다:

웹훅 트리거 → n8n 워크플로우 → Execute Command(Claude CLI)
    → Blog API로 초안 저장 → 텔레그램 알림 전송

n8n이 오케스트레이터 역할을 하고, Claude CLI가 실제 콘텐츠 생성 엔진이다. Blog API가 저장소, 텔레그램이 알림 채널. 각자 역할이 명확하다.

내가 구축한 파이프라인 초안
내가 구축한 파이프라인 초안

파이프라인 구축 과정

Step 1: 웹훅 트리거

모든 건 웹훅 하나로 시작된다. 키워드를 던지든, 아이디어를 던지든 JSON 하나면 파이프라인이 돌아간다.

# 키워드로 요청
curl -s -X POST http://localhost:5678/webhook/blog-automation \
  -H "Content-Type: application/json" \
  -d '{"keyword": "n8n 블로그 자동화"}'

# 아이디어로 요청
curl -s -X POST http://localhost:5678/webhook/blog-automation \
  -H "Content-Type: application/json" \
  -d '{"idea": "셀프호스팅 자동화 도구 비교"}'

keyword가 들어오면 키워드 보강 단계로, idea가 들어오면 컨텍스트 분석 단계로 분기한다. 이 설계 덕분에 "오늘 뭐 쓸까" 하는 막연한 아이디어도 파이프라인에 태울 수 있다.

Step 2: 키워드 분석 및 보강

Claude CLI가 검색 의도, 경쟁도, 관련 키워드를 분석한다. 단순히 키워드를 받아서 글을 쓰는 게 아니라, SEO 관점에서 어떤 각도로 접근해야 하는지까지 잡아준다. 이 단계가 없으면 AI가 생성한 글이 검색 의도와 어긋나는 경우가 많다.

Step 3: AI 초안 생성

보강된 키워드와 컨텍스트를 바탕으로 Claude CLI가 마크다운 형식의 초안을 생성한다. 프롬프트 설계가 핵심인데, 단순히 "글 써줘"가 아니라 타겟 독자, 톤, 구조, 분량, SEO 키워드 밀도까지 명시해야 일관된 품질이 나온다. n8n의 Execute Command 노드에서 Claude CLI를 호출하는 구조다.

Step 4: AI 자동 리뷰

생성된 초안을 다시 Claude CLI로 보내서 품질 점수를 매긴다. 8점 이상이면 자동 통과, 미달이면 피드백을 반영해 수정 후 재저장한다. 사람이 매번 읽고 판단할 필요 없이, 기준 미달인 글만 걸러내는 거다.

Step 5: 발행 + 텔레그램 알림

검수를 통과한 초안은 Blog API를 통해 자동 저장된다. 동시에 텔레그램으로 알림이 날아온다. 링크를 눌러서 관리자 페이지에 들어가면 바로 승인하거나 반려할 수 있다.

실제로 돌려보면 키워드 하나 던지고 3-5분 뒤에 텔레그램 알림이 온다. 알림 눌러서 확인하고, 괜찮으면 승인 버튼 한 번. 이게 전부다.


실전 삽질 기록

자동화 파이프라인을 만들면서 겪은 문제들을 솔직하게 공유한다. 이 부분이 없으면 그냥 "됩니다~" 하는 뻔한 가이드가 되니까.

IPv6 함정

localhost로 API를 호출했는데 연결이 안 됐다. 원인은 간단했다. 시스템이 localhost를 IPv6 주소인 ::1로 resolve한 거다. n8n의 Execute Command에서 curl을 쓸 때 localhost 대신 127.0.0.1을 명시하니까 바로 해결됐다. 별것 아닌데 이거 때문에 반나절 날렸다.

Claude 중첩 세션 오류

n8n이 여러 워크플로우를 동시에 돌리면 Claude CLI 세션이 충돌한다. 이미 실행 중인 Claude 인스턴스가 있는 상태에서 또 호출하면 에러가 터진다. --no-input 플래그로 비대화형 모드를 강제하고, 세션을 격리하는 방식으로 해결했다.

JSON 이스케이핑 지옥

Claude가 생성한 텍스트에 따옴표, 개행, 백슬래시가 포함되면 JSON 파싱이 깨진다. 이건 자동화에서 정말 자주 만나는 문제다. jq로 전처리하고, Claude 출력 포맷 자체를 제어하는 프롬프트를 추가해서 잡았다. JSON 안에 마크다운을 넣을 때는 이스케이핑에 각별히 신경 써야 한다.

타임아웃 문제

3,000자 이상의 긴 글을 생성하면 n8n Execute Command의 기본 타임아웃을 초과한다. 600초(10분)로 늘려서 해결했다. 글 길이가 길어질수록 생성 시간도 비례해서 늘어나니까, 넉넉하게 잡는 게 맞다.

텔레그램 HTML escape

텔레그램 알림 메시지에 <, > 같은 문자가 들어가면 HTML 태그로 인식돼서 링크가 깨진다. HTML entity로 escape 처리하니까 깔끔하게 해결됐다. 사소하지만 알림이 깨지면 운영 자체가 불편해지니까 중요한 부분이다.


n8n Skills & MCP — 2026년 최신 연동 트렌드

올해 n8n 생태계에서 가장 주목할 만한 건 n8n SkillsMCP(Model Context Protocol) 프로젝트다.

n8n Skills는 Claude가 n8n의 542개 노드를 직접 이해하고 워크플로우를 설계할 수 있게 해주는 프로젝트다. 예전에는 n8n 노드 하나하나의 설정을 사람이 직접 잡아줘야 했는데, 이제는 AI에게 "블로그 자동화 워크플로우 만들어줘"라고 말하면 노드 구성까지 제안해준다.

MCP 연동은 더 극적이다. 기존에 45분 걸리던 워크플로우 설계가 3분으로 단축된 사례가 보고되고 있다. AI가 워크플로우 자체를 생성하고 수정하는 시대가 온 거다. 지금은 사람이 n8n 워크플로우를 설계하고 Claude CLI를 도구로 쓰는 구조지만, 곧 AI가 워크플로우 설계자 역할까지 맡게 될 전망이다.


운영 결과와 팁

한 달 돌려본 수치

실제로 이 파이프라인을 한 달간 운영한 결과다. 글 하나 생성하는 데 평균 3-5분. AI 리뷰 자동 통과율은 약 70%. 나머지 30%는 수정 후 재저장되거나 수동 검수 큐로 넘어간다. 사람이 직접 개입하는 빈도는 주 1-2회 정도다.

포스팅 빈도가 주 1-2회에서 주 5-7회로 늘었고, 그에 비례해서 검색 색인 속도와 유입량도 증가했다. 물론 양만 늘린다고 다 되는 건 아니다. 팩트체크와 톤 조정은 여전히 사람 몫이다.

추천 운영 패턴

매일 자동 생성을 돌리되, 주 1-2회 모아서 검수하고 발행하는 패턴이 가장 효율적이다. 매일 하나씩 검수하면 컨텍스트 스위칭 비용이 크고, 너무 오래 묵히면 트렌드 키워드의 신선도가 떨어진다.

품질 관리 체크리스트

AI가 생성한 글은 반드시 확인해야 할 항목이 있다:

  • 팩트체크: 수치, 날짜, 고유명사가 정확한지
  • 톤 일관성: 블로그 전체 톤과 맞는지
  • 이미지 보완: AI가 텍스트만 생성하므로 적절한 이미지나 다이어그램 추가
  • 내부 링크: 기존 포스트와 연결되는 링크 삽입

지금 바로 시작하는 액션 아이템

  1. n8n 셀프호스팅 세팅: Docker로 n8n을 올린다. 공식 문서 따라가면 30분이면 된다.
  2. Claude CLI 설치: Claude Pro 구독이 있다면 CLI를 설치하고 로그인한다.
  3. 웹훅 워크플로우 생성: 이 글의 구조를 참고해서 웹훅 → Execute Command → API 저장 플로우를 만든다.
  4. 키워드 하나 던져보기: curl로 웹훅에 키워드를 보내고, 결과물을 확인한다.
  5. 반복 개선: 프롬프트를 다듬고, 리뷰 기준을 조정하면서 자기 블로그에 맞게 최적화한다.

셀프호스팅 n8n + Claude CLI 조합은 API 키 비용 없이 콘텐츠 파이프라인을 완전 자동화할 수 있는 현실적인 방법이다. Zapier 비용에 고민하고 있었다면, 지금이 n8n으로 갈아탈 타이밍이다.