OpenAI API WordPress 자동화 완전 정복 – 포스팅 초안을 AI가 대신 써주는 방법
OpenAI API WordPress 자동화를 제대로 구현하면, 블로그 운영에 들이는 시간을 절반 이하로 줄일 수 있다. 주제만 던져주면 AI가 초안을 써주고, WordPress REST API를 통해 임시저장까지 자동으로 올라가는 구조. 처음엔 그냥 신기한 실험이라 생각했는데, 실제로 써보니까 콘텐츠 기획에만 집중할 수 있게 돼서 생산성이 확실히 달라졌다.
이 글에서 다루는 건 ChatGPT 블로그 자동 포스팅의 실전 구현이다. Python으로 OpenAI API를 호출해서 글 초안을 생성하고, WordPress REST API로 자동 업로드하는 전체 흐름을 단계별로 정리했다. 코딩 경험이 많지 않아도 따라올 수 있도록 최대한 구체적으로 작성했다.
특히 WordPress REST API 연동 부분은 처음 접하는 분들이 막히는 포인트가 꽤 있다. 인증 방식, Application Password 설정, 포스트 상태 제어까지, 실제로 삽질했던 부분들을 빠짐없이 담았다. Ubuntu 서버 기준이지만, 로컬 Windows 환경에서도 Python만 있으면 동일하게 동작한다.
완성하면 AI 콘텐츠 자동화 파이프라인이 하나 생기는 거다. 키워드 입력 하나로 초안이 WordPress 임시저장함에 들어오는 경험, 한번 해보면 블로그 운영 방식이 달라진다.
목차
Python 3.10+ / OpenAI API gpt-4o-mini 모델 / WordPress 6.x + REST API / Ubuntu 24.04 또는 Windows 로컬 환경 모두 적용 가능
OpenAI API WordPress 자동화 개요와 전체 구조
OpenAI API 사용법을 블로그 자동화에 연결하는 아이디어는 단순하다. OpenAI API가 텍스트를 생성하고, WordPress REST API가 그 텍스트를 포스트로 올려준다. 두 개의 API를 Python으로 이어주는 게 전부다. 구조 자체는 복잡하지 않은데, 막상 처음 구현하려면 각 단계에서 막히는 포인트가 생긴다. 그걸 하나씩 짚어가면서 진행할 거다.
전체 흐름을 한눈에 보면 이렇다. 키워드나 주제를 Python 스크립트에 입력하면, OpenAI API가 블로그 초안을 생성하고, 그 결과를 WordPress REST API로 전송해서 임시저장 상태로 올린다. 작성자는 임시저장된 글을 열어서 검토하고 수정한 뒤 발행하면 된다. AI가 초안을 쓰고, 사람이 마무리하는 구조다.
Python 스크립트에 포스팅할 주제나 키워드를 입력한다. 한 줄이면 충분하다.
gpt-4o-mini 모델이 프롬프트를 받아서 블로그 초안 HTML을 생성한다.
REST API로 생성된 초안을 임시저장 상태로 WordPress에 자동 업로드한다.
WordPress 관리자에서 초안을 열어 검토하고 수정한 뒤 발행한다.
왜 완전 자동 발행이 아니라 임시저장으로 끝내냐고 할 수 있다. 솔직히 말하면, AI가 생성한 글을 검토 없이 바로 발행하는 건 아직 위험 부담이 있다. 사실 오류, 어색한 문장, SEO 최적화 부족 같은 문제가 생길 수 있다. 임시저장으로 올려두고 사람이 한 번 눈으로 확인하는 게 현실적으로 안전하다.
블로그 초안 작성에 보통 1~2시간이 걸린다면, 이 자동화 후에는 검토와 수정에만 20~30분이 걸린다. 주제 선정과 키워드 리서치 시간은 그대로지만, 실제 타이핑에 들이는 시간이 거의 사라진다. 주당 3~4개 포스팅을 목표로 한다면 체감 효과가 크다.
| 방식 | 초안 작성 시간 | 검토 시간 | 월 포스팅 가능량 |
|---|---|---|---|
| 수동 작성 | 1~2시간/편 | 30분 | 8~12편 |
| OpenAI API 자동화 | 2~3분/편 | 20~30분 | 20~30편 |
OpenAI API 키 발급과 Python 환경 세팅
OpenAI API 사용법의 첫 단계는 API 키 발급이다. OpenAI Platform(platform.openai.com)에 접속해서 계정을 만들고, 상단 메뉴의 “API Keys”에서 새 키를 생성하면 된다. 키는 생성 직후에만 전체 내용을 볼 수 있으니, 바로 복사해서 안전한 곳에 저장해두자. 한 번 창을 닫으면 다시는 볼 수 없다.
API 키 발급 후에는 크레딧 충전이 필요하다. OpenAI API는 무료 티어가 없어졌고, 선불 충전 방식으로 운영된다. 최소 5달러부터 충전 가능하다. gpt-4o-mini 기준으로 블로그 초안 하나 생성하는 데 0.01달러 내외라서, 5달러면 수백 개 생성할 수 있다.
이제 Python 환경을 세팅해보자. Ubuntu 서버와 Windows 로컬 환경 모두 동일한 방식으로 진행된다.
패키지 설명을 간단히 하면, openai는 OpenAI API 공식 Python 라이브러리고, requests는 WordPress REST API 호출에 쓰인다. python-dotenv는 .env 파일에서 API 키를 불러오는 데 사용한다.
WP_APP_PASSWORD는 WordPress Application Password인데, 일반 로그인 비밀번호가 아니다. STEP 4에서 발급 방법을 자세히 다루니 일단은 빈칸으로 두고 진행해도 된다.
응답이 정상적으로 출력되면 환경 세팅은 끝이다. “안녕하세요” 같은 짧은 답변이 나오면 성공이다. 에러가 나면 대부분 API 키가 잘못 입력됐거나, openai 패키지 버전 문제다.
2024년 이후 openai 패키지는 v1.x 버전을 사용한다. 구버전(v0.x)과 API 호출 방식이 완전히 달라서, 오래된 예제 코드를 그대로 쓰면 에러가 난다.
pip show openai로 버전을 확인하고, pip install --upgrade openai로 최신 버전으로 유지하는 게 좋다. 이 글의 모든 코드는 v1.x 기준이다.
ChatGPT로 블로그 초안 생성하는 Python 스크립트
환경 세팅이 끝났으면 본격적으로 ChatGPT 블로그 자동 포스팅의 핵심 파트를 만들어볼 차례다. OpenAI API로 블로그 초안을 생성하는 스크립트다. 여기서 프롬프트 설계가 가장 중요하다. 프롬프트를 어떻게 짜느냐에 따라 결과물 품질이 완전히 달라진다.
기본 초안 생성 스크립트
먼저 단순한 버전부터 만들어보자. 키워드를 입력하면 블로그 초안 텍스트를 반환하는 함수다. 이걸 기반으로 나중에 기능을 붙여나가면 된다.
프롬프트 고도화 – SEO 최적화 버전
기본 버전이 잘 동작하면, 프롬프트를 더 구체적으로 다듬어보자. SEO를 의식한 구조, 내부 링크 안내, 포커스 키워드 밀도까지 프롬프트에 명시할수록 결과물 품질이 올라간다.
태그로 감싸줘
- 목록은 - 태그 사용
- 숫자 데이터나 구체적 수치 반드시 포함
- 이모티콘 사용 금지
응답 형식:
TITLE: [60자 이내 제목]
EXCERPT: [150자 내외 메타 설명]
CONTENT:
[HTML 본문]
"""
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": system_prompt},
{"role": "user", "content": user_prompt}
],
max_tokens=4000,
temperature=0.7
)
raw_text = response.choices[0].message.content
# 파싱 로직은 위와 동일
return parse_response(raw_text)
def parse_response(raw_text: str) -> dict:
title, excerpt, content = "", "", ""
lines = raw_text.split('\n')
for i, line in enumerate(lines):
if line.startswith("TITLE:"):
title = line.replace("TITLE:", "").strip()
elif line.startswith("EXCERPT:"):
excerpt = line.replace("EXCERPT:", "").strip()
elif line.startswith("CONTENT:"):
content = '\n'.join(lines[i+1:]).strip()
break
return {"title": title, "content": content, "excerpt": excerpt}
WordPress REST API 연동과 Application Password 설정
WordPress REST API 연동에서 가장 많이 막히는 부분이 인증이다. WordPress에 글을 자동으로 올리려면 관리자 권한으로 API를 호출해야 하는데, 일반 로그인 비밀번호를 그대로 쓰는 건 보안상 좋지 않다. WordPress 5.6부터 제공하는 Application Password를 사용하는 게 올바른 방법이다.
Application Password 발급 방법
WordPress 관리자 페이지에서 발급한다. 경로는 관리자 > 사용자 > 프로필이다. 페이지 하단으로 스크롤하면 “애플리케이션 비밀번호” 섹션이 있다. 애플리케이션 이름을 입력하고 (예: “auto-posting-script”) “새 애플리케이션 비밀번호 추가” 버튼을 누르면 된다.
WordPress가 HTTPS가 아닌 HTTP로 운영되면 Application Password 기능이 비활성화된다. wp-config.php에
define('WP_ENVIRONMENT_TYPE', 'local');을 추가하면 로컬 환경에서도 활성화할 수 있다. 실서버라면 SSL 인증서를 먼저 설치하는 게 맞다.
REST API 연결 테스트
Application Password를 발급받았으면, 먼저 curl로 연결이 되는지 확인해보자. Python 코드 짜기 전에 API 자체가 동작하는지 확인하는 게 순서다.
Python으로 WordPress에 포스트 업로드
연결이 확인됐으면 Python 코드로 실제 포스트를 올려보자. WordPress REST API 공식 문서(developer.wordpress.org)에 따르면 포스트 생성은 /wp-json/wp/v2/posts 엔드포인트에 POST 요청을 보내면 된다.
이 글은 WordPress REST API 자동화 테스트입니다.
“, excerpt=”자동화 테스트 포스팅”, status=”draft” ) if result[“success”]: print(f”업로드 성공! 포스트 ID: {result[‘post_id’]}”) print(f”편집 링크: {result[‘edit_url’]}”) else: print(f”업로드 실패: {result[‘error’]}”)| API 응답 코드 | 의미 | 해결 방법 |
|---|---|---|
| 201 Created | 포스트 생성 성공 | 정상 |
| 401 Unauthorized | 인증 실패 | Application Password 재확인, 공백 제거 |
| 403 Forbidden | 권한 없음 | 계정에 editor 이상 권한 필요 |
| 404 Not Found | REST API 비활성화 | 보안 플러그인이 REST API 막고 있는지 확인 |
자동 포스팅 완성 스크립트와 실전 도입 효과
앞에서 만든 초안 생성 함수와 WordPress 업로드 함수를 하나로 합쳐서 완성형 파이프라인을 만들어보자. 키워드 하나를 넣으면 초안 생성부터 WordPress 임시저장까지 한 번에 처리되는 스크립트다.
도입 효과 데이터
소요 시간
API 비용
초안 분량
수정 시간
콘텐츠 생산성 비교
구축 단계 타임라인
프롬프트 최적화와 콘텐츠 품질 높이는 방법
스크립트가 동작하는 것과 좋은 글이 나오는 것은 다른 문제다. AI 콘텐츠 자동화의 품질은 결국 프롬프트 설계에서 결정된다. 같은 gpt-4o-mini 모델이라도 프롬프트를 어떻게 짜느냐에 따라 발행 직전 수준의 초안이 나오기도 하고, 처음부터 다시 써야 할 수준이 나오기도 한다. 직접 여러 번 테스트하면서 효과 있었던 방법들을 정리했다.
블로그 특성을 System Prompt에 명시하기
가장 효과적인 방법은 내 블로그의 타겟 독자와 글쓰기 스타일을 System Prompt에 구체적으로 정의하는 거다. “기술 블로그 작가입니다”보다 아래처럼 구체적으로 쓸수록 결과물이 달라진다.
출력 품질을 높이는 추가 프롬프트 기법
실행 가이드 요약
최종 체크리스트
- OpenAI API 키 발급 및 .env 저장 완료
- Python 가상환경 및 패키지 설치 완료
- generate_draft.py 작성 및 초안 생성 테스트 성공
- WordPress Application Password 발급 완료
- wp_poster.py 작성 및 임시저장 테스트 성공
- main.py 통합 파이프라인 완성
- System Prompt에 내 블로그 특성 반영 완료
- 배치 처리 및 rate limit 대응 코드 추가
FAQ – 자주 묻는 질문
핵심 요약
타이핑에 쓰던 시간을 기획과 검토에 쓰자
OpenAI API WordPress 자동화의 진짜 가치는 글을 대신 써주는 게 아니라, 블로그 운영의 병목을 없애주는 데 있다. 초안 작성에 2시간 걸리던 게 30분 검토로 바뀌면, 그 시간에 키워드 리서치를 더 하거나 내부 링크 전략을 다듬을 수 있다. 세팅은 한 번, 효과는 계속된다. 지금 바로 API 키 발급부터 시작해보자.
함께 보면 좋은 글: AI 키워드 분석기 완전 가이드 / Claude Code 블로그 자동화 가이드