글을 다 써 놓고 관리자 화면에 들어가서 붙여 넣고, 제목 넣고, 태그 고르고, 이미지 올리고, 대표 이미지 지정하고, 날짜 바꾸고… 한 편에 10분은 걸렸어요. 하루 두 편이면 20분이고, 실수도 자주 났습니다. 지금은 이걸 명령어 한 줄로 합니다.
워드프레스에 원래 들어 있는 문
워드프레스에는 REST API라는 게 기본으로 들어 있어요. 쉽게 말해 관리자 화면에서 버튼으로 하는 일을 주소와 데이터로 할 수 있게 열어 둔 문입니다. 예를 들어 글 목록은 이 주소에 있어요.
https://내사이트/wp-json/wp/v2/posts
읽는 건 누구나 되지만, 글을 쓰려면 로그인이 필요합니다. 이때 실제 비밀번호를 쓰는 게 아니라 "애플리케이션 비밀번호"를 따로 만들어요.
애플리케이션 비밀번호 만들기
- 관리자 화면 → 사용자 → 프로필로 들어갑니다.
- 맨 아래 "애플리케이션 비밀번호"에 이름(예: 글쓰기)을 넣고 추가합니다.
- 나온 비밀번호를 한 번만 보여 주니 바로 저장해 둡니다.
이 비밀번호는 언제든 이 화면에서 지울 수 있어요. 진짜 비밀번호와 따로라서, 혹시 새어 나가도 이것만 지우면 됩니다. 저희는 작업 컴퓨터의 숨김 폴더에 파일로 두고 나만 읽을 수 있게 권한을 막아 뒀어요. 글이나 코드 저장소에는 절대 넣지 않습니다.
글 올리기
파이썬으로 짠 작은 스크립트를 씁니다. 하는 일은 단순해요.
python3 wp.py post 글주소 "제목" "요약" "태그1,태그2"
python3 wp.py image 글번호 대표이미지.jpg "이미지 설명"
python3 wp.py schedule 글번호 "2026-10-12 09:00"
post: 작업 컴퓨터의 HTML 파일을 읽어서 임시 글로 올리고 글 번호를 알려 줍니다.image: 이미지를 미디어에 올리고 그 글의 대표 이미지로 지정합니다. 이미지 설명(alt)도 같이 넣어요.schedule: 발행 날짜를 미래로 바꿔 예약 발행 상태로 만듭니다.
HTML을 그대로 넣으면 안 되는 이유
요즘 워드프레스 편집기(구텐베르크)는 글을 "블록" 단위로 다룹니다. HTML을 통째로 넣으면 글은 보이는데, 편집기에서 열면 전부 한 덩어리 "클래식 블록"으로 뭉쳐 있어서 고치기가 불편해요.
그래서 올리기 전에 문단, 소제목, 목록, 표를 각각 블록 표시로 감싸 줍니다.
<!-- wp:heading -->
<h2 class="wp-block-heading">소제목</h2>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>문단 내용</p>
<!-- /wp:paragraph -->
이 주석들이 편집기에게 "여기부터 여기까지가 소제목 블록"이라고 알려 줍니다. 이렇게 올리면 나중에 편집기에서 문단 하나만 고치기도 쉬워요.
해 보니 좋았던 점
- 글은 작업 컴퓨터에 파일로 남아요. 사이트가 날아가도 다시 올리면 됩니다.
- 여러 편 고칠 일이 생기면 파일을 한꺼번에 고치고 다시 올리면 끝이에요.
- 실수가 줄었습니다. 태그 빠뜨리기, 대표 이미지 안 넣기 같은 거요.
다음 글에서는 이렇게 올린 글을 어떤 리듬으로 발행하고, 검색엔진에 알리는지 적었어요.