내 WordPress 사이트 47개를 WordPress에서 마이그레이션했다

지난주에 WordPress 사이트 47개를 WordPress에서 마이그레이션했다. 절대 실패하지 않은 의사결정 규칙은 이것이다: WordPress와 싸우는 데 시간을 더 쓴다면 기능을 개발하는 것보다, 떠난다.

그렇게 들으면 너무 단순하게 들릴 거라는 걸 안다. 하지만 몇 년간 WordPress로 빌드하고, 몇 년간 프로젝트를 WordPress에서 떼어내며, 나는 "머물까, 떠날까" 문제를 더 체계적인 것으로 정제했다. 정직하고 정량화 가능한 답을 주는 5가지 질문 프레임워크다. 직관이 아니다. PHP나 React에 대한 진영 충성심도 아니다. 현실의 문제점에 매핑되는 체크리스트일 뿐이다.

내가 먼저 설명하겠고, 그 다음에 어디로 가야 하는지, 비용이 얼마나 드는지, 조심하지 않으면 마이그레이션을 망칠 실수들에 대해 얘기하자.

목차

5가지 질문 프레임워크: WordPress를 떠나야 할까?

나는 이 프레임워크를 클라이언트들, 자신의 프로젝트, 스택을 평가하는 개발팀과 함께 썼다. 예/아니오 질문 5개다. 각각은 WordPress 고통의 특정 카테고리 — 플러그인 과다, 비용, 보안, 성능, 속도 — 를 목표로 한다.

1. 20개 이상의 활성 플러그인이 있는가?

20개가 그 숫자다. 그것에 뭔가 마법 같은 게 있어서가 아니라, 그게 WordPress가 CMS에서 벗어나 add_filter 훅과 기도로 붙잡혀 있는 프랑켄슈타인 괴물이 되는 임계값이기 때문이다.

모든 플러그인은 통제할 수 없는 의존성이다. 모든 플러그인 업데이트는 잠재적 breaking change다. 그리고 2026년에, WordPress 플러그인 생태계는 무시하기 어려운 보안 문제가 있다: Patchstack은 2025년에 11,300개 이상의 플러그인 CVE가 보고되었다고 했고, 전년도 대비 42% 증가했다. 플러그인이 많을수록 공격 노출 면적이 늘어난다.

지금 활성 플러그인을 세어봐라. 나는 기다리겠다.

30개 이상이라면, 당신은 거의 확실히 기능을 중복하거나 서로 충돌하거나, WordPress가 기본적으로 하지 않는 것을 위해서만 존재하는 플러그인들을 실행 중이고, 현대 프레임워크들은 바로 처리한다 — 이미지 최적화, 캐싱, SEO 메타 태그, 폼 처리 같은 것들.

2. 관리형 호스팅에 월 $100 이상을 지출하는가?

WordPress는 어떻게든 호스팅하는 데 막대한 비용이 드는 "자유" 소프트웨어다. WP Engine, Kinsta, 또는 Flywheel에 있다면, 단일 사이트당 월 $30-$115을 지출할 가능성이 높다. 5-10개 사이트로 확장하면 월 $300-$600을 보고 있다.

한편, Vercel 또는 Netlify에서 정적으로 생성된 사이트는? 무료 tier가 대부분의 마케팅 사이트를 처리한다. 심지어 Vercel Pro에서 headless CMS + Next.js 설정도 월 $20이다. 그건 같은 수준의 비교가 아니다 (WordPress는 데이터베이스, 관리자 UI 등을 포함한다), 하지만 그게 요점이다 — 당신은 필요하지 않을 수도 있는 인프라에 대해 지불하고 있다.

당신의 호스팅 청구서가 당신을 움찔하게 한다면, 그건 신호다.

3. 지난 12개월 동안 해킹당했거나 다운타임을 겪었는가?

이건 이진 질문이고 대부분의 개발자가 인정하는 것보다 더 중요하다. WordPress는 웹의 ~40%에 전력을 공급하고 있고, 이는 자동화된 공격에서 가장 큰 단일 목표가 된다. 무차별 대입 로그인 시도, 구식 플러그인을 통한 SQL 주입, null 테마를 통해 주입된 악성코드 — 나는 모두 봤다.

