Cloudflare를 켠 뒤 “사람이 브라우저로 보면 정상인데, 검색엔진에서는 페이지가 덜 보이거나(색인 감소), Search Console에서 ‘차단됨/리디렉션 오류/소프트 404’가 늘어나는” 상황이 종종 생깁니다. 이때 원인이 의외로 쿠키인 경우가 많아요. 크롤러가 쿠키를 못 받거나, 쿠키가 있어야만 통과하는 흐름(동의 배너/봇 차단/세션)이 끼어들면 403 또는 302 루프가 만들어지기 쉽습니다.

쿠키와 방패가 크롤링 경로를 막는 메타포 일러스트

아래는 SEO 관점에서 robots.txt → sitemap → redirect 순서로, 쿠키가 얽힌 크롤링 장애를 빠르게 걸러내는 체크리스트입니다.

1) 증상부터 고정하기: 크롤러에 실제로는 어떤 응답이 나가나

먼저 “검색 유입이 줄었다”를 원인으로 바로 들어가기보다, 크롤러가 받는 응답 코드/리디렉션 체인/쿠키 세트 여부를 짧게 고정해 두는 게 좋습니다. 사람은 이미 로그인/동의 쿠키가 있어서 정상처럼 보일 수 있거든요.

  • Search Console: URL 검사에서 “페이지 가져오기” 결과(리디렉션, 차단, 렌더링 문제)를 확인
  • Cloudflare Security Events: Googlebot/Bingbot 요청이 Managed Challenge/JS Challenge/Block으로 걸리는지 확인
  • 원인 분류(빠른 기준)
    • 403/401 증가: WAF/Bot Management 또는 원서버 접근제어가 크롤러를 막는 패턴
    • 302/307 반복: 동의/언어/로그인/지역 리다이렉트가 쿠키 의존으로 꼬인 패턴
    • 200이지만 내용이 얇음: 쿠키 없으면 “동의 필요/로그인 필요”만 보여 소프트 404처럼 인식될 수 있음

이 글의 나머지 체크는 “크롤러는 기본적으로 쿠키가 비어있거나 제한적으로만 유지한다”는 가정으로 진행합니다.

2) robots.txt 점검: 쿠키/챌린지에 가려지지 않게 만들기

robots.txt는 단순 텍스트지만, Cloudflare 앞에서 챌린지(Challenge)나 리다이렉트가 끼어들면 크롤러가 제대로 읽지 못합니다. 특히 “robots.txt 요청만 예외로 풀어야 하는데, 전체 사이트에 걸린 규칙이 먼저 적용”되는 경우가 있어요.

robots.txt 접근이 차단과 허용으로 갈리는 흐름

  • robots.txt는 무조건 200으로 바로 응답해야 합니다. 301/302로 다른 경로로 보내면(예: /robots.txt → /ko/robots.txt) 크롤러가 예외 처리를 할 수 있어요.
  • robots.txt에 Challenge/Block이 걸리지 않도록 Cloudflare에서 예외 규칙을 둡니다.
    • 대상: URI Path equals /robots.txt
    • 조치: WAF/Bot/Challenge를 우회(Allow/Skip 계열)하도록 구성
  • 쿠키 기반 국가/언어 리다이렉트가 robots.txt에도 적용되는지 확인합니다. 사이트 전체에 “방문 첫 1회 쿠키 세팅 후 /kr로 이동” 같은 로직이 있으면 robots.txt까지 같이 밀려날 수 있습니다.
  • 캐시 오염: robots.txt가 사용자별(쿠키별)로 달라지면 위험합니다. robots.txt는 개인화하지 말고, 동일한 내용을 항상 반환하세요.

핵심은 “robots.txt는 쿠키가 없어도, 봇이어도, 첫 방문이어도 동일하게 열려 있어야 한다”입니다.

3) sitemap 점검: 200 OK보다 중요한 건 ‘내용의 일관성’

sitemap.xml도 비슷합니다. 응답이 200이라고 끝이 아니라, 크롤러가 접근 가능한 URL만 들어있고, 접근 시 쿠키 없이도 같은 페이지를 받아야 합니다.

  • sitemap.xml 요청을 Challenge/Block에서 제외합니다. (대상: /sitemap.xml, /sitemap_index.xml, /sitemap*.xml 등)
  • 사이트맵에 있는 URL을 샘플로 10개만 뽑아 다음을 확인합니다.
    • 쿠키 없이 접근 시 200/301이면 OK, 302 반복이면 위험
    • 로그인/동의가 필요해서 “빈 콘텐츠”가 뜨면 색인 품질이 무너질 수 있음
    • canonical이 자기 자신을 가리키는지(쿠키 없을 때 다른 언어/지역 URL로 canonical이 튀지 않는지)
  • Cloudflare 캐시로 사이트맵이 오래 고정되어 신규 URL이 늦게 반영되는지 확인합니다. 사이트맵은 보통 자주 바뀌므로 Cache-Control을 명확히 두는 게 안전합니다.

