다이내믹 렌더링
dynamic rendering
뜻과 개념
요청 주체에 따라 렌더링된 결과를 달리 제공하는 기술적 대응입니다.
어떻게 작동하나요?
다이내믹 렌더링은 요청 대상을 구분해 크롤러에게는 미리 렌더링한 HTML을, 일반 사용자에게는 JavaScript 중심 화면을 제공하는 방식입니다. 같은 URL이라도 서버가 요청의 유형을 판단해 처리 경로를 나누는 구조입니다. Google은 이를 장기 권장 구조가 아닌 JavaScript 접근 문제의 임시 우회 방법으로 설명합니다.
왜 알아야 하나요?
검색엔진이 필요한 본문을 읽지 못할 때 단기 대응에 사용될 수 있지만 두 경로를 관리하는 부담이 생깁니다. 사용자 화면은 갱신됐는데 봇용 HTML은 오래된 상태가 되거나, 렌더링 서버 장애로 특정 요청만 실패할 수 있습니다. 운영 복잡성까지 고려해야 합니다.
실무에서 적용하는 방법
먼저 실제로 어떤 콘텐츠가 렌더링에서 누락되는지 URL 검사와 브라우저 결과를 비교합니다. 초기 HTML, 실행 후 화면, 봇에 제공되는 응답을 나누어 확인하세요. 문제를 해결할 장기 구조로 서버 측 렌더링이나 정적 생성 등 적합한 방법을 검토합니다.
임시로 사용한다면 두 버전의 제목, 본문, 링크, 구조화 데이터가 일치하는지 검사합니다. 캐시 갱신 조건과 실패 시 응답 상태도 정해야 합니다. 단지 봇 이름이 포함됐다는 이유로 무제한 접근을 허용하는 보안 예외를 만들지 않습니다.
실무에서는 이렇게 봅니다
행사 목록을 JavaScript로 불러오는 사이트에서 봇용 화면은 전날 목록을, 사용자는 오늘 목록을 본다고 가정해 보겠습니다. 검색 접근 문제를 해결하려다가 정보 불일치가 생긴 것입니다. 행사 변경 시 두 경로가 함께 갱신되는지와 만료된 행사 상태가 올바른지 확인해야 합니다.
주의할 점
내용이 실질적으로 동일한 접근성 보완과 검색엔진만 다른 내용을 보게 하는 행위는 다릅니다. 봇에게만 키워드나 링크를 추가하면 클로킹 문제가 될 수 있습니다. 최신 개발을 시작할 때 오래된 우회 구조를 기본 선택으로 삼지 마세요.
자주 묻는 질문
SSR과 같은 기술인가요?
서버에서 HTML을 만들 수 있다는 점은 겹치지만 다이내믹 렌더링은 요청 대상을 구분해 다른 처리 경로를 제공한다는 특징이 있습니다. SSR은 일반 사용자 요청에도 적용할 수 있습니다.
적용하면 색인이 보장되나요?
아닙니다. 내용을 읽을 수 있게 하는 것과 색인·노출은 다른 단계입니다. 우선 실제 누락 문제를 해결했는지 확인해야 합니다.