TrueURL
TrueURL

메뉴

무료 리디렉션 도구

301 리디렉션 검사

URL이 영구 리디렉션인지 임시 리디렉션인지 확인하세요. TrueURL이 모든 홉(리디렉션 한 단계)을 검사해 검색엔진이 이 이동을 영구 이전으로 처리할지 알려 줍니다.

영구인가 임시인가: 상태 코드가 중요한 이유

HTTP 상태 코드는 서버가 검색엔진에 어떤 종류의 이동인지 알리는 수단입니다. 영구 리디렉션(301 또는 308)은 예전 URL이 완전히 사라졌다는 뜻이므로, 검색엔진은 새 URL을 색인하고 링크 같은 신호를 새 URL로 통합합니다. 임시 리디렉션(302, 303, 307)은 예전 URL이 다시 돌아온다는 뜻이므로 대개 예전 URL이 색인에 남습니다.

방문자는 차이를 전혀 느끼지 못하기 때문에 잘못된 코드가 몇 달 동안 방치되기도 합니다. 많은 도구가 따로 지정하지 않으면 임시 리디렉션을 보냅니다. PHP의 header('Location: ...'), Express의 res.redirect(), Apache의 Redirect 지시어는 모두 기본값이 302입니다.

판정 결과 보는 법

TrueURL은 첫 번째 홉만이 아니라 체인의 모든 홉을 검사합니다.

  • 모든 리디렉션이 301 또는 308: 영구 이전입니다. 페이지 이동, 도메인 변경, HTTPS 전환에서 원하는 결과입니다.
  • 하나 이상의 홉이 302, 303, 307이거나 meta refresh 또는 JavaScript 리디렉션: 체인이 완전히 영구적이지 않습니다. 실제로 임시 이동이 아니라면 해당 홉을 서버 측 301로 바꾸세요.
  • 리디렉션 없음: URL이 바로 응답했습니다. 리디렉션을 예상했다면 규칙이 활성화되지 않았거나 캐시가 아직 예전 페이지를 제공하고 있는 것입니다.
  • 최종 페이지가 로드되지 않음: 리디렉션은 작동하지만 목적지가 404, 410, 5xx 오류를 반환하거나 중간 홉이 실패합니다. 목적지를 수정하거나, 가장 관련성 높은 페이지로 리디렉션하세요.

301과 308, 302와 307의 차이

301과 308은 모두 영구 리디렉션이며 Google은 둘을 똑같이 처리합니다. 차이는 요청 메서드에 있습니다. 301 이후 브라우저는 POST를 GET으로 바꿀 수 있지만, 308은 메서드와 본문이 유지되도록 보장합니다. 일반 페이지에는 301을, 계속 POST 요청을 받아야 하는 API 엔드포인트나 폼 전송 대상에는 308을 사용하세요. 임시 리디렉션도 마찬가지입니다. 302는 메서드를 바꿀 수 있지만 307은 절대 바꾸지 않습니다.

모든 3xx 코드의 전체 비교는 HTTP 리디렉션 상태 코드 정리에서 읽어 보세요.

임시 리디렉션이 적합한 경우

  • 몇 주 동안 트래픽을 다른 페이지로 보내는 A/B 테스트나 단기 캠페인.
  • 짧은 서비스 중단. 상태 안내 페이지로 임시 리디렉션해도 되지만, 검색엔진에는 원래 URL에서 503을 반환하는 편이 더 나은 신호입니다.
  • 방문자의 언어, 위치, 기기, 로그인 상태에 따른 리디렉션. 이때는 원래 URL이 색인에 남아 있어야 합니다.
  • 폼 제출 이후(Post/Redirect/Get 패턴). 303 See Other로 브라우저를 결과 페이지로 보냅니다.

그 밖의 모든 경우, 특히 사이트 이전과 URL 변경에는 301을 사용하세요.

가이드

자주 묻는 질문

리디렉션이 301인지 302인지 어떻게 확인하나요?

위에 예전 URL을 입력하세요. TrueURL은 리디렉션을 자동으로 따라가지 않는 방식으로 URL을 요청해 모든 홉의 정확한 상태 코드를 보여 줍니다. 명령줄에서 curl -I https://example.com/old-page는 -L을 추가하지 않으면 첫 번째 응답만 보여 주며, meta refresh나 JavaScript 리디렉션은 감지하지 못합니다. curl 옵션은 URL 리디렉션 확인 방법 가이드에서 설명합니다.

301 리다이렉트는 SEO 가치를 온전히 전달하나요?

Google은 301, 302를 비롯한 서버 측 리디렉션에서 PageRank가 손실되지 않는다고 밝혔습니다. 차이는 표준 URL 신호에 있습니다. 301은 Google에 새 URL을 색인하라고 알리고, 302는 예전 URL을 유지하라는 의미로 전달됩니다. 두 페이지가 모두 다시 크롤링되면 대개 순위가 새 URL로 자리 잡습니다.

301 리디렉션은 얼마 동안 유지해야 하나요?

Google은 리디렉션을 최소 1년간 유지하라고 권장하지만, 계속 유지하는 편이 더 안전합니다. 예전 링크, 북마크, 다른 사이트의 참조는 몇 년 동안 예전 URL을 계속 사용하기 때문입니다. 리디렉션 규칙을 유지하는 데는 비용이 거의 들지 않습니다.

301 리디렉션을 설정했는데 302로 표시되는 이유는 무엇인가요?

흔한 원인은 기본값이 302인 플러그인이나 프레임워크, 직접 설정한 규칙보다 먼저 실행되는 CDN 또는 호스팅 규칙, 캐시된 예전 응답입니다. 각 홉을 살펴보세요. 302가 설정한 규칙이 처리하는 것과 다른 호스트나 경로에서 나온다면 다른 계층이 이를 추가하고 있는 것입니다.

브라우저는 301 리디렉션을 캐시하나요?

네. 브라우저는 301과 308 리디렉션을 오랫동안, 흔히 캐시를 지울 때까지 저장할 수 있으므로, 잘못된 301은 이미 그 리디렉션을 따라간 방문자에게 계속 남을 수 있습니다. 새 규칙을 테스트하는 동안에는 302나 짧은 Cache-Control: max-age를 사용하고, 규칙이 올바르게 동작하면 301로 바꾸세요. TrueURL은 응답을 캐시하지 않으므로 항상 서버가 지금 보내는 응답을 보여 줍니다.

308 리디렉션이 301보다 더 좋은가요?

SEO 측면에서는 그렇지 않으며, Google은 둘을 똑같이 처리합니다. 308은 POST 요청을 받는 API 엔드포인트처럼 요청 메서드를 유지해야 할 때만 더 낫습니다. 아주 오래된 일부 클라이언트는 308을 이해하지 못하므로, 웹페이지에는 여전히 301이 안전한 기본 선택입니다.

삭제한 페이지를 홈페이지로 301 리디렉션해도 되나요?

홈페이지가 정말로 가장 적합한 대체 페이지일 때만 그렇게 하세요. Google은 삭제된 페이지를 홈페이지로 리디렉션하는 것을 소프트 404로 처리할 수 있습니다. 가장 비슷한 대체 페이지로 리디렉션하고, 그런 페이지가 없다면 410 Gone이나 404 Not Found를 반환하세요.