WordPress + n8n으로 AI 콘텐츠 자동 발행 파이프라인 구축

n8n WordPress 자동화로 AI 블로그 콘텐츠 자동 발행 파이프라인 구축하기

n8n WordPress 자동화를 처음 알게 된 건 블로그를 운영하면서 콘텐츠 생산 속도 때문에 번아웃이 왔을 때였습니다. 아이디어는 넘쳐나는데, 막상 글 한 편 쓰는 데 3~4시간씩 걸리니까요. SEO 리서치, 초안 작성, 워드프레스 업로드, 이미지 세팅… 이걸 매번 손으로 하다 보면 솔직히 지칩니다. 그러다가 n8n이라는 셀프호스팅 자동화 툴과 Claude API를 연결해서 워드프레스로 자동 포스팅하는 파이프라인을 구축해봤는데, 진짜로 삶의 질이 바뀌었어요. 물론 처음 세팅하는 데 시간이 좀 걸리긴 합니다. 하지만 한 번 만들어두면 키워드 하나 넣는 것만으로 초안이 뚝딱 워드프레스 임시저장 폴더에 올라가 있거든요. 이 글에서는 n8n 셀프호스팅 설치부터 Claude API 연동, 그리고 WordPress REST API로 자동 발행하는 전체 흐름을 직접 경험한 것들을 바탕으로 설명해 드리겠습니다.

n8n이 뭔지, 왜 써야 하는지부터

n8n WordPress 자동화를 제대로 이해하려면 먼저 n8n이 뭔지 알아야 합니다. 한마디로 설명하자면 “Zapier나 Make 같은 자동화 툴인데, 내 서버에 직접 설치해서 쓰는 것”이에요. Zapier를 써보신 분들은 아시겠지만, 무료 플랜은 제약이 너무 많고 유료는 비용이 꽤 나옵니다. n8n은 셀프호스팅이라 서버 비용만 내면 워크플로우 개수 제한 없이 쓸 수 있어요.
제가 처음 n8n을 도입하려고 했을 때 솔직히 좀 망설였습니다. “그냥 Make 쓰면 안 되나?” 싶었거든요. 근데 AI API 호출을 월 수백 번 이상 하다 보면 Make 비용이 무시 못 할 수준이 돼요. n8n은 그 부분에서 완전히 자유롭습니다.
n8n vs 다른 자동화 툴 비교
1) n8n 셀프호스팅: 월 서버 비용만 부담 (VPS 기준 월 5~10달러), 워크플로우 무제한
2) Make (구 Integromat): 무료 플랜 월 1,000 operations, 유료 플랜 월 9달러부터
3) Zapier: 무료 플랜 월 100 tasks, 유료 플랜 월 19.99달러부터
4) n8n 클라우드: 월 20달러부터 — 셀프호스팅이 부담스러우면 이 옵션도 있음
n8n WordPress 자동화 파이프라인의 전체 흐름은 이렇습니다. 트리거(키워드 입력 또는 스케줄) → AI API 호출(Claude 또는 GPT) → 콘텐츠 생성 → WordPress REST API로 포스팅. 이게 전부예요. 복잡해 보이지만 n8n의 노드 기반 인터페이스 덕분에 코딩 없이도 연결이 가능합니다.
그러고 보니 처음 이 파이프라인을 완성했을 때 느낌이 생각나네요. 키워드 하나 넣고 “실행” 버튼 눌렀더니 30초 만에 워드프레스 임시저장 글이 생성돼 있는 걸 보고… 진짜 멍하니 화면만 쳐다봤습니다. 이게 되네? 싶은 그 기분이 아직도 생생해요.

n8n 셀프호스팅 설치 방법 (Docker 기준)

