리디렉션(Redirection)은 사용자가 요청한 웹페이지 대신 다른 페이지로 자동 이동시키는 기능이다. 흔히 "리다이렉트"라고도 하며, 웹사이트를 관리할 때 URL 변경이나 페이지 정리 과정에서 자주 사용된다.
리디렉션이 필요한 상황
웹사이트 운영 중 다음과 같은 상황에서 리디렉션을 설정하게 된다:
- 도메인을 변경했을 때
- 페이지 URL 구조를 새로 만들었을 때
- 삭제된 페이지를 대체 페이지로 연결할 때
- 모바일/PC 버전을 자동 전환할 때
- 로그인 후 특정 페이지로 이동시킬 때
이처럼 리디렉션은 사용자의 혼란을 줄이고, 검색엔진에게도 올바른 페이지를 안내할 수 있는 중요한 설정이다.
리디렉션의 종류와 방식
리디렉션은 설정 위치에 따라 다음과 같이 구분된다:
1. 서버 리디렉션 (HTTP 상태 코드 기반)
서버에서 응답할 때 특정 상태 코드를 함께 보내 자동으로 다른 URL로 이동시킨다. 이 방식은 웹 서버(Apache, Nginx 등)나 백엔드에서 설정하며, 가장 안정적이고 SEO에 적합하다.
상태 코드 | 설명 | 사용 예시 |
---|---|---|
301 | 영구 이동 기존 주소는 더 이상 사용되지 않음 |
도메인 변경, 페이지 구조 개편 시 |
302 | 임시 이동 기존 주소는 여전히 유효 |
일시적으로 페이지 위치 변경 시 |
307 | 임시 이동 요청 방식(GET, POST) 그대로 유지 |
폼 전송 이후 리디렉션 시 |
2. HTML 메타 태그 리디렉션
HTML 문서의 <head>
영역에 메타 태그를 추가해 특정 시간 후 다른 페이지로 이동시키는 방식이다. 아래는 대표적인 예시이다.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="5; url=https://example.com">
<title>페이지 이동 중...</title>
</head>
<body>
<p>5초 후 새로운 페이지로 이동합니다. 이동하지 않으면 <a href="https://example.com">여기</a>를 클릭하세요.</p>
</body>
</html>
위 코드는 사용자가 아무 작업을 하지 않아도 5초 후 자동으로 새 주소로 이동시키며, 사용자에게 수동 이동 링크도 함께 제공하는 친절한 방식이다.
3. JavaScript 리디렉션
클라이언트 측에서 조건에 따라 동적으로 리디렉션할 때 사용한다. 로그인, 언어 설정, A/B 테스트 등에서 활용되며, 브라우저에서 실행되므로 JavaScript가 꺼져 있으면 동작하지 않는다는 한계가 있다.
<script>
// 즉시 이동
window.location.href = "https://example.com";
</script>
<script>
// 조건에 따른 이동 예시
if (navigator.language === "ko-KR") {
window\.location.href = "/ko/index.html";
} else {
window\.location.href = "/en/index.html";
}
</script>
4. PHP 리디렉션
PHP에서는 header()
함수를 사용해 서버 측에서 리디렉션을 설정할 수 있다. 코드 실행 전에 반드시 어떤 출력도 없어야 하며, 사용 예시는 다음과 같다.
<?php
// 기본 리디렉션 (302)
header("Location: https://example.com");
exit();
// 301 리디렉션 명시
header("Location: [https://example.com](https://example.com)", true, 301);
exit();
// 조건에 따른 리디렉션
if (!isset($\_SESSION\['logged\_in'])) {
header("Location: /login.php", true, 302);
exit();
}
?>
301, 302과 같은 상태 코드를 명시해 SEO 효과를 반영할 수 있으며, 조건문과 함께 사용하면 유연한 리디렉션 처리가 가능하다.
리디렉션과 SEO의 관계
검색엔진은 리디렉션 설정을 통해 페이지가 바뀌었음을 인식한다. 특히 301 리디렉션은 이전 페이지의 검색 순위와 링크 평판을 새 주소로 넘겨주는 방식으로, 검색 결과에 안정적으로 반영되도록 도와준다.
반면 302는 임시 이동으로 처리되어, 검색엔진은 기존 주소를 유지하려 한다. SEO 목적이라면 항상 301 리디렉션을 우선 고려해야 하며, 잘못된 리디렉션 설정은 순위 하락의 원인이 될 수 있다.
리디렉션 적용 시 주의할 점
- 리디렉션 체인이 길면 페이지 로딩 속도가 느려진다.
- 무한 루프 리디렉션은 사용자와 검색엔진 모두에 문제를 일으킨다.
- 모바일, PC 환경에서 조건 분기 리디렉션 시 사용자가 원치 않는 페이지로 이동하지 않도록 설계해야 한다.
- 정적 파일, 이미지 등에 리디렉션을 적용할 경우 주의가 필요하다.
리디렉션은 단순한 페이지 이동 기능이지만, 웹사이트 운영과 SEO에서 중요한 역할을 한다. 목적에 따라 적절한 방식(301, 302, 메타 태그, JavaScript, PHP)을 선택하고, 사용자 경험과 검색엔진 반응을 모두 고려해야 한다.
URL 변경이나 페이지 구조 개편을 계획 중이라면, 리디렉션 전략을 미리 수립해 검색 순위와 방문자 유입을 안정적으로 유지하는 것이 중요하다.