해킹당했다면, 당신은 절차를 안다: Sucuri 스캔, 데이터베이스 정리, 비밀번호 로테이션, 클라이언트 패닉. 플러그인 업데이트가 오전 2시에 당신의 사이트를 망가뜨려서 다운타임이 있었다면, 당신은 그 느낌도 안다.

공개 관리자 패널이 없는 현대 정적 사이트와 서버 렌더링 앱은 이 공격 표면을 갖지 않는다. 무차별 대입할 /wp-admin이 없다. 이용할 xmlrpc.php가 없다. 보안 모델이 근본적으로 다르다.

4. 모바일에서 Core Web Vitals이 실패하고 있는가?

Google의 Core Web Vitals은 2026년에 SEO의 필수 조건이다. 그리고 WordPress 사이트들은 일관되게 여기서 투쟁한다. 2025 HTTP Archive 분석은 대략 71%의 WordPress origins이 모바일 CWV 평가에 실패했다고 보여줬다 — Next.js와 Astro 같은 프레임워크에 빌드된 사이트들에 비해 훨씬 더 좋은 통과율.

범인은? 테마와 플러그인으로부터의 render-blocking CSS. 최적화되지 않은 현대 포맷 없이 제공되는 이미지. 페이지 빌더로부터의 과도한 DOM 크기. 처음부터 필요하지 않던 JavaScript. 당신은 캐싱 플러그인을 문제에 투척할 수 있지만, 당신은 증상을 치료하고 있지, 원인을 치료하지 않는다.

당신의 사이트를 PageSpeed Insights를 통해 실행해라. 모바일 LCP가 2.5초 위이고 CLS이 실패하면, WordPress 자체가 병목일 수도 있다.

5. 당신의 팀이 WP가 허용하는 것보다 더 빠르게 기능을 배포하고 싶은가?

이것이 엔지니어링 팀에게 가장 중요한 질문이다. WordPress의 개발 모델 — PHP 템플릿, 루프, 훅과 필터, Gutenberg 블록 API — 은 빌드하는 특정한 방식이다. 나쁘지 않다. 하지만 React, Vue, 또는 Svelte와의 컴포넌트 기반 개발에 비해 느리다.

당신의 팀이 더 많은 시간을 사용하고 있다면:

  • Block Editor의 React-하지만-정말-아닌 아키텍처와 씨름
  • 테마 제한사항을 해결하기 위해 커스텀 PHP 작성
  • 업데이트 이후 플러그인 충돌 디버깅
  • 전체 페이지 캐시 무효화 대기

...당신의 사용자들이 원하는 기능을 실제로 빌드하는 것보다, 그것이 당신의 답변이다.

현대 프레임워크는 더 빠르게 배포하게 한다. 그것은 의견이 아니다 — 그것은 물리다. 핫 모듈 리로딩, TypeScript, API 기반 콘텐츠가 있는 컴포넌트 기반 아키텍처는 반복 속도에서 WordPress 개발 루프를 매번 이긴다.

답변 점수 매기기

여기 의사결정 행렬이다. 목적상 단순하다:

Yes 답변 권장사항 근거
0-1 WordPress에 머물러라 당신의 문제들은 관리 가능하다. 당신이 가진 것을 최적화하라.
2 머물러라, 하지만 계획하라 대체재 프로토타이핑을 시작하라. 당신은 임계점에 접근 중이다.
3 마이그레이션을 시작하라 고통이 실제하고 사라지지 않을 거다. 탈출 계획을 시작하라.
4-5 지금 떠나라 WordPress는 당신의 시간, 돈, 보안에 활발하게 비용을 들이고 있다. 마이그레이션을 우선시하라.

나는 아마 60개 이상의 프로젝트에 이것을 적용했다. 거짓 긍정을 준 적이 없었다. 3점 이상을 얻고 WordPress에 머물렀던 클라이언트들? 그들은 6-12개월 후에 돌아왔고, 마이그레이션은 더 어렵고 비쌌다.

마이그레이션할 곳 (사용 사례별로 매핑됨)

여기가 대부분의 "WordPress를 떠나라" 기사가 무너지는 부분이다. 그들은 모든 것에 Next.js를 사용하라고 할 것이고, 아니면 어떤 상황에 맞는지 말하지 않고 15개 CMS 옵션을 나열할 것이다. 구체적으로 하겠다.

마케팅 사이트와 블로그

