Your Page Can Rank #1 on Google and Still be Invisible to ChatGPT

구글 검색 결과 1위를 차지하고도 ChatGPT에서는 보이지 않을 수 있습니다.

구글 크롤러는 자바스크립트를 실행하고 렌더링된 HTML을 인덱스에 가져와서, 클라이언트 사이드 렌더링(CSR)된 사이트도 검색 결과 첫 페이지에 올릴 수 있습니다. 하지만 동일한 페이지가 ChatGPT나 Bing의 AI 검색을 통해 조회될 때는 사라지는데, 이는 해당 서비스를 구동하는 봇들이 자바스크립트를 전혀 실행하지 않기 때문입니다. 그 결과, 검색 순위는 높지만 어떤 AI 어시스턴트도 찾아낼 수 없는 사이트가 탄생합니다.

AI 크롤러가 콘텐츠를 놓치는 이유

가장 널리 사용되는 두 가지 AI 크롤러인 OpenAI의 GPTBot과 Anthropic의 ClaudeBot은 자바스크립트를 전혀 렌더링하지 않습니다. Vercel과 MERJ의 2024년 12월 연구에 따르면, 두 봇 모두 단순히 원본 HTML과 연결된 자바스크립트 파일만 다운로드한 뒤 멈춥니다. 스크립트가 실행되지 않으므로 봇은 빈 껍데기만 보게 됩니다.

반면 Googlebot은 페이지를 대기열에 넣고, 스크립트를 실행하며, 그 결과로 생성된 DOM을 인덱싱합니다. 이러한 근본적인 차이 때문에 순수 클라이언트 사이드 프레임워크(React, Vue 등)로 구축된 사이트는 구글에는 완벽하게 노출되면서도 AI 기반 검색에서는 백지 상태로 남을 수 있습니다.

Google vs. AI: 렌더링 격차

구글은 오랫동안 헤드리스 렌더링(headless rendering)에 투자해 왔습니다. 구글 봇은 복잡한 싱글 페이지 애플리케이션(SPA)을 처리하고, 하이드레이션(hydration)을 수행하며, 초기 로드 후에 나타나는 구조화된 데이터를 추출할 수 있습니다. 하지만 AI 크롤러는 여전히 "다운로드 전용" 모드에 머물러 있습니다. react-helmet과 같은 도구를 통해 주입된 JSON-LD를 파싱할 수도 있지만, 이는 해당 마크업이 원본 HTML에 포함되어 있을 때만 가능합니다.

개발자 도구는 오해를 불러일으킬 수 있습니다. 크롬의 Elements 패널은 자바스크립트가 실행된 의 페이지를 보여주기 때문에, 마크업이 소스 코드의 일부라는 잘못된 인상을 줍니다. "view-source"(또는 브라우저 없이 curl 사용)를 사용하면 봇이 실제로 무엇을 받는지 확인할 수 있습니다. 만약 거기서 콘텐츠나 구조화된 데이터가 누락되어 있다면, AI 크롤러는 이를 절대 볼 수 없습니다.

문제가 나타나는 방식

클라이언트 사이드 렌더링에 의존하는 전형적인 React 사이트는 "최고의 커피 메이커"나 "수도꼭지 누수 수리 방법"과 같은 키워드로 구글에서 높은 순위를 차지할 것입니다. 하지만 ChatGPT에 "가장 좋은 커피 메이커는 뭐야?"라고 묻는 사용자에게는 해당 사이트가 완전히 제외된 답변이 제공됩니다. 이러한 격차는 ChatGPT 에이전트 쿼리의 약 92%를 처리하는 Bing의 AI에서도 동일하게 나타납니다. Bing의 자바스크립트 렌더링 능력은 제한적이어서, 클라이언트 사이드 전용 사이트는 두 주요 AI 검색 제공업체 모두에게 보이지 않을 수 있습니다.

이 문제는 조용히 발생합니다. 구글 순위를 추적하는 SEO 대시보드는 양호한 상태를 보고하겠지만, AI 어시스턴트를 통한 사이트 트래픽은 0을 유지할 것입니다. 이러한 불일치는 특히 더 많은 사용자가 빠른 답변을 위해 대화형 인터페이스에 의존함에 따라, 기업이 점점 더 커지는 탐색 트래픽(discovery traffic)을 놓치는 결과로 이어질 수 있습니다.

