AI를 활용한 WordPress의 Cloudflare Pages 마이그레이션
WordPress는 강력합니다. 하지만 랜딩 페이지, 포트폴리오, 기업 사이트용으로는 너무 무거운 경우가 많습니다. 단순한 HTML만 있으면 되는 콘텐츠를 위해 플러그인, 업데이트, 서버를 직접 관리해야 하기 때문입니다.
저는 Astro와 AI를 사용하여 사이트를 Cloudflare Pages로 옮겼습니다. 비용은 0원이며 속도는 더 빨라졌습니다.
진행 과정과 발생한 문제점들을 소개합니다.
기술 스택
• 정적 사이트 생성기(Static Site Generator): Astro • 호스팅: Cloudflare Pages • 폼(Forms): FormRoute • AI 어시스턴트: Claude
왜 Cloudflare Pages인가요?
• 콜드 스타트(cold starts)가 없는 글로벌 에지 네트워크. • 대역폭 제한이 없는 넉넉한 무료 티어. • Cloudflare를 DNS로 사용 중이라면 간편한 통합.
마이그레이션 단계
1. 콘텐츠 인벤토리
WordPress XML 파일을 내보냈습니다. 이 파일을 Claude에게 전달하여 모든 포스트, 슬러그(slug), 카테고리의 깔끔한 목록을 만들었습니다. 몇 시간 걸릴 일이 단 30초 만에 끝났습니다.
2. 콘텐츠 변환
WordPress는 HTML과 쇼트코드(shortcodes)를 사용하지만, Astro는 Markdown을 사용합니다. Claude를 이용해 HTML을 적절한 프론트매터(frontmatter)가 포함된 Markdown으로 변환했습니다. 콘텐츠의 80%가 성공적으로 변환되었습니다.
3. 자동화
Claude에게 마이그레이션 스크립트를 작성해 달라고 요청했습니다. 이 스크립트는 XML을 읽어 개별 Markdown 파일을 생성하고 이미지 참조를 업데이트했습니다.
발생한 문제 (20%)
정적 사이트에는 서버가 없습니다. 이는 특정 기능들이 작동하지 않음을 의미합니다:
• 문의 폼(Contact Forms): Contact Form 7과 같은 PHP 기반 폼은 작동하지 않습니다. 저는 이를 FormRoute로 교체했습니다. 폼의 action을 해당 API로 지정하기만 하면 됩니다. • 쇼트코드(Shortcodes): 갤러리나 특정 플러그인 전용 쇼트코드는 Astro에 존재하지 않습니다. 이를 컴포넌트(components)로 직접 다시 만들어야 합니다. • 검색: WordPress 검색은 서버 사이드 방식입니다. 저는 Pagefind를 사용하여 정적 사이트에 클라이언트 사이드 검색 기능을 추가했습니다. • 댓글: WordPress 댓글은 정적 사이트에서 작동하지 않습니다. 저는 댓글 기능을 제거했습니다.
결과
• 빌드 시간: 10초 미만. • 속도: 전 세계 어디서나 50ms 미만. • Lighthouse 점수: 98–100. • 비용: $0. • 유지보수: 없음.
AI 덕분에 콘텐츠 변환과 스크립트 작성에 드는 며칠간의 작업 시간을 아낄 수 있었습니다. 하지만 무엇을 남길지, 작동하지 않는 기능을 어떻게 대체할지에 대해서는 여전히 사람이 직접 결정해야 합니다.
선택 사항 학습 커뮤니티: https://t.me/GyaanSetuAi