권장 스택: Astro + headless CMS (Sanity, Storyblok, 또는 Contentful)

Astro는 기본적으로 WordPress를 콘텐츠 사이트를 위해 대체하기 위해 설계되었다. 기본적으로 JavaScript를 0개 배송하고, 정적 HTML을 생성하고, 부분 hydration을 지원한다. 당신의 lighthouse 점수는 한밤중에 "실망스러운" 에서 "완벽한"으로 갈 것이다.

우리는 Social Animal에서 많이 빌드한다 — 우리의 Astro development capabilities은 정확히 이 마이그레이션 경로를 향해 크게 지향되어 있다. Astro와 Sanity Studio를 페어링하면 당신의 콘텐츠 편집자들은 WordPress가 그들에게 준 것보다 더 나은 저작 경험을 얻는다.

전자상거래

권장 스택: Next.js + Shopify (headless) 또는 Medusa.js

WooCommerce를 실행 중이라면, 당신은 이미 고통을 안다. WooCommerce는 강력하지만 로드 하에 깨지기 쉽고, 심각한 캐싱 인프라 없이는 느리고, 커스터마이징하는 데 비싸다. Shopify의 Storefront API와 Next.js 프론트엔드는 당신의 자신의 데이터베이스를 실행하지 않고 카트 기능, 체크아웃, 및 재고 관리를 제공한다.

완전한 제어를 원하고 자체 호스팅하려는 팀의 경우, Medusa.js는 2026년에 상당히 성숙했고 평가할 가치가 있다.

웹 응용 프로그램 (대시보드, 포탈, SaaS)

권장 스택: Next.js (App Router) + 콘텐츠 섹션을 위한 headless CMS + 당신의 자신의 API

당신이 커스텀 포스트 타입, ACF, REST API 엔드포인트들로 WordPress를 애플리케이션으로 해킹했다면... 멈춰라. WordPress는 애플리케이션 프레임워크가 되도록 의도되지 않았다. 서버 컴포넌트, 서버 액션, 미들웨어가 있는 Next.js는 당신에게 실제 애플리케이션 아키텍처를 준다.

콘텐츠 매우 많은 편집 사이트

권장 스택: Next.js 또는 Astro + Sanity 또는 Strapi

편집 팀은 구조화된 콘텐츠 모델링, 초안 미리보기, 협력적 편집이 필요하다. 여기가 headless CMS가 빛나는 곳이다. Sanity의 실시간 협력은 WordPress의 Gutenberg 편집자보다 몇 년 앞서 있다. Strapi는 깔끔한 관리자 패널과 함께 자체 호스팅 옵션을 제공한다.

사용 사례 권장 프론트엔드 권장 CMS 호스팅 예상 월 비용
마케팅 사이트 / 블로그 Astro Sanity 또는 Contentful Vercel / Netlify $0-$20
전자상거래 Next.js Shopify Storefront API Vercel $29-$79 (Shopify) + $20 (Vercel)
웹 응용 프로그램 Next.js Sanity (콘텐츠용) Vercel / AWS $20-$100
편집 / 퍼블리싱 Next.js 또는 Astro Sanity 또는 Strapi Vercel $0-$99

그것을 당신의 현재 WordPress 호스팅 청구서와 비교하라. 대부분의 팀들에 대해, 인프라 비용은 30-60% 떨어진다.

마이그레이션 타임라인과 비용 (실제 숫자)

나는 클라이언트들을 두려워하게 할까봐 퍼블리시하기를 두려워하는 숫자를 주려고 한다. 이들은 실제 마이그레이션을 기반으로 하고 2025-2026년에 관찰했다.

작은 사이트 (50페이지 미만, 간단한 블로그)

  • 타임라인: 3-5주
  • 비용: $5,000-$12,000 (에이전시) / 40-80시간 (사내)
  • 핵심 작업: 콘텐츠 내보내기 및 구조화, Astro/Next.js의 템플릿 리빌드, CMS 설정, 리디렉트 매핑, DNS 전환
  • 가장 어려운 부분: 페이지 빌더 shortcodes에서 콘텐츠 추출. 당신의 콘텐츠가 [vc_row] 또는 Elementor JSON blob으로 가득 찼다면, 콘텐츠 정리를 위해 추가 시간을 예산하라.