개발자들이 실수하고 있는 점

많은 팀이 구글이 페이지를 읽을 수 있다면 어떤 크롤러든 읽을 수 있을 것이라고 가정합니다. 이들은 흔히 다음과 같은 실수를 합니다:

  • 마크업이 "거기에 있다"고 믿으며, 페이지 로드 후 JSON-LD를 주입하기 위해 react-helmet이나 유사한 라이브러리에 의존합니다.
  • 원본 소스가 아닌 브라우저의 Elements 뷰로만 테스트합니다.
  • 간단한 curl 확인을 건너뛰어, 헤드라인이나 핵심 문구가 초기 HTML 응답에 나타나지 않는다는 사실을 놓칩니다.

이러한 관행은 SEO가 건강하다는 착각을 주지만, 실제로는 AI 검색에 대해 사이트를 눈먼 상태로 만듭니다.

해결 방법

해결책은 첫 번째 HTTP 응답에서 실제 콘텐츠를 전달하는 것입니다. 검증된 세 가지 접근 방식이 있습니다:

  • 서버 사이드 렌더링 (SSR) – 서버에서 자바스크립트를 실행하고 전체 HTML을 렌더링하여 클라이언트에 보냅니다. 페이지가 이미 데이터가 채워진 상태로 도착합니다.
  • 정적 생성 (Static Generation) – 빌드 시점에 프레임워크가 모든 콘텐츠를 포함하는 정적 HTML 파일을 생성합니다. 런타임 렌더링이 필요하지 않습니다.
  • 프리렌더링 (Prerendering) – 미들웨어 서비스가 페이지를 한 번 렌더링하여 결과를 캐싱하고, 크롤러에게 정적 스냅샷을 제공합니다.

Next.js (React) 및 Nuxt (Vue)와 같은 프레임워크는 이러한 기술을 기본적으로 지원합니다. 순수 클라이언트 사이드 번들에서 위의 방법 중 하나로 전환하면 Googlebot과 AI 크롤러 모두 동일한 콘텐츠를 볼 수 있습니다.

간단한 검증 테스트:

curl -s https://yourpage.com | grep "your headline text"

만약 명령어가 아무것도 반환하지 않는다면, 헤드라인이 원본 HTML에 존재하지 않는 것이며 AI 봇은 이를 놓치게 됩니다.

주의 깊게 살펴볼 점

현재 상황은 명확한 불일치를 보여줍니다. 구글의 렌더링 엔진은 정교하지만, AI 크롤러는 그렇지 않습니다. 이 격차를 밝혀낸 연구는 불과 몇 달 전의 것이며, OpenAI와 Anthropic 모두 인덱싱 파이프라인을 개선하는 데 관심을 보이고 있습니다. 하지만 완전한 자바스크립트 실행 기능이 곧 추가될 것이라고 보장하는 공개 로드맵은 아직 없습니다.

그동안 문제를 방치했을 때 치러야 하는 대가가 달라졌습니다. 10년 전에는 구글 인덱싱 속도가 느려지는 것이 문제였다면, 오늘날에는 가장 빠르게 성장하는 발견 채널인 AI 기반 검색에서 제외되는 것이 문제입니다. 오가닉 트래픽에 의존하는 기업은 원본 소스 도구를 사용하여 페이지를 점검하고, 가능한 경우 SSR 또는 정적 생성 방식을 도입해야 하며, AI 전용 인덱싱 보고서가 출시되는 대로 이를 모니터링해야 합니다.

핵심 요약: 구글 순위에서는 완벽해 보이는 사이트라도 클라이언트 사이드 렌더링에만 의존한다면 ChatGPT나 Bing AI에게는 보이지 않을 수 있습니다. SSR, 정적 생성 또는 프리렌더링을 통해 초기 HTML에 콘텐츠를 포함하여 전달하는 것은 이러한 격차를 해소하고, 전통적인 검색과 AI 검색 모두에서 발견 가능성을 확보하는 방법입니다.