Redirect는 SEO의 기본이지만, 성능(Core Web Vitals) 관점에서는 “추가 네트워크 왕복”입니다. 특히 Cloudflare 앞단에서 Redirect를 잘못 구성하면 http→https, non-www→www, 슬래시, 대소문자, 국가/언어 리다이렉트가 연쇄적으로 이어져 LCP가 밀리고 크롤러도 쓸데없는 URL을 더 많이 돌게 됩니다.

우회로가 합쳐지는 도로와 성능 측정 아이콘 일러스트

아래 체크리스트는 Cloudflare 환경에서 Redirect를 성능 중심으로 정리하면서 robots/sitemap까지 같이 점검하는 흐름으로 구성했습니다.

1) Core Web Vitals 관점에서 “나쁜 Redirect”부터 정의하기

성능에 악영향을 주는 패턴은 대체로 비슷합니다. 특히 LCP는 첫 화면 리소스를 빨리 받는 게 핵심인데, Redirect가 끼면 HTML 응답 자체가 늦어져 연쇄적으로 느려집니다.

  • Redirect chain: A→B→C처럼 2회 이상 연속 이동
  • Redirect loop: A→B→A로 무한 반복(사용자/크롤러 모두 실패)
  • 혼합 규칙: Worker/Rules/Page Rule/원서버 설정이 섞여 결과가 환경(모바일/데스크톱, 국가)마다 달라짐
  • 302 남발: 영구 이동인데 임시(302/307)로 남아 캐시/인덱싱 신호가 흔들림

목표는 단순합니다. “최초 요청 URL이 최종 Canonical URL로 최대 1번만 이동”하도록 만드는 것입니다.

2) 먼저 정리할 Canonical 정책 5가지(리다이렉트 설계도)

설정 화면에 들어가기 전에, 사이트의 기준 URL을 확정해야 Redirect가 단순해집니다. 아래 5가지를 문서로 한 줄씩 확정해두면 규칙이 꼬일 일이 크게 줄어듭니다.

  • https 강제: http는 모두 https로
  • 호스트 통일: www 또는 non-www 중 하나로만(예: non-www)
  • 트레일링 슬래시: /about 과 /about/ 중 하나로만(디렉터리/파일 정책 포함)
  • 대소문자 정책: 대문자 URL을 허용할지, 소문자로 강제할지
  • 인덱스 파일: /index.html, /index.php 노출을 허용할지(대개 숨기는 편이 단순)

여기서 중요한 포인트는 “정책이 많을수록 Redirect도 늘어난다”는 점입니다. 정말 필요한 것만 남기고 나머지는 서버에서 200으로 처리하거나(가능하면) 링크/사이트맵에서만 정리하는 편이 성능에 유리합니다.

3) Cloudflare에서 Redirect는 한 곳에서만: Redirect Rules 중심으로 통일

Cloudflare에는 Redirect를 만들 수 있는 위치가 여러 개입니다(예: Redirect Rules, Bulk Redirects, Workers, 그리고 예전 Page Rules). 성능과 운영 안정성 측면에서는 한 곳에 모으는 게 좋습니다.

여러 URL이 하나로 합쳐지는 리다이렉트 규칙 도식

  • 추천(대부분): Redirect Rules로 통일(조건식 명확, 관리 쉬움)
  • 대량 고정 매핑(수백~수천 개)이면 Bulk Redirects가 편할 수 있음(운영 방식에 따라 선택)
  • 동적/복잡 로직(쿠키/국가/경로 매핑)이 필요하면 Workers가 맞지만, 불필요하게 쓰면 디버깅 난이도가 급격히 올라감

핵심은 “http→https”, “www↔non-www”, “슬래시/대소문자/인덱스 제거” 같은 기초 Canonical Redirect를 Cloudflare에서 1번에 끝내는 것입니다. 원서버(Nginx/Apache/앱)에도 같은 Redirect가 남아 있으면 체인이 생기기 쉽습니다.

상태코드 권장: 영구 이동이면 301 또는 308을 사용합니다. 방법(POST 등) 보존까지 고려해야 하는 특수 케이스가 아니라면 301로 충분한 경우가 많습니다.

