워드 프레스가 외부와 연결하는 방법들

아래는 워드프레스(WordPress)가 외부 서비스와 연결하는 방법에 대한 정리입니다. 특히 Make.com, Zapier, 또는 외부 앱과 통신할 때 많이 사용하는 방식들(REST API, Application Password 등)에 대해 종합적이고 알기 쉽게 설명드릴게요.


✅ 워드프레스 외부 연결 방법: 총 정리

연결 방식설명사용 예보안 수준
1. REST API + Application Password가장 보편적인 방식. WordPress 5.6 이상 기본 제공🔗Make.com, Zapier 등에서 사용⭐⭐⭐⭐
2. REST API + JWT 토큰 인증JSON Web Token을 사용해 로그인처럼 인증모바일 앱, 커스텀 프론트엔드⭐⭐⭐⭐⭐
3. REST API + OAuth 2.0페이스북, 구글 로그인처럼 안전한 토큰 인증 방식기업 시스템, 고급 연동⭐⭐⭐⭐⭐
4. XML-RPC예전부터 있던 방식. 지금은 비추천오래된 앱에서 글쓰기 등⭐ (보안 취약)
5. WebhooksWordPress에서 외부로 이벤트를 실시간 전송Stripe 결제 → 글 발행⭐⭐⭐⭐
6. 플러그인 기반 API (WPGraphQL 등)REST 말고 GraphQL 방식으로 API 제공프론트엔드 개발자용⭐⭐⭐⭐

🔹 1. REST API란?

REST API는 WordPress와 외부 프로그램(예: Make, Zapier, 앱) 사이의 통신 통로입니다.

예시:

bash
GET https://openpage.store/wp-json/wp/v2/posts → 전체 글 목록 가져오기

기본적으로 누구나 이 API를 쓸 수 있지만, 쓰기(post, update 등)는 인증이 필요합니다.


🔐 인증 방법 종류

✅ A. Application Password (프로그램 비밀번호)

WordPress 5.6 이상에서는 기본 제공되는 기능으로, 가장 쉽게 쓸 수 있는 인증 방법입니다.

📌 예시 흐름:

  1. 워드프레스 → 사용자 계정 → Application Password 발급

  2. Make.com 등에서 이 정보를 사용해 연결

plaintext
Base URL: https://openpage.store Username: your_wp_username Password: (생성된 Application Password)

장점:

  • 별도 플러그인 필요 없음

  • 보안도 어느 정도 안정적


✅ B. JWT (JSON Web Token)

더 보안이 강력한 방법입니다. Access Token을 발급받아서 API 호출 시 헤더에 토큰을 포함시킵니다.

  1. WordPress에 JWT Authentication for WP REST API 플러그인 설치

  2. /jwt-auth/v1/token으로 로그인 요청

  3. 받은 토큰을 API 호출에 사용

http
Authorization: Bearer your_token_here

장점:

  • 모바일/SPA 환경에 적합

  • 로그인 유지에 유리


✅ C. OAuth 2.0

기업용 또는 외부 플랫폼 연동에 쓰이는 방식으로, 구글 로그인처럼 승인된 사용자만 접근하게 하는 시스템입니다.

사용 시:

  • WP OAuth Server 플러그인 설치 필요

  • 개발자 키 발급 및 리디렉션 URI 설정 필요

복잡하지만 보안은 최상급입니다.


🔁 REST API로 할 수 있는 대표적인 작업

기능예시 URL설명
글 목록 가져오기GET /wp-json/wp/v2/posts비로그인 허용
글 작성POST /wp-json/wp/v2/posts인증 필요
이미지 업로드POST /wp-json/wp/v2/media인증 필요
태그 목록GET /wp-json/wp/v2/tags사용 예: 자동 태그

📎 추천 구성: Make.com 연결을 예로 들면

가장 실용적인 연결은 아래 방식입니다:

css
REST API + Application Password 인증 → Make.com 또는 Zapier에서 쉽게 사용 가능 → 플러그인 없이 WordPress 5.6 이상이면 가능

🔐 보안 팁

  • Application Password는 계정마다 다르게 발급됩니다.

  • 탈퇴하거나 권한을 낮추면 API 접근도 차단됩니다.

  • 중요한 작업에는 JWT나 OAuth 같은 방식 고려


🧩 요약 정리

항목추천 방식특징
Make.com, ZapierREST API + Application Password쉽고 빠름
모바일 앱, 보안 강화REST API + JWT 토큰보안 우수
기업 인증 연동OAuth 2.0복잡하지만 안전
개발자용 확장WPGraphQLGraphQL 기반 쿼리