사이트맵은 “발행 목록”이 아니라 “크롤러가 실제로 통과 가능한 목록”이어야 합니다. 쿠키 의존 페이지가 섞이면 전체 품질 신호에도 악영향을 줄 수 있어요.

4) redirect 점검: ‘동의/지역/로그인’ 쿠키 때문에 302 루프가 생기는 패턴

쿠키가 SEO를 흔드는 가장 흔한 형태가 리디렉션 루프입니다. 예를 들어 “첫 방문자는 /consent로 보내 쿠키를 세팅 → 원래 페이지로 복귀” 구조는 사람에겐 자연스럽지만, 크롤러에겐 무한 302처럼 보일 수 있습니다.

쿠키 의존 리다이렉트 루프를 나타낸 화살표 다이어그램

  • 쿠키 없을 때도 최종 목적지 URL이 안정적으로 고정되는지 확인합니다.
  • 지역/언어 리다이렉트를 쓴다면
    • 가능하면 302(임시)를 사용하고, 최종 정착 URL에는 hreflang/canonical을 명확히
    • 첫 진입에만 쿠키를 요구하는 로직이 있다면, 크롤러(User-Agent)나 특정 경로(robots/sitemap)에는 예외를 두는 것을 고려
  • HTTP → HTTPS, www ↔ non-www 같은 “정규화 리디렉션”은 단 1번으로 끝나게 만듭니다. 여기에 동의/로그인 리다이렉트가 추가되면 체인이 길어져 오류가 늘어납니다.
  • Cloudflare Redirect Rules를 사용 중이면, 조건에 “Cookie 존재 여부”가 들어가 있는지 특히 점검합니다. 특정 쿠키가 없을 때만 강제 이동시키는 규칙은 크롤러와 충돌하기 쉽습니다.

정리하면, “쿠키가 없을 때도 1~2번 이내의 리디렉션으로 200 페이지에 도착”이 목표입니다.

5) Cloudflare에서 특히 자주 걸리는 지점: Bot/WAF/Cache와 쿠키의 조합

Cloudflare는 보안과 성능을 위해 많은 기능이 앞단에서 동작합니다. 이 기능들이 쿠키와 결합하면 “사람은 통과, 봇은 실패”가 쉽게 됩니다.

  • Bot Management / Super Bot Fight Mode
    • 관리 화면에서 Googlebot/Bingbot이 Challenge로 잡히는지 확인
    • 봇을 막아야 한다면, 최소한 검증된 검색엔진 크롤러는 예외 처리하는 방향이 안전
  • WAF Managed Rules
    • 특정 경로(/product, /category 등)에서만 403이 뜬다면 룰 매칭 가능성이 큼
    • 쿠키 헤더가 길거나 특이한 패턴(동의 플랫폼 쿠키 등) 때문에 오탐이 날 수 있어 해당 룰 이벤트를 확인
  • Cache(특히 “Cache Everything”류)
    • 쿠키에 따라 HTML이 달라지는 페이지를 캐시하면, 크롤러가 “동의 안내 화면” 같은 것을 캐시로 받기도 합니다.
    • 가능하면 HTML 캐시는 로그인/동의/개인화 경로를 제외하고, 캐시 키에 Cookie를 섞지 않거나(또는 반대로 과도하게 섞어서 히트율을 망치지 않도록) 정책을 명확히 둡니다.

여기서 중요한 포인트는 “크롤링 경로(robots/sitemap/대표 랜딩 URL)는 보안/캐시 규칙의 예외로 두고 단순화”입니다.

6) 최종 점검 체크리스트(운영용)

  • robots.txt: 쿠키 없이 200 OK, 리디렉션/챌린지 없음
  • sitemap.xml: 쿠키 없이 200 OK, 내용이 최신, 포함 URL이 쿠키 없이도 정상 도달
  • 대표 URL 5개: 쿠키 없이 접속 시 302 루프 없음, 최종 200의 콘텐츠가 ‘진짜 본문’
  • Cloudflare Security Events: Googlebot/Bingbot이 Block/Challenge로 잡히지 않음
  • 리디렉션 체인: http→https, www 정규화 포함해 1~2 hop 이내
  • 캐시 정책: 동의/로그인/개인화 HTML은 캐시 제외(또는 명확히 분리), 크롤링 필수 경로는 오염 방지

이 체크리스트를 통과하면, “쿠키 때문에 크롤링이 막히는 문제”의 80%는 현장에서 바로 윤곽이 잡힙니다.

마무리

Cloudflare 환경에서 쿠키는 보안/동의/개인화의 핵심이지만, 검색/크롤링 관점에선 “의존성이 생기는 순간” 문제가 됩니다. 특히 403과 302 루프는 Search Console에서 늦게 발견되는 경우가 많아, 운영 루틴에 넣어두는 게 좋습니다.

robots.txt와 sitemap은 무조건 단순하게, 리디렉션은 짧게, 보안/캐시는 크롤링 경로를 먼저 보호한다—이 세 가지만 지켜도 색인 흔들림이 크게 줄어듭니다.