4) Redirect chain 줄이는 실전 점검 루트(성능 중심)

아래 순서대로 점검하면 체인을 빠르게 줄일 수 있습니다. 가능한 한 “한 번의 Redirect로 최종 URL 도착”을 기준으로 봅니다.

  • 대표 URL 10개 선정: 홈, 카테고리, 글, 검색/필터, 이미지/정적 파일, 오래된 인기 글 등
  • 4가지 변형으로 테스트: http/https, www/non-www, 슬래시 유무, 대문자 섞인 URL
  • 최종 도착까지 이동 횟수 기록: 0~1회면 통과, 2회 이상이면 개선 대상
  • 원인 분리: Cloudflare 규칙 → 원서버 규칙 → 앱 레벨 redirect(로그인/지역) 순서로 하나씩 끄거나 예외처리로 단일화

팁 하나만 꼽으면, Cloudflare에서 Canonical Redirect를 만든 뒤 원서버에서는 같은 규칙을 “Redirect” 대신 “link 정리(내부 링크/사이트맵/Canonical 태그)”로만 처리하는 편이 체인 방지에 유리합니다.

5) SEO 체크리스트: robots.txt / sitemap / redirect가 서로 충돌하지 않게

Redirect를 정리해도 robots/sitemap이 엉켜 있으면 크롤러가 여전히 낭비를 합니다. 아래는 자주 터지는 충돌 포인트입니다.

sitemap과 robots가 정리된 단일 크롤링 경로 일러스트

  • robots.txt의 Sitemap URL: 반드시 최종 Canonical URL(https, 선택한 호스트)로 제공
  • sitemap 내 URL: http나 다른 호스트가 섞여 있으면 크롤러가 Redirect를 계속 밟음 → 크롤링 예산 낭비
  • 차단(Disallow)과 Redirect의 조합: Redirect로 모으는 경로를 robots에서 막아버리면 크롤러가 최종 페이지까지 못 갈 수 있음
  • 404/410 처리: 삭제 콘텐츠는 무조건 홈으로 301 보내기보다, 실제로 삭제라면 410(또는 404)을 유지하는 편이 SEO/크롤링에 더 정직함
  • Canonical 태그: 최종 URL과 canonical이 다르면 또 다른 신호 충돌이 생김

정리하면, “sitemap과 canonical은 최종 URL만”, “robots는 크롤러가 최종 URL에 도달하는 길을 막지 않게”가 기본 원칙입니다.

6) Core Web Vitals 관점에서 자주 놓치는 Cloudflare 관련 포인트

  • 캐시 키/쿼리스트링: 불필요한 쿼리 파라미터(utm 등)가 Redirect로 정리되지 않으면 중복 URL이 늘고 캐시 효율이 떨어질 수 있음
  • 모바일 첫 요청: 국가/언어 Redirect를 첫 진입에서 과하게 쓰면 LCP가 늘기 쉬움(가능하면 사용자 선택 후 저장, 또는 서버 렌더링 전략과 함께 설계)
  • 정적 리소스에는 Redirect 금지: 이미지/CSS/JS URL이 Redirect를 타면 렌더링 경로가 길어져 LCP/INP에 악영향
  • HTTP/3/2 자체보다 “한 번에 200 받기”: 프로토콜 최적화보다 Redirect 제거가 체감 개선이 큰 경우가 많음

결국 Core Web Vitals에서 Redirect 최적화의 목표는 “첫 HTML 응답을 더 빨리”이고, 그 다음이 “정적 리소스를 바로 받기”입니다.

마무리

Cloudflare를 쓰는 사이트에서 Redirect 문제는 대개 “규칙이 여러 군데에 흩어져서 체인이 생기는 것”에서 시작합니다. Canonical 정책을 먼저 확정하고, Redirect Rules 한 곳으로 단일화한 뒤 대표 URL 기준으로 체인을 1회 이내로 줄이는 게 가장 효율적입니다.

마지막으로 robots/sitemap까지 최종 URL로 정리해두면, 성능(Core Web Vitals)과 SEO 크롤링 효율이 같이 좋아지는 경우가 많습니다.