n8n WordPress 자동화를 위한 첫 번째 단계는 n8n을 서버에 설치하는 겁니다. 가장 빠르고 안정적인 방법은 Docker를 사용하는 거예요. Ubuntu 서버가 있다고 가정하고 설명드릴게요. 저는 Vultr에서 월 6달러짜리 VPS를 쓰고 있는데 n8n 돌리기엔 충분합니다.
사전 준비사항
1) Ubuntu 22.04 또는 24.04 서버 (최소 1GB RAM 권장)
2) Docker 및 Docker Compose 설치 완료 상태
3) 도메인 연결 완료 (선택사항이지만 강력 권장)
Docker가 아직 없다면 먼저 설치해야 합니다. 아래 명령어를 순서대로 실행하면 됩니다.
Docker 설치
1) 패키지 업데이트:
apt update && apt upgrade -y
복사됨!
2) Docker 자동 설치 스크립트 실행:
curl -fsSL https://get.docker.com | sh
복사됨!
3) Docker Compose 설치:
apt install docker-compose -y
복사됨!
4) Docker 설치 확인:
docker –version && docker-compose –version
복사됨!
Docker 설치가 완료됐으면 이제 n8n용 디렉토리를 만들고 docker-compose.yml 파일을 작성합니다. 여기서 데이터 폴더를 미리 만들어두는 게 중요해요. 안 그러면 권한 오류가 나서 n8n이 시작이 안 됩니다. 저도 처음에 이것 때문에 한 시간을 날렸어요.
n8n 디렉토리 및 설정 파일 생성
1) 작업 디렉토리 생성:
mkdir -p /opt/n8n && cd /opt/n8n
복사됨!
2) 데이터 폴더 생성 및 권한 설정:
mkdir -p n8n_data && chown -R 1000:1000 n8n_data
복사됨!
3) docker-compose.yml 파일 생성:
vi docker-compose.yml
복사됨!
4) 아래 내용을 파일에 붙여넣기:
version: ‘3.8’ services: n8n: image: n8nio/n8n restart: always ports: – “5678:5678” environment: – N8N_BASIC_AUTH_ACTIVE=true – N8N_BASIC_AUTH_USER=admin – N8N_BASIC_AUTH_PASSWORD=yourpassword – WEBHOOK_URL=https://your-domain.com/ – GENERIC_TIMEZONE=Asia/Seoul volumes: – ./n8n_data:/home/node/.n8n
복사됨!
5) n8n 실행:
docker-compose up -d
복사됨!
6) 실행 확인:
docker-compose logs -f
복사됨!
실행이 완료되면 브라우저에서 http://서버IP:5678 으로 접속하면 n8n 로그인 화면이 뜹니다. docker-compose.yml 에 설정한 아이디와 비밀번호로 로그인하면 돼요. 도메인이 있다면 Nginx로 리버스 프록시 설정해서 https로 접근하는 걸 추천합니다. 보안상으로도 훨씬 낫고 나중에 웹훅 설정할 때도 편해요.

Claude API 연동 및 콘텐츠 생성 노드 설정

n8n WordPress 자동화의 핵심은 AI API 연동입니다. 저는 Claude API를 주로 사용하는데, 이유는 간단해요. 긴 글 작성 품질이 GPT보다 조금 더 일관성 있다고 느꼈거든요. 물론 GPT-4o도 훌륭합니다. 어느 쪽을 쓰든 n8n에서 HTTP Request 노드로 연결하는 방식은 동일합니다.
Claude API 키는 Anthropic 콘솔(console.anthropic.com)에서 발급받을 수 있어요. 키를 발급받으면 n8n에서 Credentials로 저장해두는 게 좋습니다. 매번 워크플로우에 직접 붙여넣으면 관리가 번거롭고 보안상으로도 좋지 않아요.
n8n에서 Claude API Credential 등록
1) n8n 좌측 메뉴에서 Credentials 클릭
2) Add Credential 버튼 클릭
3) Header Auth 선택
4) Name: Claude API Key 입력
5) Header Name: x-api-key 입력
6) Header Value: 발급받은 API 키 입력 후 Save
이제 실제 워크플로우를 만들어봅니다. n8n에서 새 워크플로우를 생성하고 HTTP Request 노드를 추가합니다. Claude API의 엔드포인트는 https://api.anthropic.com/v1/messages 입니다. 헤더에 anthropic-version을 꼭 추가해야 해요. 이걸 빠뜨리면 오류가 납니다.
HTTP Request 노드 설정 (Claude API 호출)
1) Method: POST
2) URL: https://api.anthropic.com/v1/messages
3) Authentication: Predefined Credential Type → Header Auth → 위에서 만든 Credential 선택
4) Headers 탭에서 아래 두 개 추가:
anthropic-version: 2023-06-01
content-type: application/json
복사됨!
5) Body 탭 → JSON으로 아래 내용 입력:
{
“model”: “claude-opus-4-5”,
“max_tokens”: 4096,
“messages”: [
{
“role”: “user”,
“content”: “다음 키워드로 SEO 최적화된 블로그 글을 작성해주세요: {{ $json.keyword }}”
}
]
}
복사됨!
{{ $json.keyword }} 부분이 n8n의 표현식입니다. 앞 노드에서 넘어오는 데이터를 여기에 삽입하는 방식이에요. 이 부분이 처음엔 좀 헷갈릴 수 있는데, n8n에서는 {{ }} 안에 JavaScript 표현식을 쓸 수 있습니다. 익숙해지면 정말 강력한 기능이에요.
Claude API 응답에서 실제 텍스트를 추출하려면 Set 노드를 하나 더 추가해야 합니다. API 응답 구조가 중첩되어 있어서 그냥 쓰면 전체 JSON이 들어가거든요.
Set 노드로 응답 텍스트 추출
1) HTTP Request 노드 다음에 Set 노드 추가
2) Add Value → String 선택
3) Name: content 입력
4) Value에 아래 표현식 입력:

