블로그 URL 구조 개편 후 Nginx 301 리다이렉트로 레거시 링크 보존
목차
이번엔 블로그의 15개 insights 포스트가 root로 이동하는 URL 구조 개편에서 발생한 리다이렉트 설정을 손봤다. Nginx 설정 파일에 301 permanent redirect를 추가해서 기존 링크들이 계속 유효하도록 처리했다.
URL 구조 개편과 레거시 링크 문제
포스트들의 위치가 바뀌면서 URL 경로도 함께 변경됐다. 문제는 기존 링크들이다. 검색 엔진에 이미 색인된 기존 URL, 외부 사이트에 걸린 링크, 사용자가 북마크해놓은 주소들이 한순간에 404가 되면 안 된다는 걸 알고 있을 것이다. 이건 단순한 UX 문제를 넘어 SEO 관점에서도 심각한 이슈다. 검색 엔진이 기존 URL을 크롤하다가 404를 만나면 해당 페이지를 색인에서 제거하기 때문이다.
301 리다이렉트: 영구적이고 우아한 해결책
이렇게 URL 경로가 바뀔 때 사용할 수 있는 HTTP 상태 코드가 여러 개다. 임시 이동(302), 영구 이동(301), 찾음(307) 등이 있다. 여기서는 301 permanent redirect를 택했는데, 이건 "이 포스트의 URL이 영구적으로 이동했으니까 앞으로 새로운 URL을 기억하고 북마크도 갱신해주세요"라는 신호를 브라우저와 검색 엔진에 전달하는 것이다.
304나 302처럼 임시 리다이렉트는 "잠깐 저쪽으로 가봐"라는 뜻이므로, 검색 엔진이 기존 URL을 계속 추적하려고 한다. 301은 다르다. SEO 파워(page rank)를 새로운 URL로 이전해주고, 검색 엔진이 점진적으로 기존 URL을 색인에서 삭제하도록 유도한다. URL을 영구적으로 변경할 때 가장 올바른 선택지다.
Nginx 설정 레벨에서 처리한 이유
리다이렉트를 처리하는 방법은 크게 두 가지다. 하나는 애플리케이션 코드에서 처리하는 것이고, 다른 하나는 웹 서버(Nginx, Apache) 설정에서 처리하는 것이다.
Nginx 설정에서 처리하는 게 유리한 몇 가지 이유가 있다:
- 성능: 애플리케이션 서버까지 가지 않고 Nginx에서 즉시 응답해버리니 더 빠르다.
- 유지보수: 코드 배포 없이 설정 파일만 수정하고 reload하면 적용된다.
- 명확성: URL 매핑이 한곳에 집중되어 있어서 나중에 봤을 때 이해하기 쉽다.
- 확장성: 15개 정도는 개별 설정으로 작성해도 괜찮지만, 이런 매핑이 많아지면 정규표현식으로 패턴화할 수 있다.
옵션B 선택의 의미
커밋 메시지에 "(옵션B)"라고 명시한 건, 이 리다이렉트 설정을 구현하는 방법이 여러 개 있었다는 뜻이다. 어떤 방식으로 설정하느냐에 따라 유지보수성이나 확장성이 달라진다.
예를 들어, 개별 포스트마다 하나씩 리다이렉트 규칙을 명시하는 방식도 있고, 패턴을 찾아서 한 줄의 정규표현식으로 처리하는 방식도 있고, Nginx map 구조를 활용해서 더 깔끔하게 정리하는 방식도 있을 것이다. 각각 장단점이 있다. 개별 설정은 명확하지만 가독성이 떨어지고, 패턴으로 통합하면 간결하지만 나중에 특수한 경우를 추가할 때 번거로워진다. 옵션B는 그 사이에서 팀의 상황(포스트 개수, 앞으로의 변경 가능성, 설정 파일 스타일)을 고려해서 선택한 것 같다.
배운 점: URL 마이그레이션은 신중하게
이런 작은 작업 하나도 신경 쓸 게 많다는 걸 자주 느낀다. URL은 웹의 기본 주소인데, 한 번 바뀌면 검색 엔진, 캐시, 사용자 북마크, 외부 링크 등 생각보다 많은 곳에 영향을 미친다.
"그냥 새 URL로 옮기면 되지 않나" 하고 넘어가기 쉽지만, 성의 있게 처리하려면:
- HTTP 상태 코드 선택 (301 vs 302 vs 다른 것)
- 리다이렉트 설정 위치 (Nginx vs 애플리케이션 vs CDN)
- 리다이렉트 패턴의 유지보수 방식
- 기존 사용자에게 공지할지 말지
이런 것들을 함께 생각해야 한다. 작은 마이그레이션일수록 그냥 지나치기 쉬운데, 이 습관이 쌓이면 나중에 큰 프로젝트에서도 실수하게 된다.
마지막으로, 옵션B를 선택한 결정 과정도 팀에 공유하면 좋겠다. 왜 다른 옵션이 아닌 이것을 택했는지가 명확하면, 나중에 비슷한 상황이 오더라도 그 판단 기준을 재사용할 수 있으니까.
🛒 이 글과 어울리는 추천 상품
*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.
댓글 0
첫 댓글 달아줘.