문제
기존 사이트는 무료 테마 기반의 평범한 워드프레스 블로그였습니다. 세 가지 문제가 겹쳤습니다.
- 정체성 부재 — 첫 화면이 글 목록이라 "무엇을 만드는 개발자인지"가 보이지 않았습니다.
- 인프라 시한부 — AWS Lightsail의 Bitnami 블루프린트가 지원 종료 예정이라, 언젠가는 서버 이전이 필요했습니다.
- 콘텐츠는 자산 — 이미 GPT 파이프라인이 매일 글을 발행 중이었고, 650개+ 글의 검색 유입을 잃으면 안 됐습니다.
설계
세 도메인으로 역할을 분리하고, 이전은 무중단 블루-그린 방식으로 진행했습니다.
포트폴리오 랜딩 (Astro 정적)
워드프레스 + 자체 테마
↑ 같은 Lightsail 인스턴스, Apache vhost로 분리
GPT 파이프라인 · 크론
OpenAI · CoinGecko · GitHub
- 새 인스턴스를 완전히 세팅한 뒤 DNS만 전환 — 다운타임 0
- 글 슬러그를 그대로 보존하고, 옛 주소는
.htaccess301 체인으로 새 블로그의 같은 글에 연결 (SEO 승계) - www → 루트 → 블로그로 이어지는 리다이렉트로 도메인 구조 정리
구현 포인트
1. GPT 무인 발행 파이프라인
Python 스크립트가 크론으로 하루 3회 실행됩니다. Product Hunt·Google News·시세 API에서 데이터를 수집하고, GPT가 SEO 최적화된 글을 작성하면 대표 이미지 생성(gpt-image-1)과 메타·FAQ 스키마까지 붙여 WordPress REST API로 발행합니다. 사람 손을 거치지 않고 콘텐츠가 쌓입니다.
2. 자체 제작 워드프레스 테마
무료 테마를 버리고 처음부터 만들었습니다. 랜딩과 동일한 디자인 언어(다크 + 그라디언트), 조회수 기반 인기 글, 본문 목차 자동 생성, 관련 글 추천을 직접 구현했고 — 불필요한 CSS/JS가 사라지면서 로딩도 가벼워졌습니다. 테마에 CORS 헤더를 내장해 랜딩이 블로그 데이터를 실시간으로 가져올 수 있게 했습니다.
3. 정적 랜딩 + 라이브 데이터
랜딩은 Astro 정적 사이트지만, 빌드 시점에 코인 시세·최신 글·GitHub 저장소를 가져와 HTML에 박아두고 브라우저에서 최신값으로 갱신합니다. 크롤러와 느린 환경에서도 실제 데이터가 보이고, 방문자는 실시간 값을 봅니다. 김치 프리미엄과 공포·탐욕 지수까지 보여주는 코인 대시보드도 같은 방식입니다.
결과
서버 이전, 테마 교체, 도메인 재구성, 광고(애드센스) 승계까지 하루 만에 완료했고, 이후 랜딩·블로그·자동화가 각자 독립적으로 개선 가능한 구조가 됐습니다.