{{ $json.content[0].text }}

복사됨!

WordPress REST API 연결 및 자동 포스팅

n8n WordPress 자동화의 마지막 핵심 연결 고리는 WordPress REST API입니다. 워드프레스는 기본적으로 REST API를 제공하는데, 이걸 통해 외부에서 글을 작성하고 발행할 수 있어요. 인증 방식은 Application Password를 사용하는 게 가장 간편합니다.
WordPress Application Password 발급
1) WordPress 관리자 페이지 로그인
2) 사용자 → 프로필 메뉴 클릭
3) 하단 “애플리케이션 비밀번호” 섹션 찾기
4) 애플리케이션 이름 입력 (예: n8n automation)
5) “새 애플리케이션 비밀번호 추가” 버튼 클릭
6) 생성된 비밀번호 복사 — 이 창을 닫으면 다시 볼 수 없음
Application Password를 발급받았으면 n8n에서 WordPress Credential을 등록합니다. WordPress 노드를 사용해도 되고, HTTP Request 노드로 직접 REST API를 호출해도 됩니다. 저는 HTTP Request 노드를 선호해요. 더 세밀하게 제어할 수 있거든요.
n8n WordPress Credential 등록
1) Credentials → Add Credential → WordPress 검색
2) WordPress URL: https://yourdomain.com 입력
3) Username: WordPress 관리자 아이디 입력
4) Password: 발급받은 Application Password 입력
5) Save 클릭 후 Connection Test 확인
이제 실제로 글을 발행하는 HTTP Request 노드를 설정합니다. WordPress REST API의 포스트 생성 엔드포인트는 /wp-json/wp/v2/posts 입니다. 상태를 draft로 설정하면 임시저장으로 올라가고, publish로 하면 바로 발행돼요. 처음엔 무조건 draft로 테스트하는 걸 추천합니다. 잘못된 내용이 바로 발행되면 곤란하니까요.
WordPress 포스팅 HTTP Request 노드 설정
1) Method: POST
2) URL: https://yourdomain.com/wp-json/wp/v2/posts
3) Authentication: Basic Auth → WordPress Credential 선택
4) Body (JSON):
{
“title”: “{{ $json.title }}”,
“content”: “{{ $json.content }}”,
“status”: “draft”,
“categories”: [1],
“tags”: []
}
복사됨!
여기서 categories의 숫자는 WordPress 카테고리 ID입니다. 관리자 페이지에서 카테고리를 클릭하면 URL에 tag_ID= 뒤에 숫자가 보여요. 그 숫자를 넣으면 됩니다. 태그도 같은 방식으로 ID를 찾아서 배열에 추가할 수 있어요.

전체 파이프라인 완성 및 트리거 설정

