Next.js 서버사이드 다국어(SSR) + SEO 테스트 기록 (next-intl, Vercel)
·
FrontEnd/Next.js
개요회사에서 “Next.js에서 서버사이드로 다국어를 어떻게 처리하는지, SEO까지 포함해서 실제로 동작하는지” 확인해달라는 요청을 받았다.우리 회사 환경은 다르지만 Next.js에서 관례적으로 어떻게 하는지를 먼저 정리하고, 최소 규모로 PoC(검증용 데모)를 만들어서 직접 테스트해봤다.1. 회사 요청사항을 내가 이해한 방식요구사항을 “검증 가능한 체크리스트”로 바꾸면 아래 정도였다.서버사이드 렌더링(SSR) 시점에 이미 해당 언어 콘텐츠가 HTML로 내려오는가?검색엔진(특히 Google)이 언어별 페이지를 각각 인덱싱할 수 있는 구조인가?같은 페이지라도 언어가 다르면 URL이 다르게 존재해야 한다.hreflang / canonical / sitemap 같은 SEO 신호가 제대로 나가는지 확인클라이언트..
Vercel 자동 배포 실패 – ERR_PNPM_LOCKFILE_CONFIG_MISMATCH
·
FrontEnd/Next.js
Next.js 15 프로젝트를 Vercel에 올려 두고 자동 배포를 쓰고 있었는데어느 날 Vercel에서 보안 관련 메일이 한 통 왔다.Security Update: Two additional React Server Components vulnerabilitiesCVE-2025-55184, CVE-2025-55183 (React Server Components, Next.js 영향) 내용을 요약하면App Router 엔드포인트로 악의적인 HTTP 요청을 보내면서버 프로세스가 뻗어 CPU를 소모하게 만드는 DoS 취약점 (CVE-2025-55184)Server Actions의 컴파일된 소스 코드가 응답으로 나올 수 있는 취약점 (CVE-2025-55183)React2Shell 사건 이후 RSC 쪽을 집중적..
Next.js 15에서 params와 searchParams 비동기 처리하기
·
FrontEnd/Next.js
Next.js 15를 공부하다가 params랑 searchParams를 예전처럼 동기 코드처럼 쓰다가 경고를 하나 맞았다.처음에는 그냥 타입스크립트 경고 정도겠거니 했는데, 에러 메시지를 끝까지 읽어 보니 이제 Next.js 15에서는 요청 관련 API들이 비동기로 바뀌었다는 걸 알게 됐다.내가 실제로 만난 에러 상황 정리왜 이런 경고가 뜨는지Codemod로 어떻게 자동 변환했는지최종적으로 코드를 어떻게 정리했는지1. 처음 본 에러 메시지서버 콘솔에 딱 이 에러가 찍혔다.Error: Route "/shop/[id]" used `params.id`. `params` should be awaited before using its properties. Learn more: https://nextjs.org/d..