Next.js 15.1+는 Vercel 외 환경에서 사실상 쓸 수 없다
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- *웹 개발자, 프레임워크 선택자**
- 중급 이상의 기술 역량을 가진 개발자
- Vercel 호스팅 환경 사용자 및 대체 프레임워크 고민 중인 팀
핵심 요약
- Next.js 15.1.8 이후 메타데이터 스트리밍 기능 도입으로 Vercel 외 환경에서 심각한 SEO 및 보안 문제 발생
- 메타데이터 스트리밍은 검색 엔진 크롤러의 JS 실행 의존으로 SEO 성능 저하와 보안 취약점(CVE-2025-29927) 유발
- Next.js는 Vercel 인프라에 강하게 종속되어 있어, OpenNext 등 대체 솔루션도 제한적이고 불안정
섹션별 세부 요약
1. 메타데이터 처리 방식 변경
- Next.js 15.1.8부터 메타데이터가 HTML head에 직접 렌더링되지 않고 "메타데이터 스트리밍" 방식으로 별도 전송됨
- 검색 엔진이 JS 실행하지 않으면 메타데이터 노출 불가, SEO 점수 페널티 발생
- Vercel 외 환경에서는 htmlLimitedBots 기능으로 크롤러 감지 시 예외 처리 가능하지만 완전 해결 불가
2. Vercel 종속성 심화
- Netlify, Cloudflare, AWS 등 대체 인프라에서 OpenNext 사용 시 Next.js가 Vercel 인프라에 강하게 결합되어 이식 불가능
- 정적 빌드 시에도 메타데이터가 HTML head에 포함되지 않아 JS 실행 강요
- React Server Components와 함께 번들화되며 크롤러 감지 로직 직접 구현 필요
3. 보안 취약점
- 2025년 3월 공개된 보안 취약점(CVE-2025-29927)으로 미들웨어 인증 우회 가능
- 패치는 15.2.3 버전에서만 제공되며, 15.1.8 버전 사용 시 심각한 취약점 노출
- 메타데이터 스트리밍은 성능 문제를 은폐하고 SEO에 부정적 영향
4. 개발자 경험 및 대안
- Next.js 사용자들의 비판: 복잡한 관례, 성능 저하, 문서화 부족, 벤더 락인 문제
- Astro, Vite + TanStack Router 등 대안 프레임워크로 이동 추천
- Next.js는 정적 사이트 및 사전 빌드 SPA에 한정 사용 권장
결론
- Next.js 15.1.8 이후 버전 사용 시 Vercel 외 환경에서 SEO/보안/성능 문제가 지속 발생
- 15.2.3 이전 버전 사용 시 보안 취약점에 노출됨
- 새로운 프로젝트는 Vercel 종속성이 심한 Next.js 대신 Astro, Vite + TanStack Router 등 대안 선택 권장
- 메타데이터 스트리밍 기능은 SEO 최적화와 복잡성 증가로 인해 사용 시 주의 필요