구조·마크업 · 공식 문서

동적 렌더링 뜻, 지금 써도 되는지 판단 기준

동적 렌더링은 크롤러에게만 자바스크립트를 미리 실행한 HTML을 주고 사용자에게는 원래 화면을 주는 방식입니다. 구글은 이를 권장하지 않는 임시방편으로 적고, 서버 측 렌더링·정적 렌더링·하이드레이션을 권합니다.

자바스크립트로 화면을 그리는 사이트가 검색에 잘 안 잡힐 때 한동안 동적 렌더링이 해법처럼 쓰였습니다. 크롤러가 오면 미리 그린 HTML을 따로 주는 방식입니다.

구글 검색 센터는 지금 이 방식을 장기 해법이 아니라 임시방편이라고 적습니다. 그래서 새로 도입할지, 쓰던 것을 옮길지를 나눠서 판단합니다.

발견 01

동적 렌더링은 요청을 판별해 크롤러에게만 다른 HTML을 주는 3단계 구조입니다

단계하는 일공식 문서 원문
요청 판별웹 서버가 User-Agent 등으로 요청이 크롤러인지 판별합니다.Dynamic rendering requires your web server to detect crawlers (for example, by checking the user agent).동적 렌더링을 하려면 웹 서버가 크롤러를 판별해야 한다(예: User-Agent 확인).
크롤러에게렌더링 서버가 자바스크립트를 미리 실행한 정적 HTML을 돌려줍니다.The rendering server responds to requests with a version of the content that's suitable to the crawler, for example, it may serve a static HTML version.렌더링 서버는 크롤러에게 맞는 버전의 콘텐츠로 응답한다. 예를 들어 정적 HTML 버전을 보낼 수 있다.
사용자에게평소처럼 브라우저에서 자바스크립트로 그리는 페이지를 돌려줍니다.A dynamic rendering server detects bots that may have problems with JavaScript-generated content and serves a server-rendered version without JavaScript to these bots while showing the client-side rendered version of the content to users.동적 렌더링 서버는 자바스크립트 콘텐츠를 처리하기 어려운 크롤러를 판별해 자바스크립트 없이 서버에서 렌더링한 버전을 주고, 사용자에게는 클라이언트 측에서 렌더링하는 버전을 보여 준다.
원문은 구글 「Dynamic rendering as a workaround」입니다.

핵심은 서버가 요청을 보낸 상대가 크롤러인지 판별한다는 점입니다. 판별 목록에 없는 크롤러는 자바스크립트로 그리는 원래 페이지를 받습니다.

구글은 다른 검색엔진이 자바스크립트를 무시할 수 있다고도 적었습니다. 판별 목록을 관리하는 일이 계속 따라옵니다.

Other search engines may choose to ignore JavaScript and won't see JavaScript-generated content.

다른 검색엔진은 자바스크립트를 무시하고 자바스크립트로 만든 콘텐츠를 보지 않을 수 있다.

Google Search Central 「Dynamic rendering as a workaround」

발견 02

구글은 동적 렌더링을 임시방편으로 적고, 대신 3가지 방식을 권합니다

Dynamic rendering was a workaround and not a long-term solution for problems with JavaScript-generated content in search engines. Instead, we recommend that you use server-side rendering, static rendering, or hydration as a solution.

동적 렌더링은 검색엔진이 자바스크립트로 만든 콘텐츠를 읽지 못하는 문제의 임시방편이었고 장기 해법이 아니었다. 대신 서버 측 렌더링, 정적 렌더링, 하이드레이션을 권한다.

Google Search Central 「Dynamic rendering as a workaround」
권하는 방식하는 일용어 정의 원문
서버 측 렌더링요청마다 서버에서 HTML을 만들어 보냅니다.Rendering an app on the server to send HTML, rather than JavaScript, to the client.앱을 서버에서 렌더링해 자바스크립트가 아니라 HTML을 클라이언트에 보내는 것.
정적 렌더링빌드할 때 URL마다 HTML 파일을 미리 만들어 둡니다.Static rendering happens at build time.정적 렌더링은 빌드할 때 일어난다.
하이드레이션서버가 만든 HTML 위에서 자바스크립트가 상호작용을 붙입니다.Running client-side scripts to add application state and interactivity to server-rendered HTML.서버에서 렌더링한 HTML에 클라이언트 스크립트를 실행해 앱 상태와 상호작용을 더하는 것.
용어 정의는 web.dev 「Rendering on the Web」에서 옮겼습니다. 세 방식 모두 크롤러가 받는 첫 HTML에 본문이 들어 있습니다.

