301 리다이렉트(리디렉션)란? 302·308과 고르는 기준

301 리다이렉트(리디렉션)란? 302·308과 고르는 기준

301 리디렉션(301 Redirect)은 요청한 페이지가 새 주소로 영구히 옮겨졌다고 서버가 알리고 방문자와 검색엔진을 새 주소로 보내는 HTTP 응답입니다. 국내에서는 “301 리다이렉트”라는 표기가 더 흔하게 쓰이며, 구글은 이 응답을 새 주소를 대표 URL로 삼으라는 강한 신호로 받아들입니다.

301 리디렉션 뜻

브라우저나 크롤러가 어떤 주소를 요청하면 서버는 세 자리 상태 코드로 답합니다. 앞자리 3은 “다른 곳으로 가라”는 리디렉션 계열이고, 301은 그중 Moved Permanently(영구 이동)입니다. 서버는 이 코드와 함께 Location 헤더에 새 주소를 적어 보내고, 브라우저는 그 주소로 곧바로 다시 요청합니다.

HTTP/1.1 301 Moved Permanently
Location: https://example.com/new-page

HTTP 표준 문서인 RFC 9110은 301을 “대상 리소스에 새로운 영구 URI가 부여되었고, 앞으로의 참조는 새 URI를 써야 한다”는 뜻으로 정의합니다. 사용자는 주소창이 바뀌는 것 말고는 차이를 느끼지 못하지만, 검색엔진에게는 “옛 주소 대신 새 주소를 기억하라”는 요청이 됩니다. 구글 검색 센터의 리디렉션 문서는 영구 리디렉션을 만나면 검색결과에 새 리디렉션 대상을 표시한다고 설명합니다.

301이 필요한 상황은 대개 주소가 바뀌는 때입니다. 도메인을 옮길 때, http를 https로 바꿀 때, www 유무를 하나로 통일할 때, 글의 주소(슬러그)를 고칠 때, 여러 페이지를 하나로 합칠 때가 대표적입니다.

옛 주소 요청에 서버가 301과 Location으로 새 주소를 알려 주고, 새 주소로 다시 요청해 검색 결과에 새 주소가 표시되는 4단계 흐름도
301은 서버가 새 주소를 알려 주고 방문자와 검색엔진을 그곳으로 보내는 응답입니다.

302·308과 고르는 기준

다시 되돌리지 않을 이동이면 301이나 308, 잠시 다른 곳으로 보냈다가 돌아올 이동이면 302나 307을 씁니다. 네 코드 모두 방문자를 새 주소로 보낸다는 점은 같고, 차이는 “영구인가 임시인가”와 “요청 방식을 유지하는가” 두 가지입니다.

301308302307
뜻영구 이동영구 이동임시 이동(Found)임시 이동
구글이 보는 신호새 주소를 처리하라는 강한 신호301과 같음약한 신호302와 같음
검색결과에 보이는 주소새 주소새 주소대개 옛 주소대개 옛 주소
POST 요청 유지GET으로 바뀔 수 있음유지GET으로 바뀔 수 있음유지

구글의 HTTP 상태 코드 문서는 308을 301과, 307을 302와 같게 처리한다고 밝힙니다. 그래서 일반 웹페이지라면 301과 308 중 어느 쪽을 써도 검색 결과는 같습니다. 308은 폼 제출처럼 POST로 들어오는 요청을 옮길 때 의미가 있습니다. RFC 9110에 따르면 301은 역사적인 이유로 브라우저가 POST를 GET으로 바꿔 다시 요청할 수 있고, 이를 막으려면 308을 쓰라고 적고 있습니다.

상황고를 코드
도메인 이전, http→https, www 통일, 슬러그 변경301
폼·API처럼 POST 요청을 받는 주소를 영구히 옮김308
서비스 점검, 일시 품절 안내처럼 곧 원래대로 돌아옴302 또는 307
A/B 테스트로 방문자를 다른 버전에 보냄302
두 주소를 모두 살려 두고 대표만 정하고 싶음리디렉션이 아니라 캐노니컬 태그

A/B 테스트에 302를 쓰라는 것은 구글의 A/B 테스팅 권장사항에 명시된 내용입니다. 원래 URL을 색인에 그대로 두라는 뜻을 전하기 위해서입니다. 마지막 줄처럼 옛 주소를 없애지 않을 때는 리디렉션 대신 캐노니컬 태그가 맞습니다. 캐노니컬과 301, noindex의 차이는 그 글에서 표로 정리했습니다.

302를 영구 이동에 잘못 쓰면 어떻게 될까요. 당장은 검색결과에 옛 주소가 남을 수 있습니다. 다만 구글의 John Mueller는 302가 오래 유지되고 링크가 모두 새 주소를 가리키면 구글이 결국 새 주소를 고르게 되며, 그 전환 시점은 정해져 있지 않다고 설명했습니다(2021년 4월). 기다리면 풀릴 수도 있지만 시점을 구글에 맡기는 셈이니, 영구 이동은 처음부터 301로 거는 편이 확실합니다.

