크롤링은 검색로봇이 새 URL을 발견하거나 기존 URL을 다시 방문해 페이지와 필요한 자원을 가져오는 과정입니다. 검색엔진은 내부 링크와 외부 링크, 사이트맵 등으로 URL을 발견하고 서버 응답과 HTML, 필요한 자원을 요청합니다.
콘텐츠를 발행해도 구글이나 네이버가 곧바로 알아차리는 것은 아닙니다. 먼저 페이지의 존재를 찾고, 주소에 접속해 내용을 읽어야 합니다.
그런데, 크롤링됐다고 바로 검색결과에 나오는 것은 아닙니다. 검색엔진은 페이지를 읽은 뒤 색인할지 판단하고, 검색어와의 관련성 등을 따져 노출 여부와 순위를 결정합니다. 이 차이를 알면 콘텐츠가 검색되지 않을 때 원인을 찾기 쉽습니다.
여기서 다루는 크롤링은 파이썬 데이터 수집이 아니라 SEO의 웹페이지 수집 과정입니다.
내용은 Google 검색 센터, 네이버 서치어드바이저와 OpenAI의 공식 문서를 참고했습니다.
발견, 접근, 가져오기와 렌더링의 과정

크롤러는 웹페이지를 찾아다니는 자동화 프로그램입니다. 구글은 Googlebot, 네이버는 Yeti라는 검색로봇을 사용합니다. 검색로봇은 이미 파악한 페이지의 링크를 따라가거나 외부 링크와 사이트맵에서 새 URL을 발견합니다. 이미 아는 URL도 변경 여부를 확인하려고 다시 방문할 수 있습니다.
그래서 새 글이 메뉴나 다른 글에 연결되지 않았다면 크롤러가 발견하기 어렵습니다.
하지만 사이트맵 제출만으로 색인이나 상위 노출이 보장되지는 않습니다. 크롤링은 검색로봇이 페이지를 발견하고 내용을 확인하는 단계까지를 말합니다.
다만 페이지를 읽으러 오는 크롤러가 모두 같은 목적을 가진 것은 아닙니다.
서비스별 검색 크롤러
구글은 Googlebot, 네이버는 Yeti라는 검색로봇으로 웹페이지를 수집합니다. 같은 페이지라도 각 검색엔진의 크롤러가 접근할 수 있는지 따로 확인해야 합니다.
OpenAI는 검색용 OAI-SearchBot과 학습용 GPTBot을 구분해 운영합니다. 다른 서비스의 사용자 에이전트와 제어 방법은 각 서비스의 최신 공식 문서에서 확인하세요.
Google의 AI 기능 안내에 따르면 Google AI 기능의 출처 링크가 되려면 페이지가 먼저 Google에 색인되어야 합니다. Google 검색의 크롤링과 색인 상태부터 확인해야 하는 이유입니다.
크롤러의 종류를 구분했다면, 다음은 크롤링 이후에 어떤 단계가 이어지는지 봐야 합니다.
크롤링, 색인, 노출의 단계 구분
크롤링은 색인, 노출과 자주 섞여 쓰이지만 서로 다른 단계입니다.
- 크롤링: 크롤러가 페이지와 자원을 발견하고 가져오는 과정
- 색인: 검색엔진이 페이지 정보를 분석하고 검색 색인에 저장하는 과정
- 노출: 색인된 페이지가 검색결과에 표시되는 것
구글이 페이지를 읽었더라도 반드시 색인하는 것은 아닙니다. 검색에 보여줄 필요가 없다고 판단하면 색인에서 제외할 수 있습니다. 색인된 뒤에도 검색어와의 관련성이나 콘텐츠 품질에 따라 실제 노출과 순위가 달라집니다.
Google AI Overviews와 AI Mode의 지원 링크는 Google 검색 색인을 바탕으로 합니다. OpenAI는 별도로 OAI-SearchBot을 ChatGPT 검색용으로 안내하지만, Google과 같은 크롤링과 색인 순서를 공개한 것은 아닙니다. OAI-SearchBot을 허용해도 검색결과나 인용은 보장되지 않습니다. 사용자가 지정한 페이지를 가져오는 ChatGPT-User도 자동 검색 포함 여부를 판단하는 봇과 역할이 다릅니다.
크롤링된 페이지라도 색인이나 검색 노출에서 제외될 수 있습니다. AI 출처 채택은 서비스별로 따로 확인해야 합니다.
그래서 페이지가 읽혔는지와 검색 색인에 포함됐는지를 따로 확인해야 합니다. 이 차이를 헷갈릴 때 가장 자주 실수하는 설정이 robots.txt와 noindex입니다.
robots.txt와 noindex의 역할 분담
robots.txt와 noindex는 모두 검색로봇을 제어하지만 역할이 다릅니다.
- robots.txt는 크롤러의 접근을 막고,
- noindex는 검색엔진의 색인에서 제외합니다.
쉽게 말해 robots.txt는 "들어오지 마세요", noindex는 "검색결과에 넣지 마세요"라는 뜻입니다.
Google의 noindex 안내는 noindex가 작동하려면 크롤러가 페이지에 접근할 수 있어야 한다고 명시합니다. robots.txt로 접근을 막으면 Googlebot이 페이지 안의 noindex를 읽을 수 없습니다. 따라서 검색결과에서 제외하려는 페이지에 두 설정을 함께 적용하면 의도와 달리 URL이 검색결과에 남을 수 있습니다.
robots.txt는 페이지를 숨기거나 보호하는 장치가 아닙니다. 검색결과 제외에는 목적에 맞게 noindex나 페이지 삭제를 사용하고, 공개하면 안 되는 정보는 로그인이나 접근 권한으로 보호해야 합니다.
설정의 역할을 알았다면, 이제 실제 사이트에서 크롤링이 막히는 지점을 확인해야 합니다.
접근을 막는 흔한 원인
검색로봇이 URL을 발견해도 페이지에 들어가 본문을 읽지 못할 수 있습니다. 실무에서는 주로 다음 지점에서 문제가 생깁니다.
- 로그인해야 볼 수 있는 콘텐츠: 외부 크롤러는 로그인한 사용자에게만 보이는 내용을 읽을 수 없습니다. 검색되길 원하는 핵심 정보는 공개 페이지에도 정리해 두세요.
- JavaScript를 실행해야만 나타나는 본문: 검색로봇마다 JavaScript를 처리하는 방식이 다를 수 있습니다. 중요한 제목과 본문은 페이지에 접속했을 때 바로 확인할 수 있게 만드는 편이 안전합니다.
- 이미지 안에만 들어 있는 글자: 핵심 설명과 수치, 제품 정보, 질문과 답변은 이미지 밖의 본문에도 적어 주세요. 이미지 설명 문구인 alt는 긴 본문을 대신할 수 없습니다.
- 검색로봇을 막는 보안 설정: robots.txt에서 허용했더라도 방화벽이 Googlebot이나 Yeti, AI 검색용 봇을 차단하면 페이지를 읽을 수 없습니다. 네이버도 robots.txt와 방화벽을 함께 확인하라고 안내합니다.
이 문제들은 하나씩 보면 복잡해 보이지만, 점검 순서를 정해두면 훨씬 단순해집니다.
발견, 접근, 읽기 순서의 점검법
크롤링 문제는 원인을 짐작하기보다 아래 순서대로 확인하는 편이 빠릅니다.
- 구글 서치 콘솔에 사이트가 등록되어 있는가?
- 네이버 서치어드바이저에 사이트가 등록되어 있는가?
- robots.txt가 사이트의 기본 주소에서 일반 텍스트 파일로 열리는가?
- 사이트맵이 제출되어 있고 최신 URL을 포함하는가?
- 중요한 페이지가 내부 링크로 연결되어 있는가?
- 최종 URL이 200 응답을 반환하고 예상하지 못한 이동이 없는가?
- 본문을 보여 주는 데 필요한 JavaScript와 CSS가 차단되어 있지 않은가?
- 방화벽이나 보안 설정이 확인하려는 크롤러를 막고 있지 않은가?
확인 결과는 세 가지로 나눌 수 있습니다.
💡크롤링 관련 이슈
– 발견: 크롤러가 주소를 찾지 못한 경우
– 접근: 주소는 알지만 페이지에 들어오지 못한 경우
– 해석: 페이지에 들어왔지만 내용을 제대로 읽지 못한 경우
주소를 찾지 못했다면 내부 링크와 사이트맵을 확인하고, 접속하지 못한다면 robots.txt와 방화벽을 살펴보세요. 접속은 했지만 내용을 읽지 못했다면 JavaScript와 본문을 점검해야 합니다. 이처럼 문제 유형을 먼저 나누면 고칠 지점도 빠르게 찾을 수 있습니다.
마지막으로, 크롤링을 이해할 때 자주 함께 나오는 용어를 정리해 두겠습니다.
자주 묻는 질문
크롤링됐는데 왜 검색에 안 나오나요?
크롤링과 색인은 다른 단계입니다. 검색로봇이 페이지를 가져갔어도 색인하지 않을 수 있습니다. 개별 페이지는 Search Console URL 검사에서 마지막 크롤링과 현재 색인 상태를 확인하고, 사이트 전체 경향은 페이지 색인 생성 보고서에서 봅니다.
사이트맵만 제출하면 크롤링이 빨라지나요?
발견을 돕는 효과는 있지만 크롤링 속도나 순서를 보장하지는 않습니다. 사이트맵만으로 고아 페이지 문제를 가리지 말고 중요한 페이지는 내부 링크로도 연결하는 편이 좋습니다.
robots.txt로 페이지를 막으면 검색에서 바로 사라지나요?
그렇지 않습니다. robots.txt는 크롤러의 접근만 막을 뿐이라, 다른 페이지가 그 URL을 링크하고 있으면 본문 없이 주소만 검색결과에 남을 수 있습니다. 검색 제외가 목적이라면 크롤링을 허용한 상태에서 noindex를 사용해야 합니다.
함께 알아두면 좋은 용어
- 색인: 검색엔진이 페이지 정보를 저장해 검색결과 후보로 만드는 과정
- 사이트맵: 검색엔진에 중요한 URL을 알려 주는 파일
- robots.txt: 크롤러가 접근할 수 있는 범위를 알려 주는 파일
- noindex: 특정 페이지를 색인하지 말라는 신호
- 내부 링크: 사이트 안의 페이지끼리 연결하는 링크
- URL 검사: 구글 서치 콘솔에서 개별 URL의 크롤링과 색인 상태를 확인하는 기능
- JavaScript SEO: JavaScript로 만든 페이지를 검색엔진이 읽고 이해할 수 있게 설계하는 작업
- 네이버 서치어드바이저: 네이버 검색로봇 수집 상태와 사이트 설정을 확인하는 도구
- AI 검색 크롤러: AI 검색 결과에 쓸 웹페이지를 찾는 자동화 프로그램
- AI 학습 크롤러: 모델 학습 자료를 수집하는 자동화 프로그램
- llms.txt: Google Search에는 필요하지 않으며 노출이나 순위에 영향을 주지 않는 파일
크롤링만으로 검색 순위나 AI 인용이 보장되지는 않습니다. 하지만 크롤링이 막히면 좋은 콘텐츠도 평가받기 어렵습니다.
콘텐츠를 발행한 뒤에는 글의 품질뿐 아니라 크롤링 상태도 확인해야 합니다. 페이지가 검색되지 않는다면 크롤러가 주소를 발견했는지, 접속할 수 있는지, 본문을 읽었는지부터 차례로 확인해 보세요.