잘 돌아가던 자동 발행 워크플로우가 어느 날 갑자기 무용지물이 됐다. 티스토리 API 공식 종료 공지가 뜬 순간, n8n으로 열심히 만들어둔 자동 발행 시스템 전체를 다시 생각해야 했다. WordPress 자동 발행 환경으로 전환하기로 결정하고 실제로 옮긴 과정을 기록해둔다.
티스토리 API가 왜 갑자기 종료됐을까
티스토리는 카카오 계열사다. 카카오가 정책을 바꾸면 티스토리도 따라 바뀔 수밖에 없는 구조다. 이번에도 카카오 측에서 티스토리 API를 공식 종료한다는 공지를 올렸고, 기존에 API를 활용하던 모든 자동화 시스템이 영향을 받게 됐다.
사실 예견된 일이었다. 플랫폼 종속적인 API에 의존하면 언제든 이런 상황이 생길 수 있다. 플랫폼 회사가 수익 모델을 바꾸거나, 내부 정책이 변경되거나, 서비스 방향을 전환하면 외부 개발자나 사용자는 속수무책이다. 특히 국내 플랫폼은 해외 서비스에 비해 API 정책이 자주 바뀌는 편이라 장기적인 자동화 시스템을 구축하기엔 리스크가 크다.
WordPress를 선택한 이유
WordPress 자동 발행 환경으로 전환한 가장 큰 이유는 REST API가 오픈 표준이라는 점이다. REST API란 웹에서 데이터를 주고받는 표준화된 방식인데, WordPress는 이 API를 공식적으로 지원하고 문서화도 잘 되어 있다. 특정 회사가 정책을 바꾼다고 해서 API가 사라질 일이 없다.
WordPress는 오픈소스 소프트웨어다. 전 세계 수백만 개 사이트가 사용하고 있고, 커뮤니티가 거대하다. 설령 WordPress.org 재단에 무슨 일이 생기더라도, 소스 코드가 공개되어 있으니 직접 운영을 이어갈 수 있다. 플랫폼에 종속되지 않는 인프라를 원한다면 WordPress가 현실적인 선택지다.
호스팅 선택: 월 450원으로 충분했다
WordPress를 운영하려면 호스팅이 필요하다. 호스팅이란 웹사이트 파일과 데이터베이스를 저장하고 인터넷에 연결해주는 서버 공간이다. 비용이 부담될 거라 생각했는데, 카페24 뉴매니지드 스타트업 요금제가 월 450원이었다.
이 요금제로 WordPress 설치부터 n8n 연동까지 전부 해결됐다. 트래픽이 엄청 많은 사이트가 아니라면 저가 호스팅으로도 자동 발행 시스템 운영에는 문제가 없다. 초기 비용 부담 없이 테스트해볼 수 있다는 게 장점이다.
n8n 워크플로우 마이그레이션 방법
기존에 n8n으로 티스토리 자동 발행 워크플로우를 운영하고 있었다. n8n은 노코드/로우코드 자동화 도구로, 여러 서비스를 연결해서 워크플로우를 만들 수 있다. 다행히 기존 워크플로우 구조는 그대로 유지하고, 발행 노드만 WordPress용으로 교체하면 됐다.
티스토리 발행 노드를 삭제하고, HTTP Request 노드를 새로 추가했다. WordPress REST API 엔드포인트로 POST 요청을 보내는 방식이다. n8n에서 HTTP Request 노드를 활용하는 방법을 참고하면 설정이 더 수월하다.
WordPress REST API 발행 설정
WordPress 자동 발행을 위한 API 호출 구조는 다음과 같다.
POST /wp-json/wp/v2/posts
{
"title": "글 제목",
"content": "HTML 본문 내용",
"status": "publish",
"categories": [1]
}
각 필드를 설명하면 이렇다.
- title: 발행할 글의 제목. 문자열로 전달한다.
- content: 본문 내용. HTML 형식으로 작성하면 WordPress에서 그대로 렌더링된다.
- status: publish로 설정하면 바로 공개된다. draft로 하면 임시저장 상태로 들어간다.
- categories: 카테고리 ID를 배열로 전달한다. WordPress 관리자 화면에서 카테고리 ID를 확인할 수 있다.
인증은 Application Password 방식을 사용했다. WordPress 관리자 화면 > 사용자 > 프로필에서 Application Password를 생성하고, n8n의 HTTP Request 노드에 Basic Auth로 설정하면 된다.
전환 후 달라진 점
WordPress 자동 발행 환경으로 전환한 뒤 몇 가지가 달라졌다. 먼저 API 종료 걱정이 사라졌다. 오픈소스 기반이라 플랫폼 정책 변경에 휘둘릴 일이 없다.
초기 설정은 티스토리보다 번거로웠다. 호스팅 신청, WordPress 설치, 테마 설정, API 인증 설정까지 직접 해야 했다. 하지만 한 번 세팅해두면 그 다음부터는 오히려 편하다. REST API 문서가 잘 정리되어 있어서 추가 기능을 붙이기도 쉽다.
n8n 워크플로우 수정은 생각보다 간단했다. 발행 노드만 교체하면 됐고, 앞단의 콘텐츠 생성 로직은 그대로 유지했다. AI 프롬프트 역할 분리 구조를 적용해둔 워크플로우였는데, 이 부분은 손댈 필요가 없었다.
주의할 점
WordPress REST API를 사용할 때 몇 가지 주의할 점이 있다.
첫째, 퍼머링크 설정을 기본값에서 변경해야 한다. WordPress 관리자 화면 > 설정 > 고유주소에서 “기본”이 아닌 다른 옵션을 선택해야 REST API가 정상 작동한다. “글 이름” 옵션을 추천한다.
둘째, Application Password는 한 번 생성하면 다시 볼 수 없다. 생성 직후 반드시 안전한 곳에 저장해둬야 한다. 분실하면 새로 생성해야 하고, 기존 연동은 전부 끊긴다.
셋째, 카테고리 ID는 숫자다. 카테고리 이름이 아니라 ID를 전달해야 한다. 관리자 화면에서 카테고리를 클릭했을 때 URL에 tag_ID=숫자 형태로 표시되는데, 그 숫자가 ID다.
FAQ
Q1. 티스토리에서 WordPress로 기존 글을 옮길 수 있나요?
가능하다. 티스토리 관리자 화면에서 백업 파일을 다운로드하고, WordPress의 가져오기 도구로 업로드하면 된다. 다만 이미지는 별도로 옮겨야 하는 경우가 있어서 수작업이 필요할 수 있다.
Q2. 무료 호스팅으로도 WordPress 자동 발행이 가능한가요?
무료 호스팅은 REST API 접근이 제한되거나, 서버 응답 속도가 느려서 자동화에 적합하지 않은 경우가 많다. 월 450원 정도의 저가 유료 호스팅을 추천한다.
Q3. n8n 없이 WordPress 자동 발행이 가능한가요?
가능하다. Python, Node.js 등으로 직접 스크립트를 작성해서 REST API를 호출할 수 있다. 다만 n8n을 쓰면 코드 없이 시각적으로 워크플로우를 만들 수 있어서 유지보수가 편하다.
Q4. WordPress.com과 WordPress.org 중 어디를 써야 하나요?
자동 발행 시스템을 구축하려면 WordPress.org에서 다운로드한 설치형 WordPress를 써야 한다. WordPress.com은 호스팅형 서비스라 REST API 접근에 제약이 있다.
Q5. 발행된 글을 수정하거나 삭제하는 API도 있나요?
있다. POST /wp-json/wp/v2/posts/{글 ID}로 PUT 요청을 보내면 수정되고, DELETE 요청을 보내면 삭제된다. n8n에서 HTTP Request 노드의 메서드만 바꿔주면 된다.