반응형
웹사이트에서 페이지가 예상치 못하게 리디렉트되면 SEO, 사용자 경험(UX), 크롤링 문제가 발생할 수 있습니다.
Chrome 개발자 도구(Network 탭)에서 301, 302, 307, 308 상태 코드가 보인다면, 리디렉션 규칙을 점검해야 합니다.
1. 각 상태 코드의 의미
상태 코드 | 설명 | 주요 특징 |
301 Moved Permanently | 영구적인 리디렉션 | 검색 엔진이 새로운 URL을 원본으로 인식 |
302 Found (Temporary Redirect) |
임시적인 리디렉션 | 검색 엔진이 원래 URL을 유지 (새 URL을 색인하지 않음) |
307 Temporary Redirect | 302와 비슷하지만 요청 메서드(GET/POST)를 유지 |
보안 강화된 임시 리디렉션 |
308 Permanent Redirect | 301과 비슷하지만 요청 메서드(GET/POST)를 유지 |
영구 리디렉션 (301보다 최신 표준) |
- 301/308 → 영구적, 302/307 → 임시적 리디렉션.
- 잘못 설정하면 SEO, 사용자 경험에 큰 영향을 줄 수 있음.
2. 리디렉션 원인별 해결 방법
1) .htaccess 파일 문제 (Apache 서버 사용 시)
예시1과 예시2 처럼 .htaccess 파일에서 잘못된 리디렉션이 설정되었을 수 있습니다.
예시 1) www와 non-www 리디렉션 충돌
# www로 강제 이동 (하지만 non-www로 이동하는 다른 설정이 있으면 충돌)
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
- 만약 다른 곳에서 www.example.com을 다시 example.com으로 리디렉트하면 무한 루프 발생
해결 방법
- 리디렉션이 한 방향으로만 흐르도록 설정 (예: www로 강제 이동)
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
예시 2) HTTP ↔ HTTPS 리디렉션 무한 루프
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L] # 이 부분이 문제
- 위 코드는 HTTP → HTTPS → HTTP 로 계속 리디렉션되는 무한 루프를 일으킴
해결 방법
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
- 이제 HTTP에서 HTTPS로 한 번만 이동
2) 서버 설정 문제 (Nginx 사용 시)
Nginx에서는 return 301 또는 rewrite 명령이 올바르게 설정되지 않으면 문제가 발생할 수 있습니다.
예시) 잘못된 리디렉션 설정
server {
listen 80;
server_name example.com;
return 301 https://example.com$request_uri;
}
server {
listen 80;
server_name www.example.com;
return 301 https://www.example.com$request_uri;
}
- example.com → www.example.com & www.example.com → example.com 으로 무한 루프
해결 방법
server {
listen 80;
server_name example.com;
return 301 https://www.example.com$request_uri;
}
server {
listen 443 ssl;
server_name www.example.com;
# 정상적인 HTTPS 처리 코드 추가
}
- 하나의 URL 방향으로만 리디렉션되도록 설정
3) CMS(워드프레스, 티스토리 등) 내부 설정 문제
워드프레스, 티스토리 같은 CMS (Contents Management System, 콘텐츠 관리 시스템) 에서는 플러그인 또는 설정이 리디렉션을 발생시킬 수 있습니다.
예시) 워드프레스 URL 설정 문제
- [설정] → [일반] 에서 사이트 주소(URL)와 워드프레스 주소(URL)가 다르면 무한 리디렉션이 발생할 수 있음.
해결 방법
- 사이트 주소(URL)와 워드프레스 주소(URL)가 일치하는지 확인
4) PHP 코드 문제
PHP에서 header("Location: ...")을 잘못 사용하면 문제가 생길 수 있습니다.
예시) PHP에서 무한 리디렉션
if ($_SERVER['HTTPS'] != "on") {
header("Location: https://example.com");
exit();
}
- 위 코드가 있는 상태에서 .htaccess에서도 HTTP → HTTPS 리디렉션이 설정되면 이중 리디렉션 발생
해결 방법
if ($_SERVER['HTTPS'] != "on" && $_SERVER['HTTP_HOST'] !== "example.com") {
header("Location: https://example.com", true, 301);
exit();
}
- 301(영구) 리디렉션으로 깔끔하게 처리
3. Chrome 개발자 도구로 리디렉션 추적하는 법
1) 개발자 도구(F12) → Network 탭
2) Preserve log 체크 (리디렉션 흐름 유지됨)
3) Status Code(301, 302 등) 확인
4) Headers 탭에서 "Location" 값을 확인 (리디렉트 목적지 확인 가능)
5) 반복되는 패턴이 있으면 서버 설정 또는 코드 수정
301, 302, 307, 308 상태 해결 요약
- 301/308 (영구 리디렉션)과 302/307 (임시 리디렉션)을 올바르게 사용해야 함
- .htaccess, Nginx 설정, PHP 코드, CMS 설정을 점검
- 리디렉션 루프가 발생하면 Chrome 개발자 도구의 "Location" 값 확인
- 리디렉션은 한 방향으로만 흐르도록 설정
- SEO 관점에서 301을 올바르게 활용하면 검색 엔진이 올바른 URL을 색인하도록 유도할 수 있음
문제 발견를 발견하면 리디렉션 방향의 점검이 필요합니다. 필요 없는 리디렉션 제거해서 SEO 최적화하세요.
반응형
'블로그 운영' 카테고리의 다른 글
백링크가 중요한 이유! 좋은 백링크 얻는 법과 주의할 점 (0) | 2025.03.29 |
---|---|
Preserve log 를 보고 무한 리디렉션 원인 찾는 방법 (0) | 2025.03.28 |
페이지 색인이 생성되지 않음: 리디렉션 오류 확인 (1) | 2025.03.28 |
티스토리 블로그 네이버 서치 어드바이저 등록하기 | 검색 노출 늘리는 방법! (0) | 2025.03.25 |