모든 푸터 화면에 법적 정책 링크 추가
목차
서비스의 모든 푸터 영역에 쿠키 정책과 운영 정책 링크를 일관되게 추가했다. 한 번에 여러 페이지를 수정해야 했던 작업인데, 생각보다 신경 쓸 게 많았다.
왜 footer에 법적 링크를 놔야 하나
쿠키와 운영 정책 링크는 단순한 UX 개선이 아니라 법적 의무다. 대부분의 지역에서 개인정보보호 규제(GDPR, CCPA, 국내 개인정보보호법 등)가 있고, 사용자가 쉽게 접근할 수 있는 곳에 이런 정책을 명시해야 한다. Footer는 웹사이트의 가장 표준적인 위치인데, 말하자면 "서비스를 쓰는 모든 사람이 지나가는 곳"이다.
단순히 링크만 있으면 되는 게 아니라, 서비스의 모든 페이지에서 동일하게 보여야 한다. 사용자 입장에선 어떤 페이지에서 든 쉽게 정책을 확인할 수 있어야 하고, 감시 기관 입장에선 일관된 접근성을 요구한다.
변경 범위: 페이지별로 다르던 footer 통일하기
이 작업이 조금 복잡했던 이유는 footer가 한 곳에 정의되지 않았기 때문이다.
| 파일 | 역할 |
|---|---|
src/app/convert/[slug]/page.tsx |
변환 기능 페이지의 footer. 동적 라우트이므로 여러 slug에 해당하는 페이지들이 모두 영향받음 |
src/app/home-client.tsx |
홈 화면의 footer. 클라이언트 컴포넌트로 동작 |
src/components/legal-shell.tsx |
Footer 컴포넌트의 핵심 부분. 아마 다른 페이지들도 이 컴포넌트를 재사용했을 가능성 |
src/lib/i18n.ts |
다국어 설정 파일. 링크 텍스트나 URL을 여러 언어로 제공 |
한 서비스가 여러 진입점(convert 페이지, 홈 페이지 등)을 가지고 있을 때, footer 같은 공통 영역을 관리하는 건 생각보다 까다롭다. 각 페이지마다 footer를 다르게 구성했거나, 공통 컴포넌트(legal-shell.tsx)를 쓰면서도 일부 페이지에서는 빠뜨렸을 가능성이 높다.
일관성과 다언어 처리
이 작업에서 중요했던 게 두 가지였다.
첫째, 일관성. 모든 페이지의 footer가 동일한 링크를 가지고 있어야 한다. "어떤 페이지에서는 쿠키 정책이 있고 어떤 페이지에서는 없다"는 상황은 최악이다. 사용자도 헷갈리고, 감시 기관도 지적한다.
둘째, 다언어 지원. i18n.ts를 건드린 걸 보면 이 서비스는 여러 언어를 지원한다는 뜻이다. 쿠키 정책과 운영 정책 링크의 텍스트나 대상 URL이 언어별로 다를 수 있다. 예를 들어 영어 사용자는 https://example.com/en/cookies로, 한국어 사용자는 https://example.com/ko/cookies로 보내야 할 수도 있다. 이걸 안 하면 외국 사용자들이 자기 언어의 정책을 찾을 수 없다.
// i18n.ts에서 대략 이런 식으로
const legalLinks = {
cookies: {
en: '/en/cookies',
ko: '/ko/cookies',
},
operatingPolicy: {
en: '/en/operating-policy',
ko: '/ko/operating-policy',
},
};
이런 작업에서 흔한 함정들
여러 파일을 수정할 때 놓치기 쉬운 게 있다. 첫째, 모든 진입점을 찾는 것. 홈 페이지와 convert 페이지만 있다고 생각했는데 나중에 다른 동적 라우트가 있었다든지. 둘째, footer 컴포넌트가 여러 곳에서 재사용될 때 중복 수정. legal-shell.tsx 하나만 수정하면 되는 경우도 있고, 각 페이지별로 수정해야 하는 경우도 있다.
이런 작업을 할 때는 "footer가 어디에 정의되는가"를 먼저 파악해야 한다. 공통 Layout? 각 페이지마다? 동적으로 생성? 이게 명확하면 수정 범위가 줄어든다. 우리 서비스는 혼합된 형태였던 것 같다.
회고
이번 작업은 "단순한 링크 추가"처럼 보이지만, 실제로는 여러 페이지에 걸친 일관성 유지와 다언어 처리를 함께 다뤄야 했다. 자동화된 테스트나 린트 규칙(예: "모든 footer에 특정 링크가 있는가")을 미리 갖춰뒀으면 이런 류 작업에서 빠진 게 있는지 자동으로 잡을 수 있었을 것 같다. 팀이 커질수록, 페이지가 많아질수록 이런 일관성 검사가 중요해진다.
🛒 이 글과 어울리는 추천 상품
*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.
댓글 0
첫 댓글 달아줘.