n8n WordPress 자동화의 전체 파이프라인을 완성할 차례입니다. 지금까지 Claude API 호출 노드와 WordPress 포스팅 노드를 만들었는데, 이걸 어떻게 시작시킬지가 남았어요. n8n에서는 트리거 노드가 워크플로우의 시작점이 됩니다.
트리거 방식은 크게 세 가지입니다. 스케줄 트리거(매일 오전 9시에 자동 실행), 웹훅 트리거(외부에서 URL 호출 시 실행), 수동 트리거(버튼 클릭으로 실행). 처음에는 수동 트리거로 테스트하고, 안정화되면 스케줄이나 웹훅으로 바꾸는 게 좋습니다.
전체 워크플로우 노드 구성
1) Manual Trigger 또는 Schedule Trigger (시작점)
2) Set 노드 — 키워드, 제목 등 변수 설정
3) HTTP Request 노드 — Claude API 호출
4) Set 노드 — API 응답에서 텍스트 추출
5) HTTP Request 노드 — WordPress REST API로 포스팅
6) (선택) 슬랙 또는 이메일 알림 노드
스케줄 트리거를 쓸 때 주의할 점이 있어요. 키워드를 어디서 가져오느냐의 문제입니다. 가장 간단한 방법은 Google Sheets를 데이터 소스로 쓰는 거예요. 구글 시트에 키워드 목록을 만들어두고, n8n이 매일 한 줄씩 읽어서 글을 생성하게 하는 거죠.
Google Sheets 연동 워크플로우 구성
1) Schedule Trigger 노드 추가 (매일 오전 9시 설정)
2) Google Sheets 노드 추가 — Read Rows 선택
3) 시트에서 status가 “pending”인 행만 필터링
4) IF 노드로 데이터가 있는 경우만 진행
5) Claude API → WordPress 포스팅 순서로 연결
6) 완료 후 해당 행의 status를 “done”으로 업데이트
웹훅 트리거 방식도 소개해드릴게요. 이 방식은 외부에서 URL을 호출하면 바로 실행되는 방식입니다. 예를 들어 모바일에서 단축어 앱으로 키워드를 입력하면 바로 글 생성이 시작되게 할 수 있어요. n8n WordPress 자동화를 모바일과 연동하는 가장 좋은 방법입니다.
웹훅 트리거 설정
1) 워크플로우 시작 노드를 Webhook으로 교체
2) HTTP Method: POST 선택
3) Path: /generate-post 입력
4) 생성된 웹훅 URL 복사 (예: https://n8n.yourdomain.com/webhook/generate-post)
5) 테스트: curl 명령어로 POST 요청 전송:
curl -X POST https://n8n.yourdomain.com/webhook/generate-post \ -H “Content-Type: application/json” \ -d ‘{“keyword”: “Ubuntu 서버 보안 설정”}’
복사됨!

실전 운영 팁과 주의사항