컨설턴트의 실전 팁

302만 그런 것은 아닙니다. 307이나 자바스크립트 리디렉션으로 주소를 옮긴 사이트에서도 트래픽은 새 주소로 넘어가는데, 검색 결과에는 옛 주소가 계속 노출되는 일이 있었습니다. 방문자가 새 주소에 잘 도착한다고 해서 끝났다고 보지 마시고, 검색 결과에 어느 주소가 보이는지까지 확인하시길 권합니다.

301을 걸면 순위도 넘어가나

링크 평가는 손실 없이 넘어가지만, 새 주소가 옛 주소의 자리를 이어받기까지는 시간이 걸립니다. 한때 301을 거치면 링크 가치가 일부 줄어든다는 말이 돌았는데, 구글의 Gary Illyes는 2016년 7월 30x 리디렉션은 더 이상 PageRank를 잃지 않는다고 밝혔습니다. 지금의 사이트 이전 문서도 “301 및 기타 영구 리디렉션으로 인해 PageRank가 손실되는 일은 없습니다”라고 적고 있습니다.

그렇다고 바로 제자리를 찾는 것은 아닙니다. 같은 문서는 이전하는 동안 순위가 일시적으로 흔들릴 수 있고, 중간 규모 사이트에서 새 URL이 옛 URL을 대신해 보이기까지 몇 주 이상, 대형 사이트는 그보다 오래 걸린다고 안내합니다. 그리고 리디렉션은 최소 1년 유지하라고 권합니다. 다른 사이트에서 옛 주소로 걸린 링크를 다시 크롤링해 새 주소로 넘기는 데 그만큼 시간이 필요하다는 이유입니다.

301 설정 뒤 시간 축 3단계: 설정 직후 옛 주소 노출과 순위 흔들림, 몇 주 이상 뒤 새 주소로 교체, 최소 1년 리디렉션 유지
PageRank는 손실 없이 넘어가지만 자리 잡는 데 몇 주 이상 걸리고, 리디렉션은 최소 1년 유지합니다.

컨설턴트의 실전 팁

도메인을 옮기거나 http를 https로 바꾼 사이트에서 제가 겪은 순위 회복 기간은 1~3개월이었습니다. 301을 제대로 걸어도 그 사이에는 순위가 흔들릴 수 있으니, 이전 일정을 잡을 때 이 기간을 감안해 두시길 권합니다.

그래서 이미 운영 중인 사이트의 URL은 301이나 308을 걸 수 있을 때만 바꾸라고 말씀드립니다.

301 리다이렉트 설정하는 방법

가장 확실한 방법은 서버에서 거는 것입니다. 구글 문서는 리디렉션 방식을 “올바르게 해석할 가능성이 높은 순”으로 나열하는데, 맨 앞이 서버 측 301·308이고 meta refresh, 자바스크립트가 그 뒤입니다.

Apache와 NGINX 설정 파일

Apache는 .htaccess에, NGINX는 서버 설정 파일에 규칙을 적습니다. 아래는 구글 문서에 실린 예시와 같은 형태입니다.

# Apache (.htaccess, mod_alias)
Redirect permanent "/old" "https://example.com/new"

# NGINX
location = /service {
  return 301 https://example.com/about/service;
}

PHP와 워드프레스

서버 설정 파일을 만질 수 없다면 PHP에서 헤더를 보낼 수 있습니다. 화면에 무엇이든 출력하기 전에 헤더를 먼저 보내야 합니다.

<?php
header('HTTP/1.1 301 Moved Permanently');
header('Location: https://example.com/new-page');
exit();

워드프레스는 글의 슬러그를 바꾸면 옛 주소를 새 주소로 자동으로 보내 주지만, 이는 글 단위일 때의 이야기입니다. 카테고리 구조나 고유주소 형식을 통째로 바꾸는 경우에는 리디렉션 플러그인이나 서버 규칙으로 옛 주소와 새 주소를 하나씩 짝지어 두는 편이 안전합니다.

서버를 만질 수 없을 때

호스팅 제약으로 서버 측 리디렉션이 불가능하면 0초짜리 meta refresh를 씁니다. 구글은 즉시 실행되는 meta refresh를 영구 리디렉션으로, 지연 시간을 둔 것은 임시 리디렉션으로 해석합니다. 자바스크립트 리디렉션은 렌더링이 실패하면 구글이 리디렉션을 알아채지 못할 수 있어 마지막 수단으로 남겨 둡니다.

제대로 걸렸는지 확인하는 법

가장 빠른 확인은 응답 헤더를 직접 보는 것입니다. 터미널에서 curl -I로 옛 주소를 요청하면 상태 코드와 이동할 주소가 나옵니다. 여기서 301 대신 302가 보이거나, Location이 또 다른 리디렉션 주소를 가리키면 설정을 고쳐야 합니다.

$ curl -I https://example.com/old-page
HTTP/2 301
location: https://example.com/new-page

