웹 기초

동적 렌더링이란?

Dynamic Rendering

크롤러에게는 서버에서 렌더링한 HTML을, 사용자에게는 자바스크립트로 그리는 화면을 보내는 방식입니다. 구글은 동적 렌더링을 임시방편으로 보고 SSR이나 정적 생성을 권장합니다.

동적 렌더링이 쓰였던 이유

구글의 자바스크립트 처리 능력이 지금보다 제한적이던 시기에는, 자바스크립트로 화면을 렌더링하는 사이트가 검색엔진에 콘텐츠를 제대로 보여주기 어려웠습니다. 동적 렌더링은 요청한 쪽의 user-agent를 보고 크롤러라면 미리 렌더링해 둔 HTML을, 사람이라면 기존 자바스크립트 페이지를 보내는 방식으로 이 문제를 우회했습니다. Rendertron, Prerender.io 같은 도구가 많이 쓰였습니다.

동적 렌더링을 권장하지 않는 이유

구글은 현재 동적 렌더링을 임시방편으로 규정하고, 대신 SSR, 정적 생성, 하이드레이션을 권장합니다. 크롤러용과 사용자용 결과물을 따로 관리해야 해서 구조가 복잡하고, 렌더링 서버가 느려지거나 오류가 나면 크롤러만 빈 페이지를 받는 문제가 생기기 쉽기 때문입니다.

클로킹과 혼동되기도 합니다. 크롤러와 사용자에게 보내는 내용이 사실상 같다면 동적 렌더링은 클로킹이 아니지만, 크롤러용 HTML에만 다른 내용을 넣으면 클로킹이 됩니다. 이미 동적 렌더링을 쓰고 있다면 두 버전의 내용이 일치하는지 정기적으로 확인해야 합니다.

관련 용어

웹 기초

SSR

서버에서 HTML을 완성해 브라우저에 보내는 방식(Server-Side Rendering)입니다. 크롤러가 자바스크립트를 실행하지 않아도 콘텐츠와 링크를 바로 읽을 수 있어, 브라우저에서 화면을 만드는 방식(CSR)보다 SEO에 유리합니다.

웹 기초

렌더링

HTML·CSS·자바스크립트를 해석해 실제 화면을 그려내는 과정입니다. 구글은 크롤링한 페이지의 자바스크립트를 실행해 렌더링한 뒤 그 결과를 색인하므로, 자바스크립트로만 만들어지는 콘텐츠는 반영이 늦거나 누락될 수 있습니다.

품질 · 정책

클로킹

검색엔진 크롤러와 사용자에게 서로 다른 콘텐츠를 보여주는 행위입니다. 순위 조작을 목적으로 하는 대표적인 스팸 정책 위반으로, 수동 조치 대상이 됩니다.

크롤링 · 색인

크롤러

웹 페이지를 자동으로 방문해 수집하는 프로그램(봇·스파이더)입니다. 구글의 Googlebot, 네이버의 Yeti가 대표적이며, 최근에는 GPTBot처럼 AI 학습·검색용 크롤러도 늘었습니다.

관련 서비스 → SEO/GEO 교육