같은 구글 계열 문서라도 web.dev 글에는 동적 렌더링을 「고려할 만한 선택지」로 적은 문장이 남아 있습니다. 검색 판단은 검색 센터 문서를 기준으로 삼습니다.

세 방식의 차이와 사이트별 고르는 법은 「SSR CSR SSG SEO 차이」 편에 자세히 적었습니다.

More recently, dynamic rendering has also become an option worth considering if your architecture depends heavily on client-side JavaScript.

최근에는 클라이언트 측 자바스크립트에 크게 기대는 구조라면 동적 렌더링도 고려할 만한 선택지가 되었다.

web.dev (Google Chrome) 「Rendering on the Web」

발견 03

지금 쓸지 옮길지는 상황 6가지로 판단하고, 내용이 다르면 바로 고칩니다

상황판단공식 문서 원문
새로 만드는 사이트처음부터 서버 측 렌더링이나 정적 렌더링으로 설계합니다.Instead, we recommend that you use server-side rendering, static rendering, or hydration as a solution.대신 서버 측 렌더링, 정적 렌더링, 하이드레이션을 해법으로 쓰기를 권한다.
이미 동적 렌더링을 쓰고 있고 문제가 없는 사이트당장 끄기보다 유지하면서, 다음 개편 때 서버 측 렌더링으로 옮길 계획을 세웁니다.Dynamic rendering is a workaround and not a recommended solution, because it creates additional complexities and resource requirements.동적 렌더링은 복잡성과 자원 부담을 더하기 때문에 권장 해법이 아니라 임시방편이다.
크롤러에게 준 HTML과 사용자 화면의 내용이 다른 사이트바로 같은 내용으로 맞춥니다. 내용이 완전히 다르면 클로킹으로 볼 수 있습니다.Using dynamic rendering to serve completely different content to users and crawlers can be considered cloaking.동적 렌더링으로 사용자와 크롤러에게 완전히 다른 콘텐츠를 주면 클로킹으로 볼 수 있다.
렌더링 서버가 오류 페이지를 내보내는 사이트오류 페이지로 처리되므로, 렌더링 서버의 상태 코드와 시간 초과를 점검합니다.When you're setting up dynamic rendering, your site may produce error pages. Googlebot doesn't consider these error pages as cloaking and treats the error as any other error page.동적 렌더링을 설정하다 보면 오류 페이지가 생길 수 있다. Googlebot 은 이런 오류 페이지를 클로킹으로 보지 않고 다른 오류 페이지와 똑같이 처리한다.
빠르게 바뀌는 공개 콘텐츠를 당장 서버 렌더링으로 옮길 수 없는 사이트옮기기 전까지 임시방편으로 쓸 수 있습니다. 옮길 날짜를 같이 정합니다.Dynamic rendering was a workaround for indexable, public JavaScript-generated content that changes rapidly, or content that uses JavaScript features that aren't supported by the crawlers you care about.동적 렌더링은 빠르게 바뀌는 공개 자바스크립트 콘텐츠나, 신경 쓰는 크롤러가 지원하지 않는 자바스크립트 기능을 쓰는 콘텐츠를 위한 임시방편이었다.
네이버 검색도 함께 보는 사이트네이버는 SPA 사이트도 주요 영역은 서버 렌더링을 권장합니다.그러므로 SPA 사이트라도 HTML의 주요 영역 생성은 검색로봇이 잘 인식할 수 있도록 서버에서 렌더링 (Server Side Rendering)을 처리하는 것을 권장합니다.
판단 칸은 원문을 상황별로 옮긴 편집 판단입니다. 클로킹 여부를 가르는 기준은 원문의 「비슷한 콘텐츠」입니다.
As long as your dynamic rendering produces similar content, Googlebot won't view dynamic rendering as cloaking.