구글이 어떻게 받아들였는지는 서치 콘솔에서 봅니다. 페이지 색인 생성 보고서에서 옛 주소는 리디렉션이 포함된 페이지로 분류되며, 이는 색인되지 않는 것이 정상인 상태입니다. 반대로 리디렉션 오류로 잡히면 문제입니다. 구글은 이 오류의 원인으로 리디렉션 체인이 너무 긴 경우, 리디렉션이 순환하는 경우, 리디렉션 URL이 최대 길이를 넘는 경우, 체인 중간에 잘못되거나 빈 URL이 있는 경우를 꼽습니다. 새 주소는 URL 검사에서 색인이 생성됐는지 따로 확인합니다.

안 먹힐 때와 자주 하는 실수

301을 걸었는데도 옛 주소가 계속 보이거나 새 주소의 순위가 오르지 않는다면 대개 아래 중 하나입니다.

  • 리디렉션이 줄줄이 이어집니다. A→B→C처럼 이어진 체인은 구글 크롤러가 최대 10단계까지 따라가지만, 구글은 최종 주소로 바로 보내고 부득이하면 3개 이하, 많아도 5개 미만으로 유지하라고 권합니다. SE Ranking이 사이트 감사 418,125건을 분석한 결과(2025년 3월 공개) 21.58%의 사이트에서 리디렉션 체인이 발견됐습니다.
  • 옛 주소를 전부 홈페이지로 보냅니다. 구글 사이트 이전 문서는 관련 없는 단일 주소로 몰아 보내면 사용자에게 혼란을 주고 soft 404 오류로 처리될 수 있다고 경고합니다. 내용이 이어지는 페이지끼리 하나씩 짝지어야 합니다.
  • 내부 링크와 캐노니컬이 옛 주소에 남아 있습니다. 메뉴, 본문 링크, 사이트맵, 캐노니컬 태그가 여전히 옛 주소를 가리키면 신호가 엇갈립니다. 내부 링크는 새 주소로 직접 고칩니다.
  • 1년이 되기 전에 리디렉션을 지웁니다. 서버를 옮기거나 플러그인을 정리하다가 규칙이 사라지는 경우가 흔합니다. 그 순간 옛 주소는 404가 됩니다.
  • robots.txt로 옛 주소를 막습니다. 크롤러가 옛 주소에 들어오지 못하면 301 응답 자체를 볼 수 없습니다.
  • 시험 삼아 301을 걸었다가 되돌립니다. RFC 9110은 301 응답을 브라우저가 캐시할 수 있다고 정합니다. 잘못 건 301은 서버에서 지운 뒤에도 한동안 방문자의 브라우저에 남을 수 있으니, 되돌릴 가능성이 있으면 302로 시험합니다.
피할 방식(A→B→C 체인, 여러 옛 주소를 홈 하나로 보내 soft 404 위험)과 권장 방식(옛 글마다 새 글로 1:1 연결)을 비교한 도식
옛 주소는 내용이 이어지는 새 주소로 한 번에 보내야 합니다.

네이버에서는

네이버 서치어드바이저 문서는 “리다이렉트”라는 표기를 씁니다. 선호 URL 및 로봇 메타 태그 가이드는 사이트 메인 페이지는 link 태그로 선호 URL을 지정하기보다 HTTP redirect를 쓰라고 권합니다. 같은 문서는 리다이렉트 기능만으로 이뤄진 페이지에서는 로봇 메타 태그가 제대로 반영되지 않을 수 있으니, 리다이렉트 대상 페이지에도 같은 설정을 해 두라고 안내합니다.

네이버가 301과 302를 어떻게 구분해 처리하는지, 옛 주소의 평가를 얼마나 빨리 새 주소로 옮기는지는 공개 문서에 나와 있지 않습니다. 그래서 주소를 옮긴 뒤에는 서치어드바이저에 새 사이트맵을 제출하고, 새 주소가 실제로 수집되는지 지켜보는 것까지가 운영자가 할 수 있는 일입니다.

양용준
양용준
서치나인을 운영하며 체인시프트(Chainshift)에서 SEO·GEO 전략가로 활동하고 있습니다. 인하우스 데이터 마케터로 시작해 어센트코리아 검색데이터 애널리스트를 거쳤고, 메트라이프생명·안랩·이랜드 등과 네이버·구글 SEO, AI 검색 최적화(GEO) 프로젝트를 진행했습니다.

한국 공식 글로벌 SEO/GEO 컨퍼런스 Search SEOul을 공동 주최하고, 소상공인시장진흥공단·아카마이·요즘IT 세미나 등에서 GEO를 주제로 발표해 왔습니다. 측정할 수 있는 것만 약속하는, 가장 보수적이고 진정성 있는 GEO 컨설팅을 지향합니다.
목차
다른 용어 보기
성과 기반 SEO 컨설팅 포트폴리오 궁금하세요?
서치나인 로고
상호 : 서치나인 | 대표 : 양용준
이메일 : yongjoonyang@search-nine.com
사업자번호 : 241-16-01921