원본 HTML에 답 문장이 있는지부터 확인합니다
서버가 보낸 HTML 을 그대로 받아 답 문장을 찾아보세요. 브라우저 개발자도구의 요소 탭은 자바스크립트가 실행된 뒤의 결과라서, 원본에 문장이 있었는지 없었는지를 구분해 주지 못합니다.
# 사이트에 직접 닿는 네트워크에서 실행합니다. 주소와 찾을 문구는 예시입니다
curl -s --compressed "https://example.com/faq/refund" | grep -o "환불은 신청일 기준"
문장이 출력되면 그 답은 이미 원본 HTML 에 있습니다. 아무것도 나오지 않으면 화면에는 보여도 자바스크립트가 나중에 그려 넣는 문장입니다.
찾을 문구는 그 페이지에만 있는 답의 첫머리로 고릅니다. 메뉴나 제목에도 들어가는 짧은 단어를 쓰면 답이 원본에 있는 것처럼 보입니다. 같은 요청에 -o /dev/null -w '%{http_code}' 를 붙여 응답 코드도 함께 보세요. 구글은 200 이 아닌 응답에서는 렌더링을 건너뛸 수 있다고 밝히고 있어, 이 경우에는 렌더된 HTML 을 볼 것도 없이 응답 코드가 먼저 고칠 대상입니다.
세 가지 상태로 나눕니다
원본 HTML 과 렌더된 HTML 두 곳을 보면 상태가 갈립니다. 렌더된 HTML 은 Search Console 의 URL 검사 도구에서 실제 URL 테스트(Test live URL)를 돌린 뒤, 테스트한 페이지 보기(View tested page)에서 확인합니다.
| 상태 | 원본 HTML | 렌더된 HTML | 다음 행동 |
|---|---|---|---|
| 서버가 이미 보냄 | 답 문장 있음 | 있음 | 자바스크립트 문제가 아닙니다. 색인 여부와 대표 답변 페이지를 봅니다 |
| 구글만 읽음 | 없음 | 있음 | 답 문단만이라도 서버 렌더링이나 사전 렌더링으로 원본 HTML 에 넣습니다 |
| 아무도 못 읽음 | 없음 | 없음 | 차단된 리소스와 사용자 조작 의존을 먼저 확인합니다 |
구글은 200 으로 응답한 페이지를 렌더링 대기열에 넣고, 자원이 허락할 때 헤드리스 Chromium 으로 자바스크립트를 실행합니다. 그래서 두 번째 상태가 흔합니다.
클릭이나 스크롤이 있어야 나오는 답은 구글도 읽지 못합니다
구글 지연 로딩 가이드는 스크롤이나 클릭 같은 사용자 조작에 기대지 말라고 하면서, 그 이유로 구글 검색은 페이지와 상호작용하지 않는다고 적고 있습니다. 더보기 버튼을 눌러야 서버에서 받아 오는 FAQ, 무한 스크롤 뒤쪽에만 있는 답변이 여기에 해당합니다.
펼치기 전에도 문장이 HTML 안에 들어 있고 CSS 로 접어만 둔 아코디언은 앞 표의 첫 번째 상태입니다. 접혀 있다는 사실과 클릭한 뒤에 새로 불러온다는 사실은 다른 문제입니다.
리소스 차단도 같은 결과를 냅니다. 구글은 robots.txt 로 막힌 파일이나 페이지에서는 자바스크립트를 렌더링하지 않습니다. 스크립트 번들이나 답변을 내려주는 API 경로를 robots.txt 에서 막아 두었는지 확인하세요.
검색엔진 밖의 AI 수집기는 따로 확인해야 합니다
구글 문서는 서버 렌더링이나 사전 렌더링이 여전히 좋은 선택이라고 하면서, 모든 봇이 자바스크립트를 실행할 수 있는 것은 아니라고 덧붙입니다. 구글이 렌더링한 결과는 구글 안에서만 쓰입니다.
OpenAI 가 공개한 크롤러 문서는 봇 이름, robots.txt 토큰, 공개 IP 대역까지 밝히지만 자바스크립트 실행 여부는 다루지 않습니다. 실행한다는 근거도 하지 않는다는 근거도 공개돼 있지 않으니, 이런 수집기에 대해서는 원본 HTML 을 기준으로 판단하는 편이 안전합니다.
접근 로그에서는 해당 사용자 에이전트가 HTML 문서만 가져갔는지, 스크립트 파일과 API 응답까지 가져갔는지를 볼 수 있습니다. 요청 기록만으로 실행 여부를 단정할 수는 없지만, 스크립트를 한 번도 가져가지 않았다면 원본 HTML 만 읽었다고 보고 대비하는 편이 낫습니다.
고친 뒤 무엇을 보고 적용됐다고 판단하나요
- 같은 curl 명령을 다시 실행해 답 문장이 원본 HTML 에 나오는지 봅니다. 배포 직후 바로 확인됩니다.
- URL 검사 도구에서 실제 URL 테스트를 다시 돌려 렌더된 HTML 에도 문장이 있는지 봅니다.
- 색인에 반영된 내용은 재수집 이후에 바뀝니다. 언제 다시 수집될지는 사이트가 정할 수 없으므로 날짜를 못 박지 마세요.
확인한 날짜, 실행한 명령, 그때의 응답 코드를 함께 남겨 두세요. 다음에 같은 증상이 보고됐을 때 새로 생긴 문제인지 원래 그랬던 것인지를 기록 없이는 구분하지 못합니다.
여기까지 확인해도 알 수 없는 것이 남습니다. 답 문장이 읽힌다는 것과 그 문장이 검색 요약이나 AI 답변에 인용된다는 것은 다른 일입니다. 인용 여부는 이 절차로 판정되지 않으며, 순위나 노출 변화를 이 확인의 결과로 해석하지 마세요.