동적 렌더링이 비슷한 콘텐츠를 만드는 한 Googlebot 은 이를 클로킹으로 보지 않는다.

Google Search Central 「Dynamic rendering as a workaround」

동적 렌더링 자체는 클로킹이 아니지만, 크롤러용 HTML에서 가격이나 본문이 빠지면 사용자 화면과 달라집니다. 크롤러용 HTML과 사용자 화면을 같은 날 나란히 비교합니다.

클로킹과 정상 설정을 가르는 기준은 「유료사이트 구글봇」 편에 자세히 적었습니다.

발견 04

같은 동적 렌더링이라도 B2B·B2C·B2G 는 판단이 갈리는 자리가 다릅니다

예시 ① 기능 소개를 앱 화면으로 그린 B2B 솔루션 사이트

공개 페이지 수가 적고 내용이 드물게 바뀝니다. 동적 렌더링을 새로 붙이기보다 소개 페이지를 정적 렌더링으로 옮기는 편이 관리할 일이 적습니다.

로그인 뒤 앱 화면은 검색 대상이 아니므로 그대로 둡니다.

예시 ② 재고와 가격이 자주 바뀌는 쇼핑몰(B2C)

이미 동적 렌더링을 쓰고 있다면 크롤러용 HTML의 가격·재고가 사용자 화면과 같은지 먼저 봅니다. 렌더링 서버 캐시가 오래되면 둘이 달라집니다.

다음 개편 일정에 상품 상세의 서버 측 렌더링 전환을 넣습니다.

예시 ③ 외부 렌더링 서비스를 쓰는 공공기관 누리집(B2G)

유지보수 사업이 바뀔 때 렌더링 서비스 계약이 끊기면 크롤러가 오류 페이지를 받습니다. 사업 인수인계 목록에 렌더링 서버 설정을 넣습니다.

네이버 검색도 대상이므로 새 누리집 사업에서는 서버 렌더링을 기술 요건으로 적습니다.

그럼 지금 동적 렌더링을 쓰는 사이트는 무엇부터 하나요?

  1. 웹 서버나 CDN 설정에서 User-Agent 로 크롤러를 가르는 규칙이 있는지 찾습니다.
  2. 같은 URL을 서치 콘솔 URL 검사의 렌더링된 HTML과 브라우저 화면으로 열어 본문·가격·링크가 같은지 비교합니다.
  3. 렌더링 서버의 오류 응답과 시간 초과가 서버 로그에 있는지 봅니다.
  4. 위 판단 기준 6가지에서 우리 상황을 고르고, 유지할지 옮길지 정합니다.
  5. 옮기기로 했다면 공개 페이지부터 서버 측 렌더링이나 정적 렌더링으로 바꾸고, 옮긴 뒤 동적 렌더링 규칙을 지웁니다.

조사 방법

  • Google Search Central 「Dynamic rendering as a workaround」 (문서 수정일 2025-12-10) · 최종 확인일 2026-10-25 · https://developers.google.com/search/docs/crawling-indexing/javascript/dynamic-rendering
  • web.dev (Google Chrome) 「Rendering on the Web」 (문서 수정일 2026-01-05) · 최종 확인일 2026-10-25 · https://web.dev/articles/rendering-on-the-web
  • 네이버 서치어드바이저 「자바스크립트 검색 최적화」 · 최종 확인일 2026-10-25 · https://searchadvisor.naver.com/guide/seo-advanced-javascript
  • 판단 기준 6가지는 위 문서들이 적은 권고와 조건을 상황별로 묶은 것입니다. 묶는 방식과 「판단」·「하는 일」 칸은 편집 판단입니다.
  • 네이버 서치어드바이저 사이트맵의 가이드 목록에는 동적 렌더링을 따로 다룬 문서가 없어, 서버 렌더링 권장 문장만 인용했습니다.
  • 예시 ①②③은 이해를 돕기 위해 만든 가상 상황이며, 실제 기업·기관의 사례가 아닙니다.
  • 원문은 영어판(hl=en)이고, 도구·보고서 이름은 같은 문서 한국어판(hl=ko) 표기를 따랐습니다.