n8n WordPress 자동화를 실제로 운영하다 보면 몇 가지 알아두면 좋은 것들이 있습니다. 설치는 쉬운데 안정적으로 유지하는 게 생각보다 신경 쓸 부분이 있거든요.
가장 먼저 말씀드릴 건 프롬프트 품질입니다. AI가 생성하는 글의 품질은 99% 프롬프트에 달려있어요. “블로그 글 써줘”라고만 하면 정말 평범한 글이 나옵니다. 프롬프트를 최소 500자 이상 구체적으로 작성하는 게 좋아요. 타겟 독자, 원하는 문체, 포함해야 할 소제목, 글자 수, SEO 요구사항까지 모두 명시해야 쓸 만한 초안이 나옵니다.
권장 프롬프트 구조
1) 페르소나 설정: “당신은 10년 경력의 IT 블로거입니다”
2) 타겟 독자: “초보 개발자를 대상으로 작성해주세요”
3) 구조 지정: “H2 소제목 6개, 각 섹션 300자 이상”
4) SEO 요구사항: “키워드 밀도 1.5~2%, 첫 문장에 키워드 포함”
5) 형식 지정: “HTML 형식으로 출력, 마크다운 사용 금지”
에러 처리도 꼭 해두세요. AI API는 가끔 타임아웃이 나거나 응답이 이상하게 올 때가 있거든요. n8n에서는 Error Workflow 기능을 활용하면 됩니다. 메인 워크플로우에서 오류가 발생하면 자동으로 다른 워크플로우를 실행해서 슬랙으로 알림을 보내거나 재시도를 하도록 설정할 수 있어요.
운영 중 자주 발생하는 문제와 해결법
1) Claude API 타임아웃: max_tokens 줄이거나 HTTP Request 노드의 Timeout 값 늘리기 (기본 300초)
2) WordPress 인증 오류: Application Password에 공백이 포함된 경우 그대로 사용 (제거하지 말 것)
3) n8n 메모리 부족: docker-compose.yml에 메모리 제한 추가 후 재시작
4) 워크플로우 실행 이력이 안 보임: Settings → Log Pruning 확인
5) 웹훅이 응답하지 않음: 워크플로우가 Active 상태인지 확인 (토글 스위치)
마지막으로 비용 관리도 중요합니다. Claude API는 입출력 토큰 수에 따라 과금됩니다. 블로그 글 한 편당 평균 약 3,000~4,000 토큰이 나온다고 보면, 하루 1편씩 한 달 발행하면 큰 비용은 아니에요. 하지만 프롬프트에 불필요하게 긴 컨텍스트를 넣거나 오류로 인해 같은 요청이 반복되면 비용이 예상보다 커질 수 있습니다. n8n의 실행 이력을 주기적으로 확인하고, Anthropic 콘솔에서 월별 사용량을 모니터링하는 습관을 들이는 게 좋아요.
n8n WordPress 자동화 파이프라인 흐름
STEP 1
트리거 실행 — 스케줄(매일 자동) 또는 웹훅(URL 호출)으로 워크플로우 시작
STEP 2
키워드 로드 — Google Sheets에서 status가 pending인 키워드 한 줄 읽기
STEP 3
Claude API 호출 — 키워드 + 프롬프트 전송, 콘텐츠 생성 (약 20~30초 소요)
STEP 4
응답 파싱 — API 응답에서 제목과 본문 텍스트 추출 및 정제
STEP 5
WordPress 포스팅 — REST API로 draft 상태로 업로드, 카테고리/태그 자동 설정
STEP 6
상태 업데이트 + 알림 — 시트에 done 표시, 슬랙/이메일로 완료 알림 발송
자동화 도구별 월 비용 비교
n8n 셀프호스팅월 6~10달러 (VPS)
최저
n8n 클라우드월 20달러~
20달러
Make 유료 플랜월 9달러~
9달러
Zapier 유료 플랜월 19.99달러~
19.99달러
Zapier 프로 플랜월 49달러~
49달러
글 1편 자동 생성 시 예상 소요 시간 및 비용
30초
Claude API 응답 평균 시간 (3,000토큰 기준)
$0.02
글 1편당 평균 API 비용 (claude-opus-4-5 기준)
월 30편
하루 1편 자동화 시 월간 발행 목표
약 $0.6
월 30편 발행 시 총 API 비용 (API만 기준)
지금 바로 시작할 수 있는 실행 방안
n8n WordPress 자동화를 처음 접하는 분들은 “나는 개발자가 아닌데 할 수 있을까?”라는 걱정을 많이 합니다. 솔직히 말씀드리면, 코딩을 전혀 모르는 분도 이 글에 나온 순서대로 따라 하면 하루 안에 기본 파이프라인을 완성할 수 있어요. 물론 처음엔 에러가 날 수 있습니다. 그냥 에러 메시지를 복사해서 검색하면 대부분 해결됩니다.
1단계 (오늘): VPS 서버 하나 만들기 (Vultr 또는 DigitalOcean 추천, 월 6달러짜리로 충분)
2단계 (오늘~내일): Docker 설치 → n8n 설치 → 브라우저에서 접속 확인까지
3단계 (내일): Claude API 키 발급 → n8n에 Credential 등록 → 테스트 API 호출 한 번
4단계 (이번 주): WordPress Application Password 발급 → 수동 트리거로 초안 1편 자동 생성 테스트
5단계 (다음 주): Google Sheets 키워드 목록 연동 → 스케줄 트리거 설정 → 실제 운영 시작
처음 파이프라인이 돌아가기 시작하면 그 다음부터는 생각보다 빠르게 고도화할 수 있어요. SEO 키워드 리서치를 자동화한다거나, 생성된 글에 이미지를 자동으로 붙인다거나, 발행 후 소셜 미디어에 자동으로 공유하는 것까지요. n8n WordPress 자동화는 한 번 구축하면 계속 확장해 나갈 수 있는 시스템이라는 게 가장 큰 장점입니다.
확장 아이디어 1: Ahrefs 또는 Google Search Console API → 키워드 자동 수집 → n8n으로 유입
확장 아이디어 2: DALL-E 또는 Ideogram API → 대표 이미지 자동 생성 → WordPress 미디어 라이브러리 업로드
확장 아이디어 3: WordPress 발행 완료 → Buffer API → 트위터/링크드인 자동 포스팅
확장 아이디어 4: 발행된 글 URL → 구글 Search Console API → 색인 요청 자동화
자주 묻는 질문
n8n 셀프호스팅이 너무 어렵게 느껴지는데, 더 쉬운 방법은 없나요?
n8n 클라우드(app.n8n.cloud)를 사용하면 서버 없이 바로 시작할 수 있습니다. 월 20달러 정도인데, 처음에는 클라우드로 개념을 익히고 나중에 셀프호스팅으로 전환하는 것도 좋은 방법이에요. 단, 웹훅 URL이 외부에 노출되므로 보안 설정은 꼭 확인하세요.
Claude API 대신 GPT-4o를 써도 되나요?
네, 당연히 됩니다. OpenAI API 엔드포인트(https://api.openai.com/v1/chat/completions)와 요청 JSON 구조만 다를 뿐 n8n 설정 방식은 동일해요. 두 API를 모두 등록해두고 주제에 따라 교체해서 사용하는 것도 가능합니다.
AI가 생성한 글을 그대로 발행해도 구글 SEO에 문제없나요?
구글은 AI 생성 콘텐츠 자체를 금지하지 않습니다. 다만 퀄리티 낮은 스팸성 콘텐츠는 페널티를 받을 수 있어요. n8n WordPress 자동화로 생성한 초안을 사람이 검토하고 개인 경험이나 실제 데이터를 추가한 뒤 발행하면 SEO에 전혀 문제없습니다. 자동화는 “초안 생성”으로만 활용하는 것이 가장 안전한 방식이에요.
WordPress 외에 다른 플랫폼에도 자동 발행할 수 있나요?
가능합니다. 티스토리는 REST API 지원이 제한적이라 스크래핑 방식을 써야 해서 불안정하고, 네이버 블로그는 공식 API가 없어서 어렵습니다. 반면 Ghost, Webflow, Contentful 등 헤드리스 CMS는 REST API가 잘 갖춰져 있어 n8n과 쉽게 연동됩니다.
n8n 서버가 죽으면 예약된 글 발행도 멈추나요?
네, n8n이 실행 중이어야 스케줄 트리거가 동작합니다. docker-compose.yml에 restart: always 옵션을 설정해두면 서버 재부팅 시 자동으로 재시작됩니다. 추가로 UptimeRobot 같은 무료 모니터링 서비스로 n8n 주소를 감시해두면 다운 시 즉시 알림을 받을 수 있어요.
핵심 요약
n8n WordPress 자동화는 1인 블로거의 콘텐츠 생산 속도 문제를 해결하는 가장 실용적인 방법입니다. n8n 셀프호스팅으로 월 6~10달러의 서버 비용만으로 무제한 자동화 워크플로우를 구축할 수 있고, Claude API 또는 GPT API와 연동해 키워드 하나로 블로그 초안을 자동 생성할 수 있습니다. WordPress REST API의 Application Password 인증 방식으로 외부에서 안전하게 글을 업로드할 수 있고, Google Sheets와 연동하면 키워드 관리부터 발행까지의 전체 흐름을 하나의 파이프라인으로 묶을 수 있어요. 한 번 구축해두면 이후 이미지 자동 생성, SNS 자동 공유, 색인 요청 자동화까지 무한히 확장할 수 있습니다. 가장 중요한 건 일단 만들어서 돌려보는 것입니다. 완벽하지 않아도 괜찮아요. 돌아가는 파이프라인이 돌아가지 않는 완벽한 계획보다 훨씬 낫습니다.
n8n 노드를 중심으로 구글 시트(스케줄 트리거), 클로드(Claude) API(콘텐츠 생성), 워드프레스(REST API 자동 발행), 그리고 알림 기능(슬랙/이메일)이 유기적으로 연결된 자동화 파이프라인 전체 흐름을 보여주는 마인드맵