302 리디렉션
302 임시 리디렉션의 의미, Google의 약한 대상 처리 신호와 표준 URL 처리, A/B 테스트·프로모션·지역 라우팅·유지보수에서의 올바른 사용법을 설명합니다.
언어
이 페이지의 근거 신호 1개
- 관련 라이브 도구HTTP Status & Redirect Checker
302(Found)는 임시 리디렉션으로 방문자를 새 URL로 보내면서 원래 URL을 검색 결과에 유지하라는 신호입니다. Google의 크롤링 인프라는 302를 대상 처리의 약한 신호로 부르지만 색인 파이프라인은 임시 리디렉션을 대상 표준화 신호로 사용하지 않습니다. 302의 링크 신호가 0이라는 통념은 틀렸고, 오래 유지하면 고정된 기한 없이 301처럼 처리될 수 있습니다. A/B 테스트·지역/기기 라우팅·임시 유지보수·기간 제한 프로모션에는 302를, 영구 이동에는 301을 사용하세요.
TL;DR — 302 리디렉션은 방문자를 한 URL에서 다른 URL로 임시로 보냅니다. 검색 엔진에는 이 이동이 영구적이지 않으므로 원래 URL을 결과에 유지하라고 알립니다. A/B 테스트·세일·유지보수처럼 실제로 임시인 경우 사용하고, 페이지를 완전히 옮길 때는 301을 사용하세요.
302 리디렉션이란 무엇인가
리디렉션은 한 URL을 요청한 사람을 다른 URL로 보내는 지시입니다. 서버가 응답할 때는 무슨 일이 일어났는지 나타내는 세 자리 HTTP 상태 코드를 포함합니다. 302는 리디렉션 코드 중 하나이며 공식 이름은 “302 Found”입니다. 이 코드의 핵심은 한 단어, 임시입니다. Evidence for this claim RFC 9110 defines 302 Found as a temporary move to another URI and notes that user agents may change POST to GET when following it. Scope: HTTP semantics for 302 responses. Confidence: high · Verified: IETF: RFC 9110 §15.4.3 — 302 Found
그 임시성이 핵심입니다. 302는 지금은 페이지가 이동했지만 원래 URL이 돌아온다고 말합니다. 따라서 검색 엔진은 원래 URL을 결과에 유지하고 대상을 교체 페이지가 아니라 임시 대리 페이지로 보아야 합니다. Evidence for this claim Google follows a 302 temporary redirect but does not use it as a signal that the destination should become canonical; Google recommends 302 rather than 301 for temporary site tests. Scope: Google Search handling of temporary redirects and A/B tests. Confidence: high · Verified: Google: Redirects and Google Search Google: Website testing
영구 형제인 301 리디렉션과 비교해 보세요. 301은 “이 이동은 영원하니 새 URL을 색인하라”고 말합니다. 방문자 경험은 같지만(둘 다 새 페이지로 보냄) 검색 엔진에 보내는 메시지는 정반대입니다.
실제로 사용하는 경우
이동이 실제로 짧게 끝날 때 302가 올바른 도구입니다.
- A/B 테스트에서 일부 방문자를 페이지 변형으로 보낼 때.
- 임시 세일·프로모션 페이지를 보여 주고 나중에 돌아올 때.
- 페이지가 잠시 유지보수 중이라 “곧 돌아옵니다” 안내를 보여 주되 원래 URL의 검색 위치를 유지할 때.
- 방문자를 지역이나 기기별로 라우팅해 방문자마다 적합한 대상이 달라질 때.
이 모든 경우 원래 URL이 Google 결과에 계속 남기를 원하며, 바로 그것이 302가 요청하는 동작입니다.
대부분의 사람이 틀리는 부분
오랫동안 SEO 담당자들은 302를 방사성 물질처럼 취급하며 “링크 가치를 전달하지 않으니 절대 쓰지 말라”고 했습니다. 이것은 오해입니다. 302도 링크 신호를 전달하며 301과 다른 점은 검색 엔진이 어느 URL을 표시하기를 선호하는지입니다. John Mueller도 302가 SEO 업계에서 나쁜 평판을 얻었지만 그것은 잘못된 생각이라고 말했습니다.
진짜 실수는 302 자체가 아니라 영구 이동에 302를 사용하는 것입니다. 페이지를 영구 폐기하면서 302를 설정하면 Google에 “이전 URL을 색인에 유지하라”고 말하게 됩니다. 원하는 새 페이지가 예측할 수 없이 오랫동안 순위를 차지하지 못할 수 있습니다. 영구 이동에는 301을 사용하세요.
Google의 “약한 신호 대 강한 신호” 표현, 오래된 302가 301처럼 바뀌는 이유, Bing의 처리 방식까지 보려면 Advanced 탭으로 전환하세요.
TL;DR — 302(“Found”)는 임시 리디렉션입니다. Google의 정확한 설명은 두 단계로 나뉩니다. 크롤링 인프라는 대상을 처리하라는 약한 신호로 보고, 301은 강한 신호로 봅니다. 별도의 Search 색인 파이프라인은 임시 리디렉션을 대상이 표준이어야 한다는 신호로 사용하지 않지만 다른 신호로 대상이 색인될 수 있습니다. 링크 신호 전달과 표준화 선호를 혼동하지 마세요. 오래 유지된 302는 고정된 공개 일정 없이 301처럼 바뀔 수 있습니다. Google은 A/B 테스트에 301 대신 302를 권장합니다. 영구 이동에 302를 쓰지 말고, 사용자 입력을 검증하지 않은 채 대상 URL을 만들지도 마세요.
”Moved Temporarily”에서 “Found”로: 짧은 역사
302는 모호하게 태어났습니다. HTTP/1.0에서는 **“Moved Temporarily”**라고 불렸고 사양은 클라이언트가 따라갈 때 원래 메서드를 재사용해야 한다고 했습니다. 하지만 실제 브라우저는 많은 경우 리디렉션에서 POST를 GET으로 조용히 바꾸었습니다. HTTP/1.1은 현실을 반영해 302를 **“Found”**로 이름을 바꾸고 GET으로 전환하는 303 (See Other), 메서드를 절대 바꾸지 않는 **307 (Temporary Redirect)**을 추가했습니다. 현재 RFC 9110(2022)도 302에서 POST→GET이 가능하다고 적는데, 메서드를 바꾸면 안 되는 경우에 307이 존재하는 이유입니다. 일상적인 GET 페이지 리디렉션에서는 검색 엔진 관점의 302와 307이 비슷하고 메서드 보존 차이는 폼·API 요청에서만 중요합니다. Evidence for this claim RFC 9110 defines 302 Found as a temporary move to another URI and notes that user agents may change POST to GET when following it. Scope: HTTP semantics for 302 responses. Confidence: high · Verified: IETF: RFC 9110 §15.4.3 — 302 Found
“Moved Temporarily,” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」
검색 목적에서 Google은 302(found)·303(see other)·**307(temporary redirect)**을 “Temporary”로 묶고, 301·308을 “Permanent”로 구분합니다.
둘 중 선택할 때의 간단한 판단:
- 302 — 따라가는 클라이언트가
POST를GET으로 바꿀 수 있습니다(RFC 9110). 일반GET페이지에는 괜찮지만 메서드 변경을 허용할 수 없으면 피하세요. - 307 — 메서드를 바꾸지 않고 다른 요청으로 재전송하지도 않습니다. 폼·API 요청을 보낸 그대로 재생해야 할 때 사용하세요.
- 303 — 보통
GET/HEAD로 가져오는 다른 비동등 리소스를 의도적으로 가리킵니다. POST 후 확인 페이지로 보내는 전형적인 패턴이지 원래 요청의 동일한 대체물이 아닙니다. - 캐싱 — RFC 9111에 따라 302는 상태 코드만으로 경험적 캐시가 되지 않습니다. 명시적인 freshness 또는 cache 지시를 설정한 경우에만 저장·재사용됩니다.
약한 신호와 강한 신호: Google의 정확한 표현
통념을 건너뛰고 Google의 실제 문서를 보세요. 크롤링 인프라 문서에서 Google은 302를 약한 신호라고 말합니다.
Evidence for this claim Google's crawling-infrastructure documentation says crawlers follow a 302/303 and Google systems use it as a weak signal that the target should be processed; it also warns that product behavior can differ. Scope: product-specific crawl and processing handoff Confidence: high · Verified: How HTTP Status Codes Affect Google's Crawlers“By default, Google’s crawlers follow the redirect, and Google systems use the redirect as a weak signal that the redirect target should be processed.” (번역) 「기본적으로 Google 크롤러는 리디렉션을 따라가며 Google 시스템은 대상이 처리되어야 한다는 약한 신호로 리디렉션을 사용합니다.」
같은 표의 301 행은 한 단어만 다르고 **strong(강한)**이라고 합니다.
Evidence for this claim Google's crawling-infrastructure documentation says crawlers follow a 302/303 and Google systems use it as a weak signal that the target should be processed; it also warns that product behavior can differ. Scope: product-specific crawl and processing handoff Confidence: high · Verified: How HTTP Status Codes Affect Google's Crawlers“Google follows the redirect, and Google systems use the redirect as a strong signal that the redirect target should be processed.” (번역) 「Google은 리디렉션을 따라가며 대상이 처리되어야 한다는 강한 신호로 리디렉션을 사용합니다.」
“약함”은 “0”이라는 뜻이 아닙니다. 다만 무엇이 약한지 정확히 구분해야 합니다. 서로 다른 Google 시스템이 하나의 연속선이 아니라 서로 다른 단계에 대해 말하고 있습니다.
- 크롤링 인프라는 리디렉션 대상이 처리되는지, 즉 Google 크롤러가 대상을 가져와 살펴볼지를 말합니다.
- Search 색인 파이프라인은 그보다 뒤의 별도 단계입니다. 임시 리디렉션을 대상이 표준이어야 한다는 신호로 사용하지 않지만 다른 표준화 신호가 있으면 대상이 색인될 수 있다고 합니다. Evidence for this claim Google follows a 302 temporary redirect but does not use it as a signal that the destination should become canonical; Google recommends 302 rather than 301 for temporary site tests. Scope: Google Search handling of temporary redirects and A/B tests. Confidence: high · Verified: Google: Redirects and Google Search Google: Website testing
“Googlebot follows the redirect, but the indexing pipeline doesn’t use the redirect as a signal that the redirect target should be canonical. The target page might still be indexed if other canonicalization signals are present.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」
함께 읽으면 302는 Google이 대상을 보러 가도록 약하게 밀어 주지만, 색인 파이프라인은 같은 리디렉션을 대상 표준화의 투표로 보지 않습니다. 대상은 302 자체가 아니라 다른 신호 때문에 색인·표준이 될 수 있습니다. 이를 “302는 대상 표준화에 대한 약한 투표”라고 단순화하지 마세요. 두 문서는 서로 다른 범위를 설명합니다.
하나가 아닌 두 가지 메커니즘
경쟁 글들이 서로 섞어 버리는 부분입니다. 다음 두 가지를 분리해서 보세요.
- 302의 링크 신호·PageRank 전달은 0이 아닙니다. Gary Illyes는 2016년에 Google이 301·302 등 30x에서 PageRank 희석을 더 이상 적용하지 않는다고 말했고, Mueller도 302가 일반 리디렉션처럼 동작하며 PageRank를 전혀 전달하지 않는 것은 아니라고 설명했습니다. 이는 Google 관계자의 공개 발언이지 모든 상황에 대한 공식적인 보편 보장은 아닙니다.
- 표준화·색인 선호가 실제로 달라지는 메커니즘입니다. 301은 대상을 색인하라는 강한 신호이고 302는 약한 신호이므로 기본적으로 출발지를 색인합니다.
“do work the same as normal redirects… It’s not that they don’t pass any PageRank or anything like that.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」
“302가 PageRank를 전달하는가?”와 “302가 순위를 매기는 URL을 바꾸는가?”는 다른 질문입니다. 첫 번째 답은 예, 두 번째 답은 기본적으로 아니요입니다. 둘을 섞은 것이 “302=가치 0”이라는 오해를 만들었습니다.
URL을 리디렉션하면 Google은 출발지와 대상 양쪽을 추적합니다. 둘 중 하나가 표준이 되고 다른 하나는 표준 URL의 대체 이름이 됩니다. 어느 쪽인지는 임시인지 영구인지 같은 신호에 달려 있습니다. 302에서는 당분간 출발지가 표준으로 남습니다. Evidence for this claim A 302 expresses temporary intent, but it does not guarantee that the source URL will always remain Google's selected canonical or that the target cannot index through other signals. Scope: redirect crawling, indexing, and canonicalization Confidence: high · Verified: Redirects and Google Search
“Google keeps track of both the redirect source (the old URL) and the redirect target (the new URL). One of the URLs will be the canonical; which one, depends on signals such as whether the redirect was temporary or permanent. The other URL becomes an alternate name of the canonical URL.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」
302를 너무 오래 유지하면 일어나는 일: “플립”
사람들을 놀라게 하는 부분입니다. 제거되지 않은 임시 리디렉션은 더 이상 임시로 처리되지 않을 수 있습니다. Mueller는 302를 장기간 유지하면 결국 301과 정확히 같은 방식으로 처리한다고 말했습니다.
“if you have 302 redirects for the long run, we treat them exactly the same as 301 redirects anyway.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」
왜 이런 일이 일어날까요? 내 Ahrefs 표준화 가이드에서 설명한 관찰 기반 실무 모델을 사용하면 저울이 기우는 것과 같습니다. 영구 리디렉션은 새 URL로 신호를 앞으로 보내고 임시 리디렉션은 원래 URL로 뒤로 보냅니다. 그러나 모든 링크·내부 링크·사이트맵이 새 URL을 가리키면 균형이 달라집니다.
“If a temporary redirect is left in place long enough or the URL it’s redirected to already exists, it may be treated as a permanent redirect and send signals forward instead. It requires enough signals to flip the scale we saw earlier for canonicalization signals. As links build up, internal links are changed, sitemap URLs are updated, etc., more signals point to the new URL than the old URL, and the flip occurs.” (번역) 「임시 리디렉션을 충분히 오래 두거나 대상 URL이 이미 존재하면 영구 리디렉션처럼 처리되어 신호를 앞으로 보낼 수 있습니다. 링크·내부 링크·사이트맵이 새 URL을 더 많이 가리킬 만큼 표준화 신호의 저울이 기울면 전환이 일어납니다.」
문제는 얼마나 걸리는지 아무도 모른다는 것입니다. Google이 302를 실수로 영구 이동에 사용했다고 판단하면 더 빨리 301처럼 처리할 수도 있습니다. “며칠”처럼 특정 숫자를 인용하지 마세요. Google이 공개한 기한은 없고 Bing의 “2일”도 Google이 확인한 수치가 아닙니다.
“Nobody knows how long a 302 redirect has to exist before Google starts treating it as a 301 redirect. Usually, it’s a few weeks to a few months, but it can be days, weeks, or months.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 “Only if Google thinks you used a 302 redirect by mistake for a permanent move does this not happen. In that case, it treats the redirect as a 301… In some circumstances, Google even appears to treat 302s as 301s from the get-go.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 자료
Bing이 302를 처리하는 방식: 헤더뿐 아니라 동작을 본다
Bing도 다른 경로로 비슷한 결론에 도달하며 이를 명시적으로 설명했습니다. Bing은 상태 코드만 믿지 않고 반복 크롤링에서 관찰된 리디렉션 패턴을 봅니다. 대상이 계속 바뀌는 301은 302처럼, 늘 같은 곳을 가리키는 302는 301처럼 처리할 수 있습니다. 충분히 일관된 동작이 반복되면 두 검색 엔진 모두 헤더가 주장하는 것보다 리디렉션이 실제로 하는 일을 신뢰합니다.
Bing의 오래된 지침은 오늘날 Google보다 302를 더 아껴 쓰라고 경고하며 잘못 사용한 302가 이전 URL에 가치를 남길 수 있다고 했습니다. 실무 결론은 Google과 같습니다. 실제 의도에 상태 코드를 맞추세요.
302가 올바른 선택인 경우
Google은 302를 단순히 허용하는 것이 아니라 한 사례에서는 권장합니다. A/B 테스트 지침을 보세요.
“If you’re running a test that redirects users from the original URL to a variation URL, use a 302 (temporary) redirect, not a 301 (permanent) redirect. This tells search engines that this redirect is temporary—it will only be in place as long as you’re running the experiment—and that they should keep the original URL in their index rather than replacing it with the target of the redirect (the test page). JavaScript-based redirects are also fine.” (번역) 「원래 URL에서 변형 URL로 사용자를 보내는 테스트라면 301이 아니라 302를 사용하세요. 실험이 실행되는 동안만 임시로 존재하므로 검색 엔진이 원래 URL을 색인에 유지하게 합니다. JavaScript 리디렉션도 괜찮습니다.」
정당한 사용 사례는 모두 실제로 임시입니다.
- A/B 테스트 — Google의 명시적 권장 사항입니다. 단, 통계적 유의성에 필요한 기간이 지나면 제거하고 불필요하게 오래 실행하지 마세요.
- 지역·기기·언어 라우팅 — 방문자에 따라 대상이 달라집니다. Googlebot에 실제로 무엇을 제공하는지, 쿠키·헤더·캐시 키·
Vary가 변형을 분리하는지, 접근성 사용자가 콘텐츠에 접근하는지, 자동 라우팅을 덮어쓸 수 있는지 확인하고 로컬라이즈된 URL에는 hreflang을 사용하세요. - 임시 유지보수·서비스 불가 페이지 — 다른 설명 페이지로 의도적으로 보내는 경우 302가 적합합니다. 같은 URL을 잠시 제공할 수 없는 장애라면
Retry-After와 함께503 Service Unavailable을 검토하세요. - 기간 제한 프로모션 — 캠페인 기간에만 보내고 되돌립니다.
- 로드 밸런싱·장애 조치 — 원본 서버나 데이터센터가 잠시 불가할 때 임시로 다른 곳에 보냅니다.
“if we discover a site running an experiment for an unnecessarily long time, we may interpret this as an attempt to deceive search engines and take action accordingly.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 “if a service your site offers is temporarily unavailable, you can set up a temporary redirect to send users to a page that explains what’s happening, without compromising the original URL in search results.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」
hreflang
Examples 탭에서 위 사례를 나란히 주석과 함께 보고 Checklists 탭에서 배포 전 점검을 수행하세요.
유일한 진짜 실수
영구 이동을 의도하면서 302를 사용하는 것입니다. Google에 이전 URL을 색인에 유지하라고 말하므로 실제로 순위를 원하는 새 페이지가 예측할 수 없이 오랫동안 선택되지 않을 수 있습니다. 페이지가 영구적으로 사라졌다면 301(또는 308)을 사용하세요. 리디렉션 체인 안에서 301과 302를 일관성 없이 섞거나 두 URL이 서로를 가리켜 루프를 만드는 것도 피해야 합니다.
302 구현하기
중요한 것은 헤더입니다. 상태 줄 302 Found와 Location이 필요합니다. Google의 PHP 예시는 다음과 같습니다.
header('HTTP/1.1 302 Found');
header('Location: https://www.example.com/newurl');
exit();Apache(.htaccess)에서는 R=302 플래그가 임시임을 나타냅니다. R=301 또는 플래그 없는 R은 영구로 기본 처리될 수 있습니다.
Redirect 302 /old-path https://www.example.com/newurl
# or with mod_rewrite:
RewriteRule ^old-path/?$ https://www.example.com/newurl [R=302,L]nginx의 redirect는 302를 발행하며 permanent를 사용하면 301을 발행합니다.
location = /old-path {
return 302 https://www.example.com/newurl;
}WordPress 리디렉션 플러그인, CDN·엣지 규칙, 애플리케이션 핸들러 등 스택이 무엇이든 원칙은 같습니다. 서버 측 리디렉션을 우선하고 임시 코드를 의도적으로 선택하세요. 대부분의 도구는 301을 기본값으로 하므로 302는 보통 명시적으로 설정해야 합니다.
모든 리디렉션에 적용되는 보안 주의: Location 헤더의 대상이 사용자 입력(예: ?next= 또는 ?returnUrl=)으로 만들어지면 오픈 리디렉션이 될 수 있습니다. 공격자가 귀하의 도메인 링크를 악성 사이트로 튕기게 만들 수 있습니다. 요청 파라미터에 들어온 URL을 그대로 사용하지 말고 안전한 경로·출처를 allowlist로 제한하세요. //evil.example이나 %2F%2Fevil.example 같은 인코딩·scheme-relative 입력도 테스트하고, 배포 전 현재 서버·CDN 버전의 문법을 확인하세요.
영구 이동의 대응 글과 전체 비교는 이 클러스터의 301 리디렉션, 301과 302, 302와 307 글을 참고하세요.
AI 요약
고급 버전의 핵심을 요약하면 다음과 같습니다.
- 302(Found)는 임시 리디렉션입니다. 방문자를 새 URL로 보내면서 원래 URL을 검색 결과에 유지하라고 알립니다.
- Google의 설명은 두 단계입니다. 크롤링에서는 대상 처리의 약한 신호이고 301은 강한 신호입니다. 색인 파이프라인에서는 대상 표준화 신호가 아니지만 다른 신호로 대상이 색인될 수 있습니다. 약함은 0이 아니며 처리됨은 표준이 됨과 다릅니다.
- 302·303·307의 차이: 클라이언트가 302의 POST를 GET으로 바꿀 수 있고, 307은 메서드를 바꾸지 않으며, 303은 다른 비동등 리소스를 가리킵니다. 기본 캐싱은 명시적 지시가 필요합니다.
- 302의 링크 신호 전달은 0이 아닙니다. 다만 이는 Google 관계자의 공개 발언이고 모든 상황에 대한 공식 보편 규칙은 아닙니다. 실제 차이는 표준화·색인 선호입니다.
- 오래된 302는 플립될 수 있습니다. 실무 관찰이며 공개 기한은 없습니다.
- Bing은 헤더뿐 아니라 반복 크롤링 동작을 봅니다. 일관된 동작이면 상태 코드와 무관하게 재분류할 수 있습니다.
- Google은 A/B 테스트에 302를 권장합니다. 지역·기기·언어 라우팅, 임시 유지보수, 기간 제한 프로모션, 장애 조치도 정당한 사례입니다.
- 보안:
Location대상을 사용자 입력으로 직접 만들지 말고 allowlist를 사용하세요. - 진짜 실수: 영구 이동에 302를 쓰는 것입니다. 영구 이동에는 301을 사용하세요.
POSTGETVaryhreflang503Retry-After
공식 문서
검색 엔진과 HTTP 사양의 1차 문서입니다.
- Google Search의 리디렉션 — 영구·임시 표, 원래 URL 유지, 대체 URL 추적, PHP 구현 예시.
- HTTP 상태 코드가 Google 크롤러에 미치는 영향 — 302 약한 신호와 301 강한 신호.
- Search를 위한 A/B 테스트 모범 사례 — 테스트에는 302를 사용하고 불필요하게 오래 실행하지 말라는 지침. 3xx
Bing / Microsoft
- 리디렉션 관리 — 301·302와 canonical — 헤더뿐 아니라 동작을 본다는 Bing의 설명입니다. 원문은 Wayback Machine 보관본에서도 확인하세요.
HTTP 사양·참고
- MDN — 302 Found 및 307 Temporary Redirect — 메서드 보존과 303·307이 필요한 이유.
- RFC 9110 §15.4.3 (302 Found) — 302에서 POST→GET이 가능하다는 현재 HTTP 의미론.
출처 인용
Google과 Bing의 기록된 발언입니다. 검색 문서 링크는 인용 부분으로 이동하는 deep link입니다.
Google — 약한 신호와 강한 신호의 구분
- Google의 302 약한 처리 신호, 301의 강한 처리 신호, 그리고 임시 리디렉션이 대상 표준화 신호가 아니라는 점을 설명하는 세 가지 공식 문서 인용입니다.
“By default, Google’s crawlers follow the redirect, and Google systems use the redirect as a weak signal that the redirect target should be processed.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 “Google follows the redirect, and Google systems use the redirect as a strong signal that the redirect target should be processed.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 “Googlebot follows the redirect, but the indexing pipeline doesn’t use the redirect as a signal that the redirect target should be canonical. The target page might still be indexed if other canonicalization signals are present.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 자료 자료 자료
Google — 임시 리디렉션을 사용하는 경우
- 잠시 다른 페이지로 보낼 때 임시 리디렉션을 사용하고 원래 URL을 Search 결과에 유지하라는 Google의 설명입니다.
- Google은 리디렉션 출발지와 대상을 모두 추적하며 표준 URL은 임시·영구 여부를 포함한 신호에 따라 정한다고 설명합니다.
“If you just want to send users to a different page temporarily, use a temporary redirect. This will also ensure that Google isn’t influenced by the redirect which may help keep the old URL in its Search results.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 “When you redirect a URL, Google keeps track of both the redirect source (the old URL) and the redirect target (the new URL). One of the URLs will be the canonical; which one, depends on signals such as whether the redirect was temporary or permanent.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 301/301 자료 자료
Google — A/B 테스트(302 권장, 과도하게 오래 유지하지 않기)
- A/B 테스트에는 301이 아닌 302를 사용하라는 Google의 권고입니다.
- 테스트를 불필요하게 오래 실행하면 검색 엔진 기만으로 해석할 수 있다는 경고도 함께 기록되어 있습니다.
“If you’re running a test that redirects users from the original URL to a variation URL, use a 302 (temporary) redirect, not a 301 (permanent) redirect.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 “If we discover a site running an experiment for an unnecessarily long time, we may interpret this as an attempt to deceive search engines and take action accordingly.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 자료 자료
John Mueller, Google — “302는 나쁘다”는 오해 해소
- John Mueller는 302가 SEO 업계에서 나쁜 평판을 얻었지만 실제로는 일반 리디렉션처럼 동작하고 링크 신호가 0이 아니며, 장기간 유지하면 301처럼 처리될 수 있다고 설명했습니다.
“302 redirects have a bad reputation among SEOs, which I think is incorrect. Because they do work the same as normal redirects as well. It’s not that they don’t pass any PageRank or anything like that. And if you have 302 redirects for the long run, we treat them exactly the same as 301 redirects anyway.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 자료
Bing / Microsoft — 헤더뿐 아니라 동작을 관찰하기
- Bing은 반복 크롤링에서 관찰된 패턴에 따라 리디렉션을 재분류할 수 있습니다. 대상이 계속 바뀌는 301은 302처럼, 같은 곳을 계속 가리키는 302는 301처럼 볼 수 있다는 설명입니다. 자료
#:~:text= fragment가 브라우저에서 여전히 작동하는지 확인하세요. 301 또는 302인가? 배포 전 체크리스트
리디렉션을 배포하기 전에 상태 코드가 실제 의도와 맞는지 확인하세요.
- 이동이 영구적인가? 이전 URL이 돌아오지 않으면 → 301(또는 308), 302가 아닙니다.
- 정말 임시인가? A/B 테스트·프로모션·유지보수·지역/기기 라우팅·장애 조치라면 → 302가 맞습니다.
- 코드를 명시적으로 설정했는가? 대부분의 도구는 301을 기본값으로 하므로 302가 의도적인지 확인하세요.
- A/B 테스트인가? Google 권장대로 302를 사용하고 유의성에 도달하면 제거할 계획을 세우세요.
- 같은 URL의 일시적 장애인가? 503을 검토하고, 다른 설명 페이지로 보내는 경우에 302를 사용하세요.
- 301과 302가 섞인 체인이나 루프가 없는가? 최종 대상에 직접 보내세요.
- “임시” 302가 사실상 영구가 되었다면 301로 바꾸세요.
- 실제 응답 상태를 curl·브라우저 DevTools·리디렉션 검사기로 확인했는가? 플러그인의 라벨은 헤더의 증거가 아닙니다.
-I
정당한 302 사용 사례와 해설
302가 올바른 선택인 다섯 가지 상황과 각 상황에서 “임시” 신호가 중요한 이유입니다.
1. A/B 테스트
GET /pricing/ → 302 → /pricing/variant-b/트래픽 일부를 변형으로 보내 성과를 측정합니다. 원래 URL은 색인과 순위를 유지하고 변형은 실험 종료 후 버려지길 원합니다. Google이 302를 명시적으로 권장하는 사례이며 테스트가 끝나면 제거하세요.
/pricing/
2. 임시 세일·프로모션
GET /shoes/ → 302 → /promo/summer-sale-shoes/캠페인 기간에 방문자를 세일 페이지로 보내지만 상시 URL은 프로모션이 끝나는 순간 다시 자리를 찾아야 합니다. 301을 쓰면 곧 삭제할 페이지에 순위를 넘기는 실수가 됩니다.
/shoes/
3. 유지보수·일시적 사용 불가
GET /booking/ → 302 → /status/booking-back-soon/서비스가 잠시 중단되어 설명 페이지로 보내는 Google의 예시입니다. 원래 URL의 결과 위치는 유지하면서 문제를 해결할 수 있습니다. 같은 URL 자체가 단순히 오프라인이라면 503 Service Unavailable이 더 정확할 수 있습니다.
4. 지역·기기·언어 라우팅
GET / → 302 → /us/ (visitor in the US)
GET / → 302 → /de/ (visitor in Germany)대상은 요청하는 사람에 따라 달라지므로 하나의 대상이 출발지를 영구적으로 대체해서는 안 됩니다. 올바른 답이 요청마다 바뀌므로 임시 리디렉션이 맞습니다. 로컬라이즈된 버전에는 적절한 hreflang을 함께 사용하세요.
5. 로드 밸런싱·장애 조치
GET /app/ → 302 → /app-eu-west/ (primary origin down)원본이나 데이터센터를 잠시 사용할 수 없어 다른 곳으로 우회하지만, 원본이 복구되면 끝나야 하는 라우팅입니다. 정의상 임시입니다.
대조를 위한 안티패턴:
GET /old-product/ → 302 → /new-product/ ❌ (permanent move!)영구 폐기를 임시처럼 꾸민 사례입니다. Google은 예측할 수 없는 기간 동안 이전 URL을 색인·순위에 남기고 새 URL에 통합하지 않을 수 있습니다. 이 경우 301을 사용해야 합니다.
/old-product/
/new-product/
하나가 아닌 두 가지 메커니즘
이 프레임워크로 리디렉션 오해가 서로 다른 질문을 섞지 않게 하세요.
| 메커니즘 | 답하는 질문 | 302의 동작 |
|---|---|---|
| 링크 신호 전달 | 리디렉션에서 신호가 사라지는가? | Google은 302에서 “0이 아니다”라고 말했지만 모든 30x 상황에 대한 공식 보편 전달 규칙은 없습니다. |
| 표준화 선호 | 어떤 URL이 콘텐츠를 대표해야 하는가? | 대상 처리에는 약한 신호이며 기본적으로 출발지가 선호됩니다. |
세 단계로 적용하세요.
- 의도를 말합니다. 302는 이동이 임시이고 원래 URL이 안정적인 주소로 남아야 한다는 뜻입니다.
- 표준화 신호를 확인합니다. 내부 링크·사이트맵·canonical·외부 링크·리디렉션 기간이 출발지를 강화하거나 대상이 이기게 할 수 있습니다.
- 오래된 302를 올바르게 해석합니다. Google이 영구 이동처럼 처리하기 시작했다면 갑자기 “가치를 전달하기 시작한” 것이 아니라 표준화 신호의 균형이 버킷의 소유 URL을 바꾼 것입니다.
진단 질문은 “302가 PageRank를 전달하는가?”가 아니라 **어느 URL이 표준이어야 하며 리디렉션과 다른 신호가 같은 말을 하는가?**입니다.
임시 리디렉션을 확인하는 도구
Patrick의 무료 도구
- Redirect Checker — 첫 홉이 실제로
302인지 확인하고Location을 검사하며 임시·영구 코드가 섞인 체인을 찾습니다. - Bulk HTTP Status Code Checker — 최대 500개의 테스트·프로모션·라우팅·유지보수 URL을 감사하고 계획한 임시 동작과 다른 응답을 내보냅니다.
표준 동작과 기간을 확인하기
- Google Search Console URL 검사 — 출발지와 변형 URL을 비교하고 Google이 어느 것을 표준으로 선택했는지 확인합니다.
- 서버/CDN 로그 — 리디렉션이 의도한 대상과 기간에만 적용되고 Googlebot에 다른 경로가 제공되지 않는지 증명합니다.
- 실험 플랫폼 로그·설정 — 테스트 시작·종료·할당·리디렉션 규칙을 기록해 임시 응답이 잊힌 인프라가 되지 않게 합니다.
임시 리디렉션이 임시로 남았음을 입증하기
테스트 1 — 실험이 실제 302를 내보내는가
- 실행할 테스트 — 리디렉션 변형에 할당된 상태에서 Redirect Checker로 원래 URL을 확인하고 쿠키 할당이면 깨끗한 세션에서도 반복합니다.
HEAD만이 아니라 실제GET으로 실행하세요. 원시 상태 줄, 정확한Location, cache-control 헤더를 기록합니다. - 예상 결과 — 출발지가 의도한 변형을
Location에 담은302를 반환하고 루프나 관련 없는 홉 없이 대상이 응답합니다. - 실패 해석 —
301/308은 영구 신호이고,200후 이동은 계획한 서버 응답이 아닌 클라이언트 리디렉션입니다. 같은 URL에서 HEAD와 GET의 상태가 다르면 서버·CDN 처리를 조사해야 합니다. - 모니터링 기간 — 활성화 직후와 배포·라우팅 변경마다.
- 롤백 트리거 — 영구 코드, 잘못된 대상, 루프가 발견될 때.
테스트 2 — 원래 URL이 표준 URL로 남는가
- 실행할 테스트 — Google Search Console에서 원래 URL과 변형 URL을 검사하고 내부 링크·사이트맵·canonical 태그가 원래 URL을 계속 선호하는지 확인합니다.
- 예상 결과 — 원래 URL이 의도한 표준으로 남고 변형이 별도의 테스트 페이지로 대체 색인되지 않습니다.
- 실패 해석 — 충돌하는 표준화 신호나 지나치게 오래 실행된 리디렉션이 Google을 변형 쪽으로 밀고 있습니다.
- 모니터링 기간 — 재크롤링 후와 장기 테스트 중에 확인합니다. 302가 플립되는 고정 날짜는 없습니다.
- 롤백 트리거 — 변형이 Google 선택 표준이 되거나 원래 페이지 쿼리에 독립적으로 나타날 때.
테스트 3 — 테스트가 끝나면 임시 규칙이 제거되는가
- 실행할 테스트 — 종료 후 깨끗한 세션에서 원래 URL을 요청하고 Redirect Checker로 확인합니다.
- 예상 결과 — 원래 URL이 정상적인
200콘텐츠를 다시 반환하고 테스트 할당이 변형으로 보내지 않습니다. - 실패 해석 — 오래된 CDN·엣지·애플리케이션·실험 규칙이 남아 있습니다.
- 모니터링 기간 — 종료 직후와 캐시 만료 후 한 번 더.
- 롤백 트리거 — 운영 cohort가 폐기된 변형으로 계속 이동할 때 규칙을 끄고 관련 캐시를 비웁니다.
테스트 4 — 전체 체인·메서드·예외를 확인하는가
- 실행할 테스트 — 첫 홉만이 아니라 전체 리디렉션 체인을 추적하고 최종 대상이 정상 응답하는지 확인합니다. 쿼리 파라미터를 붙여 보존 또는 의도적 제거를 확인하고, POST 본문을 받을 수 있는 경로라면 메서드가 바뀌지 않는지 시험하세요. 대상이 사용자 입력에서 오면 allowlist로 확인합니다.
- 예상 결과 — 체인은 짧고 예측 가능한 홉으로 정상 페이지에 도착하며 파라미터·메서드는 애플리케이션 의도대로 동작하고 allowlist 밖 대상은 거부됩니다.
- 실패 해석 — 긴 체인·루프, 목적지를 깨뜨리는 파라미터 손실, 의도치 않은 메서드 변경, 임의
?next=오픈 리디렉션은 출시를 막는 문제입니다. - 모니터링 기간 — 출시 전과 리디렉션 규칙·CDN·프레임워크 변경 후.
- 롤백 트리거 — 위 실패가 운영 트래픽에서 발견될 때.
- 도구 주의: Search Console URL 검사는 Google이 본 크롤링 상태를 반영하므로 실제 HTTP 헤더를 확인하는 도구를 대신하지 않습니다.
POST
스스로 테스트하기: 302 리디렉션
302가 무엇이며 언제 사용하는지에 관한 다섯 가지 질문입니다. 답을 고른 뒤 확인하세요.
변경 내역
2026년 8월 8일에 업데이트됨.
편집 요약 및 기록된 변경 세부 정보입니다.변경 세부 정보
-
변경 세부 정보는 현재 영어로 제공됩니다.
전체 비교를 사용할 수 없음 — 이 수정에 대한 이전 스냅샷이 보관되지 않았습니다.
2026년 7월 17일에 업데이트됨.
편집 요약 및 기록된 변경 세부 정보입니다.변경 세부 정보
-
변경 세부 정보는 현재 영어로 제공됩니다.
전체 비교를 사용할 수 없음 — 이 수정에 대한 이전 스냅샷이 보관되지 않았습니다.
Try it live
This is a real endpoint on this site — not a simulation.
Hit it from the button, open it in a new tab, or
curl -i it from your terminal, and the server answers with the actual status code this article is about.