
E-E-A-T 점검 도구를 코딩 없이 만들었다 — AI 에이전트로 사이트 감사하기
E-E-A-T 점검은 API가 없다. 그래서 자동화가 안 됐다. AI 코딩 에이전트로 구글 품질 가이드를 읽히고 대표 페이지를 크롤해 점수화한 감사 보고서를 뽑아낸 실제 구축 과정과 한계.

"구글은 자바스크립트를 렌더링한다." 클라이언트 사이드 렌더링 우려에 대한 표준 답변이었고, 2019년 구글봇이 최신 크로미엄 기반으로 상시 업데이트되면서 더 믿기 쉬워졌다.
그런데 검색 트래픽이 AI 어시스턴트를 통해 흐르기 시작하면서 이 상식은 불완전해졌다. AI 어시스턴트의 크롤러는 구글봇과 전혀 다르게 작동한다.
가정이 아니라 숫자를 얻기 위해 통제 실험이 진행됐다. 한 사이트의 내부 링크 절반을 HTML에 하드코딩하고, 나머지 절반을 자바스크립트로 주입한 뒤, 41일간 모든 봇 요청을 기록했다.
결과는 예상보다 훨씬 일방적이었다. 구글의 크롤러 스택만이 자바스크립트를 실행하고 주입된 링크를 따라갔다. 그리고 그 작업의 대부분은 실제 검색 색인을 만드는 구글봇이 아니었다. 구글봇은 자바스크립트로 연결된 페이지의 **2%**에만 도달했다. 한편 GPTBot, ClaudeBot, Bingbot, PerplexityBot, 메타와 아마존의 크롤러, 그리고 추적된 다른 모든 봇은 정확히 0건을 찾았다.
테스트 사이트는 약 2,400페이지 규모의 브라질 사업자 분류 디렉터리였다. 실험은 사이트의 계층 구조에서 진행됐다. 21개 최상위 섹션이 디비전, 그룹, 클래스로 뻗어 총 1,062페이지다. 나머지는 실험 대상 밖의 평면 리프 페이지였다.
21개 섹션을 클러스터링 편향을 피하기 위해 번갈아 두 그룹으로 나눴다.
테스트를 깨끗하게 유지하기 위해 대체 발견 경로를 모두 제거했다.
JS 그룹에서 디비전 페이지에 도달하는 유일한 방법은 부모 섹션 페이지의 자바스크립트를 렌더링하는 것뿐이었다.
미들웨어가 경로, 사용자 에이전트, 리퍼러, IP, 타임스탬프를 포함해 모든 봇 요청을 데이터베이스에 기록했다. 구글봇과 빙봇 IP는 위조된 사용자 에이전트를 걸러내기 위해 역방향 DNS로 검증했다.
측정에서 중요한 지점이 하나 있다. 두 그룹의 섹션 페이지는 항상 인덱스에서 평범한 HTML로 링크됐다. JS 그룹 섹션 페이지에 도달한 봇은 아무것도 증명하지 못한다. 실험 신호는 한 단계 더 깊은 곳에서 시작된다. JS 그룹의 디비전 페이지에 히트가 있다는 것은, 봇이 부모 페이지의 자바스크립트를 렌더링하고 주입된 링크를 따라갔을 때만 가능하다.
크롤러들은 빠르게 도착해 첫 72시간 동안 강하게 크롤링했다.
GPTBot은 배포 몇 시간 안에 사이트를 훑고 HTML 그룹의 759페이지 전부를 클래스 레벨까지 첫날에 크롤링했다. JS 그룹에서는 10개 섹션 페이지를 전부 히트한 뒤 멈췄다. 디비전 페이지에는 단 한 건도 도달하지 못했다.
ClaudeBot은 하루 뒤 같은 패턴을 따랐다. 깊고 체계적인 HTML 크롤링, 그리고 자바스크립트 경계에서의 완전한 정지.
구글의 두 크롤러는 서로 다르게 행동했다. GoogleOther는 출시 54분 만에 첫 JS 주입 디비전 페이지에 도달했다. 구글봇은 9.9시간이 걸렸다. 둘 다 이후 며칠에 걸쳐 JS 계층 안으로 점진적으로 더 깊이 들어갔는데, 이는 부모 페이지를 렌더링하고 주입된 링크를 따라갔을 때만 가능한 일이다.
크롤 폭주는 사흘간 지속됐다. 나흘째에 두 그룹 모두 발견이 약 90% 떨어졌고 커버리지 수치가 얼어붙었다.
27일 뒤 1단계 종료 시점의 전체 성적표다. 계층 페이지(디비전 레벨 이하)만 집계한 수치이며, JS 그룹 히트는 자바스크립트 실행의 명확한 증거다. HTML 섹션은 748개, JS 섹션은 293개 계층 페이지를 보유한다.
| 크롤러 | JS 렌더링 | HTML 계층 페이지 | JS 계층 페이지 |
|---|---|---|---|
| 구글봇 | 예 | 35 (5%) | 7 (2%) |
| GoogleOther | 예 | 495 (66%) | 142 (48%) |
| GPTBot (OpenAI) | 아니오 | 748 | 0 |
| ClaudeBot (Anthropic) | 아니오 | 748 | 0 |
| Bingbot | 아니오 | 282 | 3 |
| OAI-SearchBot (챗GPT 검색) | 아니오 | 10 | 0 |
| Meta-ExternalAgent (메타 AI) | 아니오 | 537 | 0 |
| Amazonbot | 아니오 | 735 | 0 |
| ChatGPT-User (실시간 브라우징) | 아니오 | 46 | 0 |
| PerplexityBot | 아니오 | 0 | 0 |
두 구글 행은 전혀 다른 일을 하고 있고, 그 차이가 원시 수치보다 중요하다.
구글의 크롤러 스택인 GoogleOther는 렌더링 테스트를 통과했다. 그러나 검색을 먹여 살리는 크롤러인 구글봇은 대체로 손을 놓았다.
즉 GoogleOther 행의 66%와 48%는 그 페이지들이 구글에 나타날 수 있는지에 대해 아무것도 말해 주지 않는다. 검색 가시성을 말하는 행은 구글봇이다. HTML 그룹 5%, JS 그룹 2%. 10개 JS 섹션 중 6개는 27일 동안 구글봇의 계층 크롤이 전혀 없었다.
한 가지 단서가 있다. 여기서 GoogleOther는 HTML 페이지에서 구글봇보다 약 14:1로 더 많이 크롤링했다. 이는 외부 링크가 없는 신규 도메인의 크롤 예산 특성으로 읽어야지, GoogleOther가 더 철저한 크롤러라는 증거로 보면 안 된다. 확립된 사이트에서는 구글봇의 비중이 훨씬 높을 것이다.
이 분리가 보여 주는 것은, 사이트 소유자가 모든 구글 사용자 에이전트를 하나의 크롤러로 세면 자기 검색 커버리지를 심각하게 과대평가할 수 있다는 점이다.
GoogleOther의 JS 링크 페이지는 모든 깊이에서 HTML 링크 페이지보다 18~27% 늦게 발견됐다. 지연은 누적된다. 구글은 부모를 가져오고, 렌더링 큐에 넣고, 스크립트를 실행하고, URL을 추출한 뒤 자식들을 스케줄해야 한다. HTML 링크는 중간 단계를 건너뛴다.
분포도 고르지 않았다. 한 JS 섹션은 52페이지가 크롤링된 반면 다른 두 섹션은 몇 주 동안 각 1페이지에 머물렀다. 렌더링은 자체 예산을 가진 큐로 보이며, 일부 가지는 끝내 순서가 오지 않았다.
예상과 어긋난 결과도 하나 있었다. GoogleOther가 JS 링크 페이지를 일단 발견하면, 비슷한 HTML 페이지만큼 빠르게 재크롤링했고 세 깊이 중 두 곳에서는 24~27% 더 빨랐다. 자바스크립트 지연은 전적으로 발견 단계에 몰려 있다. 그 단계를 통과한 페이지는 정상적으로, 때로는 더 낫게 취급된다.
문제는 그 단계를 끝내 통과하지 못하는 페이지들이다. 그것들은 느리게 순위에 오르는 게 아니라, 애초에 존재하지 않는다.
미들웨어는 처음에 Meta-ExternalAgent와 Amazonbot을 '알 수 없는 봇'으로 묶었는데, 사용자 에이전트별로 로그를 분리하니 각각 약 2,000회 히트로 사이트에서 가장 무거운 크롤러 축에 속했다. Meta-ExternalAgent는 메타가 AI 모델 학습 데이터를 수집하는 크롤러이고, Amazonbot은 아마존의 검색과 AI 제품을 먹인다. 둘 다 HTML 그룹을 깊이 크롤링하고, JS 그룹 10개 섹션 페이지를 히트한 뒤, 한 단계도 더 들어가지 않았다.
Bingbot은 1단계 27일 중 20일 활동했고, JS 그룹 10개 섹션 페이지를 그중 18일 재크롤링했으며, 주입된 링크는 단 하나도 따라가지 않았다. 마이크로소프트는 2019년부터 자바스크립트를 렌더링할 수 있는 엣지 기반 상시 업데이트 Bingbot을 문서화해 왔지만, 이 사이트에서 20일간 활발히 크롤링하는 동안 그 렌더링 역량은 적용되지 않았다.
PerplexityBot은 1단계 내내 홈페이지와 robots.txt에 머물렀다.
ChatGPT-User는 주목할 만하다. 이것은 실제 사용자 수요를 대표한다. 누군가 챗GPT에 질문했을 때 페이지를 가져오는 에이전트다.
실험 기간 동안 실제 사용자 질의가 이 에이전트를 수십 개의 HTML 링크 페이지로 끌어왔다. 자바스크립트 링크 뒤의 페이지들은 같은 질의에 대해 도달 불가능했다. 실제 사람이 적극적으로 도달하려던 페이지가 정확히 도달할 수 없는 페이지였다.
27일 뒤 모든 자바스크립트 링크를 하드코딩된 HTML로 전환하고 무슨 일이 일어나는지 관찰했다. 페이지 자체는 아무것도 바뀌지 않았다. URL, 콘텐츠, 서버 모두 1단계와 동일했다. 바꾼 것은 링크뿐이다.
GPTBot은 이틀 안에 반응했다. 세 시간이 안 되는 단일 스윕으로 이전에 막혀 있던 모든 섹션을 훑고, 1단계 27일간 0건이었던 것과 대조적으로 250페이지를 새로 수집했다.
Bingbot이 체계적인 스윕으로 뒤따라 같은 섹션들에서 212페이지를 추가했고, 입구 너머로 간 적 없던 섹션에서 클래스 레벨까지 도달했다.
Meta-ExternalAgent도 41일째에 자체 스윕으로 합류했다.
Amazonbot은 전환 6일 전인 21일째에 크롤을 마치고 사이트를 떠나, JS 그룹 커버리지가 0으로 끝났다.
ClaudeBot은 다른 방식으로 0에 머물렀다. 수정 후에도 41일째까지 수백 건씩 사이트를 계속 재크롤링했지만 이미 알던 페이지만 돌았다. 새로 링크된 페이지는 단 한 건도 집어 가지 않았다. 첫 패스에서 그린 내부 지도를 몇 주 동안 계속 사용하는 것처럼 보였다.
가장 느린 응답자는 아이러니하게도 구글이었다. 공격적인 첫 방문 예산은 이미 소진된 뒤였다. 41일째까지 구글봇은 전환된 섹션에서 정확히 1페이지를 방문했고, GoogleOther는 0페이지였다.
링크 아키텍처를 출시 후에 고치면 AI 크롤러 커버리지는 빠르게 회복됐지만, 구글의 경우 신규 사이트의 첫 크롤을 다시 얻어 내는 일은 훨씬 어려워 보인다.
이것은 하나의 사이트, 하나의 니치, 41일이라는 창, 그리고 묻힌 페이지를 가리키는 외부 링크가 없는 신규 도메인의 결과다. 강한 신호를 가진 확립된 사이트에서는 구글봇이 렌더링에 더 투자할 수 있다. 다만 비(非)구글 결과는 해석의 여지가 훨씬 적다. 8개 크롤러가 모든 크롤 폭주와 재크롤 주기에서 자바스크립트를 실행하고 주입된 링크를 따라가는 데 실패했다.
하나, 원시 HTML에 실제로 무엇이 들어 있는지 감사한다. 자바스크립트를 끄고 핵심 경로를 클릭해 보거나, 원시 소스와 렌더링된 DOM을 비교한다. 매출 페이지로 가는 내비게이션이 하이드레이션 후에만 존재한다면, 모든 AI 크롤러에게 그것은 보이지 않는다.
둘, "구글은 JS를 렌더링한다"를 예외로, 그것도 부분적인 예외로 취급한다. 렌더링은 일어났지만 검색을 먹이는 크롤러는 JS 링크 페이지의 2%에 도달했다. 로그에서 어떤 구글 사용자 에이전트를 보고 있는지 확인한 뒤에 그 커버리지를 가시성으로 세야 한다.
셋, 콘텐츠보다 링크의 서버 사이드 렌더링을 우선한다. 자바스크립트로 렌더링되는 위젯은 페이지를 조금 나쁘게 만들 뿐이다. 자바스크립트로 렌더링되는 내비게이션은 다른 문제다. 사이트 전체 섹션을 AI 어시스턴트를 먹이는 모든 인덱스에서 탈락시킬 수 있다.
넷, 나중이 아니라 빨리 고친다. GPTBot은 2단계 전환 48시간 안에 다시 훑었고 Bingbot은 일주일 안에 왔다. 구글은 몇 주가 걸렸고 41일째까지도 전환된 섹션에 돌아오지 않았다.
이 실험은 2027 SEO 우선순위에서 강조된 구조화 데이터·기술 접근성 항목이 왜 선택이 아니라 전제인지를 보여 준다. 그리고 AI 인용을 얻는 3단계 프로세스의 1단계, 즉 LLM이 접근 가능한 페이지를 만드는 작업이 나머지 두 단계의 전제 조건인 이유이기도 하다.
렌더링 논쟁은 예전에 구글이 우리 콘텐츠를 볼 수 있는가의 문제였다. AI 어시스턴트가 실질적인 추천 채널이 되고 웹이 에이전트 중심으로 재편되는 지금, 질문은 다른 크롤러들이 볼 수 있는가로 바뀌었다.
링크가 자바스크립트 안에 산다면, 그들은 볼 수 없다.
41일 실험에서 GPTBot, ClaudeBot, Bingbot, PerplexityBot, Meta-ExternalAgent, Amazonbot 등 추적된 비구글 크롤러 8개는 자바스크립트로 주입된 링크를 단 한 건도 따라가지 못했습니다.
렌더링합니다. 다만 대부분의 작업은 GoogleOther가 했고, 검색 색인을 만드는 구글봇은 JS 링크 페이지의 2%, HTML 링크 페이지의 5%에만 도달했습니다.
부분적으로 회복됩니다. GPTBot은 48시간 내, Bingbot은 일주일 내에 새 페이지를 수집했지만, ClaudeBot은 41일째까지 새로 링크된 페이지를 한 건도 집어 가지 않았고 구글도 거의 돌아오지 않았습니다.
자바스크립트를 끄고 핵심 경로를 클릭해 보거나 원시 소스와 렌더링된 DOM을 비교합니다. 매출 페이지로 가는 내비게이션이 하이드레이션 후에만 존재한다면 AI 크롤러에게는 보이지 않는 상태입니다.
기사에서 본 내용을 우리 사이트에 대입해 보고 싶다면, 무료 진단으로 현재 상태부터 확인해 보세요.
영업일 기준 24시간 안에 담당자가 직접 답변드립니다.

E-E-A-T 점검은 API가 없다. 그래서 자동화가 안 됐다. AI 코딩 에이전트로 구글 품질 가이드를 읽히고 대표 페이지를 크롤해 점수화한 감사 보고서를 뽑아낸 실제 구축 과정과 한계.

GEO 진단은 AI 답변에 우리 브랜드가 나오는지 확인하는 작업이 아니다. 온사이트 4개, 오프사이트 4개, 측정 1개로 나눠 점검하는 GEO 체크리스트를 정리했다.

링크드인·유튜브·레딧·틱톡이 저품질 AI 콘텐츠를 걸러 내는 시스템을 구축 중이다. 워터마크의 한계와 살아남는 콘텐츠의 조건을 정리했다.