중간 사이트 (50-200페이지, 여러 콘텐츠 타입)

  • 타임라인: 6-10주
  • 비용: $15,000-$35,000 (에이전시) / 120-250시간 (사내)
  • 핵심 작업: 위의 모든 것, 플러스 headless CMS에서의 콘텐츠 모델링, 커스텀 컴포넌트 개발, 폼 마이그레이션, 제3자 통합 재배선 (분석, 이메일 마케팅, CRM)
  • 가장 어려운 부분: 새로운 콘텐츠 모델에서 커스텀 ACF 필드 그룹과 관계 리빌드. 이것이 대부분의 타임라인 추정이 폭발하는 곳이다.

큰 사이트 (200+페이지, 전자상거래, 커스텀 기능)

  • 타임라인: 12-20주
  • 비용: $40,000-$80,000+ (에이전시) / 400-800+시간 (사내)
  • 핵심 작업: 전체 콘텐츠 감사, 단계별 마이그레이션 전략, 데이터 마이그레이션 스크립트, 전자상거래 플랫폼 마이그레이션, 사용자 계정 마이그레이션, SEO 보존 (리디렉트, sitemap, 구조화된 데이터)
  • 가장 어려운 부분: SEO를 망치지 않는 것. 큰 사이트들은 몇 년의 백링크, 인덱싱된 페이지, 검색 권한을 축적했다. 하나의 망쳐진 리디렉트 맵은 몇 달 동안 당신의 유기 트래픽을 탱크할 수 있다.

이 숫자들은 높아 보일지도 모르지만, WordPress에 머무르는 것의 총 소유 비용과 비교해라 다음 3년 동안: 관리형 호스팅 (월 $100-$300 × 36 = $3,600-$10,800), 프리미엄 플러그인 라이센스 (연 $500-$2,000 × 3 = $1,500-$6,000), 보안 인시던트 대응 (인시던트당 $2,000-$10,000), 그리고 기능을 개발하는 대신 유지보수에 소비된 개발자 시간.

당신의 프로젝트에 대해 특정한 것들을 얘기하고 싶다면, 우리의 pricing page는 우리가 이것을 어떻게 접근하는지 명시하고, 당신은 항상 직접 연락할 수 있다.

WordPress 마이그레이션을 망치는 3가지 실수

나는 이들이 마이그레이션을 죽이는 것을 봤다. "지연을 야기한다"가 아니다 — 이들을 죽인다. 즉, 팀이 포기하고 WordPress로 돌아가며, 몇 개월과 수만 달러를 낭비했다.

실수 1: 콘텐츠를 구조화하지 않고 마이그레이션하기

가장 큰 실수는 마이그레이션을 copy-paste 작업으로 취급하는 것이다. 당신은 WordPress 게시물과 페이지를 내보내고, 새로운 CMS로 가져가고, 같은 템플릿을 리빌드한다. 이것은 당신에게 더 반짝이는 상자에 같은 엉망진창 콘텐츠 아키텍처를 제공한다.

마이그레이션의 전체 요점은 구조화하는 것이다. WordPress는 평평한 콘텐츠 모델을 장려한다: 게시물, 페이지, 그리고 ACF 필드가 볼트로 조인된 커스텀 포스트 타입들. headless CMS는 당신이 타입이 지정된 필드, 참조, 검증으로 적절한 콘텐츠 모델을 정의하게 한다.

코드 한 줄을 쓰기 전에 당신의 콘텐츠를 감시하는 시간을 소비하라. 당신이 실제로 필요한 콘텐츠 타입이 뭔가? 어떤 필드가 중요한가? 어떤 페이지가 통합되거나 삭제될 수 있는가? 나는 200페이지 WordPress 사이트들이 마이그레이션 중에 60페이지의 잘 구조화된 콘텐츠로 축소되는 것을 봤다 — 가치 손실이 전혀 없이.

실수 2: 리디렉트 맵을 무시하기

WordPress URL들은 특정한 패턴을 따른다 (/2024/03/post-title/, /category/uncategorized/, 등). 당신의 새로운 사이트는 다른 URL 패턴들을 가질 것이다. 모든 구식 URL은 그 새로운 동등물로 리디렉트해야 하거나, 당신은 그 페이지들이 빌드업한 SEO 가치를 잃는다.