필요하시면 각 방식에 맞춘 **Make 설정 예시, HTTP 헤더 구성, 또는 실제 API 호출 코드(Python, JS 등)**도 알려드릴게요.

 
 
나의 말:
Make.com, REST API + Application Password 위 프로세스에 대해 상세하게 openpage.store를 예시로 들어서 설명해주세요
 
ChatGPT의 말:

물론입니다! 아래는 openpage.store 워드프레스 사이트를 Make.com에 REST API + Application Password 방식으로 연동하는 전체 과정을 상세하고 단계적으로 설명한 것입니다.


✅ 목표

Make.com에서 openpage.store 사이트의 WordPress REST API에 접근하여
글 생성, 이미지 업로드, 태그 연결 등 자동화 작업을 수행하는 것을 목표로 합니다.


1️⃣ 사전 조건

항목상태 확인 방법
WordPress 5.6 이상 사용 중워드프레스 대시보드 > 업데이트
관리자 계정 접속 가능openpage.store/wp-admin
Make.com 계정https://make.com

2️⃣ WordPress에서 Application Password 발급

🔧 절차

  1. 워드프레스 로그인 (https://openpage.store/wp-admin)

  2. 좌측 메뉴 → 사용자 > 내 프로필 클릭

  3. 아래로 스크롤 → Application Passwords 항목

  4. 앱 이름에 Make.com 입력하고 새 비밀번호 추가

  5. 복사된 Application Password를 따로 저장

📌 예시:

  • 사용자명: admin

  • 비밀번호: AbC1DeFgHiJkLmnOpQrS (자동 생성됨)

  • Base URL: https://openpage.store


3️⃣ Make.com에서 WordPress 연결 만들기

🔧 연결 방법

  1. Make.com 로그인 후 시나리오 생성

  2. ➕ 클릭 → WordPress 모듈 검색 → “Watch Posts” 또는 “Create a Post” 선택

  3. “Add” 클릭하여 새로운 연결 생성

✏️ 설정 입력

항목예시
Connection Nameopenpage.store 연결
Base URLhttps://openpage.store
Username워드프레스 사용자명 (예: admin)
Password방금 복사한 Application Password

✅ 연결 성공 시 초록 체크 표시와 함께 연결됨


4️⃣ 테스트 API 예시 (Make 시나리오 내 HTTP 요청 활용)

예: 새 글 작성 POST 요청

모듈: HTTP → Make a Request

항목
MethodPOST
URLhttps://openpage.store/wp-json/wp/v2/posts
Headers 
json
[ { "name": "Authorization", "value": "Basic YWRtaW46QWJDVERlRkdIaUprTG1uT3BRclM=" }, { "name": "Content-Type", "value": "application/json" } ]

🔐 Authorization 값은
username:password를 base64로 인코딩한 결과입니다.
위 예시는 admin:AbC1DeFgHiJkLmnOpQrS를 인코딩한 것.

| Body (JSON) |

json
{ "title": "Make.com 테스트 글입니다", "content": "이 글은 Make.com을 통해 자동 발행된 글입니다.", "status": "publish" }

결과: openpage.store에 자동으로 게시물이 생성됩니다.


5️⃣ 이미지 업로드 (선택)

  1. HTTP 모듈 → POST https://openpage.store/wp-json/wp/v2/media

  2. Header:

json
[ { "name": "Authorization", "value": "Basic ..." }, { "name": "Content-Disposition", "value": "attachment; filename=\"cut1.jpg\"" }, { "name": "Content-Type", "value": "image/jpeg" } ]
  1. Body: Binary → 해당 이미지 파일을 첨부

💡 업로드가 성공하면 JSON 응답에 source_url이 포함되며, 이를 게시글에 삽입 가능


🔄 전체 흐름도 (자동화 시나리오 예시)

csharp
[HTTP GET (외부 데이터)] ↓ [Set Variables (title, content, image_url 등)] ↓ [HTTP POST (이미지 업로드)] ↓ [HTTP POST (새 글 생성 + 이미지 URL 포함)]

🚧 오류가 발생할 경우

에러원인해결
401 Unauthorized잘못된 인증 정보비밀번호 확인 / 다시 생성
403 ForbiddenREST API 차단보안 플러그인 설정 확인 (ex. Wordfence)
404 Not FoundURL 오타 / API 비활성화wp-json/wp/v2가 열리는지 브라우저에서 확인

🧩 정리 요약

항목예시 값
Base URLhttps://openpage.store
사용자명admin (또는 본인 계정)
비밀번호Application Password
인증 방식HTTP Basic Auth (Base64 인코딩)
API 문서https://developer.wordpress.org/rest-api/

필요하시다면:

  • Base64 인코딩 자동화

  • 이미지 포함한 전체 Make 시나리오 템플릿

  • WordPress 응답 구조 파싱법

도 도와드릴 수 있습니다. 원하시면 바로 이어서 제공해드릴게요!

 
나의 말:
잘 알겠습니다. 그러면 워드프레스에 대해 내가 원하는 작업이 상이한 일이 있다면 rest api도 그 조건들이 각각 다를 수 있겠네요
 
ChatGPT의 말:

맞습니다. 아주 정확하게 이해하셨습니다!


✅ 핵심 요점

WordPress REST API는 작업 종류(글 작성, 이미지 업로드, 댓글 생성 등)에 따라 호출 방식과 요구 조건이 다릅니다.
즉, “어떤 작업을 하느냐”에 따라:

  • 요청 URL

  • HTTP 메서드 (GET, POST, PUT, DELETE)

  • 필요한 인증 여부

  • 요청 Body 구조

  • 필요 권한
    등이 모두 다르게 적용됩니다.


🔍 대표 작업별 REST API 조건 차이

작업 종류API URL 예시HTTP 메서드인증 필요필수 데이터
📄 글 목록 조회/wp-json/wp/v2/postsGET❌ (기본은 공개)없음
✍️ 새 글 작성/wp-json/wp/v2/postsPOST✅ (관리자/에디터)title, content
🖼️ 이미지 업로드/wp-json/wp/v2/mediaPOSTBinary 파일, 헤더
🏷️ 태그 목록 검색/wp-json/wp/v2/tags?search=aiGET없음
🏷️ 새 태그 생성/wp-json/wp/v2/tagsPOSTname
💬 댓글 작성/wp-json/wp/v2/commentsPOST상황에 따라 다름post, author_name, content
🧼 글 삭제/wp-json/wp/v2/posts/{id}DELETE없음

✅ 예시로 알아보는 차이점

① 글 작성 vs 글 조회

  • 조회(GET):

    http
    GET /wp-json/wp/v2/posts → 인증 없이도 가능 (공개 글에 한해)
  • 작성(POST):

    http
    POST /wp-json/wp/v2/posts Headers: Authorization: Basic YWRtaW46... Body: { "title": "AI 블로그 시작", "content": "Make.com으로 자동화된 글입니다.", "status": "publish" } → 관리자 권한 필요 + 인증 필수

② 이미지 업로드는 일반 JSON이 아님

http
POST /wp-json/wp/v2/media Headers: Content-Disposition: attachment; filename="cut1.jpg" Content-Type: image/jpeg Authorization: Basic ... Body: (binary image data)

Body에 JSON이 아니라 이미지 자체가 들어갑니다.


③ 댓글 작성은 로그인 필요 없음도 가능 (옵션 설정에 따라)

json
{ "post": 123, "author_name": "홍길동", "author_email": "hong@example.com", "content": "좋은 글이네요!" }

→ WordPress에서 “로그인 안 한 사용자 댓글 허용” 설정이 켜져 있으면 인증 없이도 가능


🧭 내가 하고자 하는 작업이 있다면?

작업 목표REST API URL 예시추가 조건
카테고리 추가/wp-json/wp/v2/categoriesPOST + name 필요
사용자 목록 가져오기/wp-json/wp/v2/users관리자만 접근 가능
특정 태그 ID 조회/wp-json/wp/v2/tags?search={{tag}}자동화 태깅 시 유용
특정 조건 글 불러오기/wp-json/wp/v2/posts?categories=5&per_page=3카테고리 필터링

🧩 요약

  • WordPress REST API는 작업마다 사용 조건이 다릅니다.

  • REST API 명세서 없이도 대부분의 기능은 URL 구조만 이해하면 사용할 수 있습니다.

  • 인증이 필요한 작업(글 작성, 수정, 업로드)은 반드시 Application Password나 JWT 등 인증이 있어야 합니다.


필요하신 작업(예: 카테고리 자동 지정, 댓글 자동 승인, 특정 조건 글만 발행 등)을 알려주시면 해당 API 구조와 Make.com 연동 예시까지 구체적으로 안내해드릴 수 있어요.

 

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다