← 목록으로
개발일지

게시글 URL 계층 구조 개편

3

사이트를 만들면서 게시글 URL에 대해선 크게 신경을 안 쓰고 있었습니다.

어차피 내용만 잘 나오면 되지 않나 싶었는데,
어느 날 사이트를 돌아보다 문득 이상한 점을 발견했습니다.

사이드바에 /games/maple-story/guide 이런 식으로 카테고리 계층을 잘 잡아뒀는데
정작 그 안에 있는 글을 클릭하면

/post/1774027946407-0kp6s

이런 주소가 나오고 있었습니다.

카테고리 구조는 분명히 존재하는데 게시글 URL에는 그게 전혀 반영이 안 되는,
계층이 끊겨버리는 느낌이었습니다.


어떻게 바꿨냐면

섹션과 카테고리, 서브카테고리를 그대로 URL에 담는 방식으로 변경했습니다.

  • 게임즈 글 → /games/maple-story/guide/86
  • 디자인 글 → /design/web/web-banner/43
  • 채널 글 → /channel/diary/74

게시글 번호는 DB의 autoincrement id를 그대로 씁니다.
날짜 순서가 아니라 DB에 입력된 순서라 결번이 생길 수도 있지만,
그게 URL 가독성보다 중요하진 않다 판단했습니다.


기존 URL로 접속하면 새 URL로 자동 이동되도록 308 리다이렉트 처리도 해뒀습니다.

예전에 공유된 링크나 구글에 인덱싱된 구버전 URL로 들어와도
알아서 새 주소로 넘어가니 별도로 신경 쓸 일은 없습니다.

구글 입장에서도 308은 이 페이지는 영구적으로 저쪽으로 이사했다는 신호라서
시간이 지나면 인덱스가 새 URL로 자연스럽게 교체됩니다.

사이트맵도 새 URL 기준으로 업데이트했고
어드민에서 글을 발행하면 새 URL로 바로 이동하도록 처리했습니다.