이것은 지루하고, 영광 없는 일이다. 이것은 또한 전체 마이그레이션에서 가장 단일 중요한 기술 작업이다. Screaming Frog 같은 crawling 도구를 사용하여 모든 인덱싱된 URL을 내보내고, 각각을 새로운 목적지로 매핑하고, 301 리디렉트를 구현하라.

// next.config.js — 리디렉트 매핑 예시
const nextConfig = {
  async redirects() {
    return [
      {
        source: '/2024/03/old-post-slug/',
        destination: '/blog/new-post-slug',
        permanent: true,
      },
      {
        source: '/category/:slug',
        destination: '/topics/:slug',
        permanent: true,
      },
      // ... 잠재적으로 수백 개
    ];
  },
};

큰 사이트의 경우, 당신은 손으로 매핑하기보다는 당신의 콘텐츠 내보내기에서 프로그래밍 방식으로 이들을 생성하고 싶을 것이다.

실수 3: 런칭 전에 편집자들에게 CMS를 주지 않기

개발자들은 마이그레이션을 좋아한다. 콘텐츠 편집자들은 그들을 미워한다. 당신은 그들이 알던 도구 (WordPress)를 떼어내고 무언가 낯선 것을 그들에게 건네고 있다. 당신이 편집자들을 일찍 포함하지 않으면 — 새로운 CMS에 대해 그들을 훈련시키고, 콘텐츠 저작 워크플로우에 대한 그들의 피드백을 얻고, 그들이 개발자 도움 없이 실제로 퍼블리시할 수 있도록 확인하면 — 그들은 반란을 일으킬 것이다.

나는 런칭 2주 전에 마이그레이션이 취소되는 것을 봤다 왜냐하면 마케팅 팀이 "우리는 이것으로 일할 수 없다"고 말했기 때문이다. 개발 팀은 아름다운 Astro 사이트를 Sanity Studio와 함께 빌드했지만, 아무도 런칭 주까지 편집자들에게 Sanity가 어떻게 작동하는지 보여주지 않았다.

편집자들을 주 10이 아닌 주 2에 참여시켜라. 그들에게 새로운 CMS에서 시험 콘텐츠를 생성하게 하라. 그들의 불평을 들어라. Studio 구성을 조정하라. 이것이 채택을 만들거나 깬다.

FAQ

WordPress를 떠날 시간을 어떻게 아는가?

위의 5가지 질문 프레임워크를 사용하라. 3개 이상의 질문에 "예"라고 답하면 — 20개 초과 플러그인, 월 호스팅 $100 초과, 보안 인시던트, 실패한 Core Web Vitals, 또는 당신의 팀이 충분히 빠르게 배포할 수 없으면 — 떠날 때다. 프레임워크는 WordPress를 미워하는 것에 관한 것이 아니다. 플랫폼이 당신을 돕고 있는지 아니면 당신을 잡고 있는지 정직하게 평가하는 것에 관한 것이다. 2개 이하? WordPress는 아마도 당신의 필요에 여전히 좋고, 당신은 당신이 가진 것을 최적화하는 데 포커스해야 한다.

가장 싼 WordPress 대안은 뭔가?

Astro는 무료 tier headless CMS (Sanity의 무료 계획은 3명 사용자 지원, Contentful의 무료 계획은 5명 사용자 지원)와 함께 Netlify 또는 Vercel의 무료 tier에 배포된다. 총 비용: 월 $0. 진지하게. 마케팅 사이트나 블로그의 경우, 이 스택은 프로덕션 준비가 되어 있고 $100/월 관리형 WordPress 설정보다 더 잘 수행한다. 함정은 당신은 Astro와 선택의 CMS에 편한 개발자가 필요하다는 것이다 — 하지만 당신이 이 기사를 읽고 있다면, 그게 아마도 당신일 것이다.

WordPress에서 마이그레이션하는 데 얼마나 오래 걸리는가?

전형적인 작은 사이트 (50페이지 미만)의 경우, 3-5주를 예상하라. 50-200페이지의 여러 콘텐츠 타입을 가진 중간 사이트들은 6-10주를 실행한다. 전자상거래 또는 복잡한 커스텀 기능을 가진 큰 사이트들은 12-20주를 걸릴 수 있다. 가장 큰 변수는 코드가 아니다 — 이것은 콘텐츠다. 당신의 콘텐츠가 깨끗하고 잘 구조화되었다면, 마이그레이션은 빠르게 간다. 만약 그것이 페이지 빌더 shortcodes와 깊게 중첩된 ACF 필드 그룹에 갇혀있다면, 추출과 구조화를 위해 추가 시간을 예산하라.

