법률 페이지 간 쉬운 이동 환경 만들기
목차
다양한 법률 문서(이용약관, 개인정보 정책 등)를 관리하는 페이지 렌더러에 형제 문서 네비게이션을 추가했다. 사용자가 한 정책 페이지에서 관련된 다른 문서로 쉽게 이동할 수 있도록 개선한 작업이다.
왜 형제 문서 네비게이션이 필요했나
법률·정책 문서는 보통 한 번에 읽는 게 아니다. 이용약관을 읽던 사용자가 궁금증에 개인정보 처리 방침을 확인하고, 다시 환불 정책을 본다. 이런 탐색 경로는 자연스럽고 당연하다.
그런데 각 문서가 고립된 페이지라면 어떨까? 사용자는 뒤로 가기를 누르거나 주소창을 직접 건드려야 한다. 특히 모바일에서는 더 불편하다. 우리의 경우 법률 문서가 /[site]/[slug] 구조로 동적으로 렌더링되는데, 여러 페이지 간의 관계가 UI에 명시되지 않았다.
이건 단순 편의 문제를 넘어선다. 문서 간 네비게이션이 있으면 사용자는 전체 정책 체계를 더 잘 이해하게 된다. "아, 이 회사는 여러 약관을 체계적으로 관리하는군"이라는 신뢰도 생긴다. 반대로 네비게이션이 없으면 마치 약관들이 서로 무관한 것처럼 느껴진다.
구현: 같은 카테고리 문서 목록 노출
page.tsx에서 렌더링할 때, 현재 문서와 같은 카테고리에 속한 다른 문서들을 함께 전달하는 방식으로 접근했다. 예를 들어:
[사이트]/이용약관 → 형제 문서 리스트 (개인정보, 환불정책, 커뮤니티 가이드 등)
↓ 네비게이션 클릭
[사이트]/개인정보보호정책 → 형제 문서 리스트 (이용약관, 환불정책, ...)
컴포넌트 입장에서는 현재 slug를 기준으로 같은 타입의 다른 문서들을 찾아서 네비게이션 UI로 렌더링하면 된다. 라우팅 구조는 그대로 유지하되, 페이지 내용 옆에 "비슷한 문서" 섹션을 추가하는 형태다.
| 구성 요소 | 역할 |
|---|---|
| 페이지 본문 | 현재 문서의 전체 내용 |
| 형제 문서 네비게이션 | 같은 카테고리 다른 문서로 가는 링크 |
| 현재 문서 강조 | 네비게이션에서 지금 보는 문서는 비활성화 |
좋은 문서 구조를 위한 고민들
이런 변경을 하면서 몇 가지 고려했던 부분이 있다.
첫째, 문서 계층 구조를 어떻게 정의할 것인가? 모든 법률 문서를 한 그룹으로 묶을지, 아니면 운영정책/약관/개인정보 같이 세분화할지가 문제다. 너무 세분화하면 각 그룹의 문서 수가 적어서 네비게이션이 의미 없다. 반대로 너무 뭉쳐놓으면 사용자가 찾는 문서를 빨리 못 찾는다. 결과적으로 우리는 문서의 메타데이터(category, type 등)를 기준으로 할 수 있게 유연하게 설계했다.
둘째, 네비게이션 UI의 위치다. 페이지 끝에 붙일지, 사이드바에 둘지, 탭 형태로 만들지. 이건 전체 페이지 레이아웃과의 일관성을 봐야 한다. 다른 사이트 페이지들이 사이드바를 쓰고 있다면, 법률 페이지도 같은 패턴을 따르는 게 사용자 입장에서 자연스럽다.
팀 리딩 관점에서 본 이 작업
작은 피처처럼 보이지만, 이 작업은 중요한 신호를 팀에 준다. "우리는 사용자 경험의 세부 사항을 신경 쓴다"는 메시지다. 법률 문서는 서비스 필수 항목이지만, 대부분 개발자들이 우선순위를 뒤로 미룬다. 하지만 실제 사용자가 그 문서를 읽을 때 불편함을 겪으면, 그건 서비스에 대한 신뢰도에 영향을 미친다.
또한 이 작업은 나중에 유사한 기능을 추가할 때의 청사진이 된다. 네비게이션을 추가하는 가장 간단한 패턴, 메타데이터 기반으로 관계를 관리하는 방법, 페이지 렌더러에서 부가 정보를 주입하는 방식 — 이런 것들이 기록되고 반복 사용할 수 있게 된다.
다음 개선 과제
이 변경 이후 더 할 수 있는 게 몇 가지 있다. 예를 들어 문서 간에 내부 링크(텍스트 중간의 "자세한 내용은 개인정보 정책을 참고하세요" 같은 링크)를 자동으로 감지하고 강조하는 기능. 또는 문서의 마지막 갱신일을 함께 표시해서 사용자가 "이 약관이 언제 바뀌었나"를 빠르게 확인할 수 있게 하는 것도 좋다.
하지만 지금은 형제 문서 네비게이션 자체로 충분하다. 그 다음 단계는 실제 사용 패턴을 보면서 결정하면 된다.
🛒 이 글과 어울리는 추천 상품
*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.
댓글 0
첫 댓글 달아줘.