WordPress에서 마이그레이션하면 SEO를 잃을까?

당신은 할 수 있지만, 당신이 그것을 올바르게 하면 당신은 하지 않을 것이다. 중요한 단계는 모든 구식 URL에서 그 새로운 동등물로의 완전한 301 리디렉트 맵을 구현하는 것이다. 당신은 또한 메타 타이틀, 설명, 구조화된 데이터 (schema markup)를 보존해야 한다. 마이그레이션 전에 당신의 기존 사이트를 Screaming Frog로 crawl하고, 모든 인덱싱된 URL을 내보내고, 런칭 후 모든 리디렉트가 작동하는지 확인하라. 대부분의 잘 실행된 마이그레이션은 순위에서 임시 2-4주 변동을 본다, 더 나은 Core Web Vitals 감사로 인한 개선이 이어진다.

WordPress를 headless CMS로 사용할 수 있을까 대신 완전히 마이그레이션하는?

예, 그리고 이것은 유효한 중간 단계다. WordPress의 REST API (또는 WPGraphQL)는 당신이 WordPress를 콘텐츠 백엔드로 사용하면서 Next.js 또는 Astro에서 현대 프론트엔드를 빌드하게 한다. 이 접근은 당신의 편집자들이 그들이 아는 WordPress 관리자를 계속 사용하면서 당신의 개발 팀이 더 빠른 프론트엔드를 빌드하게 한다. 단점: 당신은 여전히 WordPress 설치를 유지한다 (모든 보안과 업데이트 오버헤드), 그리고 REST API는 캐싱 없이 느릴 수 있다. 나는 이것을 목적지가 아닌 징검다리로 추천할 것이다.

WordPress에서 마이그레이션하면 내 플러그인들에 뭐가 되는가?

그들은 간다 — 그리고 그것이 요점이다. 대부분의 플러그인들은 WordPress에서의 간격을 채우기 위해 존재한다 (SEO, 캐싱, 폼, 이미지 최적화, 보안). 현대 스택에서, 이들은 프레임워크 또는 빌드 도구에 의해 처리된다. Next.js는 built-in 이미지 최적화가 있다. Astro는 기본적으로 0 JS를 배송한다. Contact 폼들은 Formspree 또는 Resend 같은 서비스를 사용할 수 있다. 분석은 Plausible 또는 Vercel Analytics로 이동한다. 당신은 당신의 플러그인 리스트를 감시하고 각각을 새로운 스택에서 그 대체물로 매핑해야 한다.

모두 한 번에 마이그레이션해야 할까 아니면 단계별로?

100페이지 미만의 사이트는, 모두 한 번에 마이그레이션하라. 두 시스템을 동시에 실행하는 것의 조정 오버헤드는 그것의 가치가 없다. 큰 사이트 (200+페이지)의 경우, 단계별 접근을 고려하라: 마케팅 페이지와 블로그를 먼저 마이그레이션하고, 복잡한 섹션 (전자상거래, 사용자 포탈)을 임시로 WordPress에 계속하고, reverse proxy 규칙을 사용하여 같은 도메인에서 둘 다 제공하라. 이것은 위험을 감소시키지만 아키텍처 복잡성을 증가시킨다.

WordPress를 떠나서 마이그레이션하려면 에이전시가 필요한가, 아니면 스스로 할 수 있는가?

달려있다. Next.js 또는 Astro에 편한 개발자는 간단한 블로그를 몇 주말 만에 마이그레이션할 수 있다. 하지만 복잡한 콘텐츠 모델, 전자상거래, 커스텀 기능, 또는 높은 SEO 지분을 가진 사이트들의 경우, 이것을 이전에 한 팀과 일하는 것은 실제 시간과 돈을 절약한다. 우리는 이러한 마이그레이션을 수십 개 했다 — 패턴들은 예측 가능하고, 함정들은 잘 알려져 있다. 당신의 구체적인 상황에 대해 얘기하고 싶다면 당신의 capabilities를 확인하거나 직접 연락하라.