← 목록으로
개발일지

URL 리다이렉트 정리 · 네비게이션 로딩 오버레이 추가

0

구글 색인 이슈를 살펴보다가 URL 구조와 관련된 부분을 정리하고, 페이지 이동 시 피드백이 없던 문제도 함께 개선한 날입니다.


불필요한 리다이렉트 제거

URL 계층 구조를 개편하면서 기존 URL들을 새 URL로 넘겨주는 308 리다이렉트를 걸어두었는데,
구글 서치콘솔에서 새 URL 색인이 잘 되지 않는 이슈가 생겼습니다.

리다이렉트는 원래 "예전에 색인된 URL 트래픽을 새 URL로 보내려는" 용도인데,
새 URL을 처음부터 직접 색인할 거라면 리다이렉트 레이어가 오히려 불필요한 복잡도입니다.

세 곳을 정리했습니다.

  • post/[slug]/page.tsx — 구 /post/슬러그 URL 리다이렉트
  • [category]/page.tsx, [category]/[subcategory]/page.tsx — 구 /game-ad, /web 등 리다이렉트
  • next.config.mjs/web, /game-ad redirects 함수

실제 게시글 페이지(/games/..., /design/...)는 완전히 별개 파일이라 영향 없습니다.


사이트맵 URL 버그 수정

사이트맵을 점검하다가 디자인 카테고리 목록 페이지 URL이 잘못 생성되고 있는 걸 발견했습니다.

실제 주소:  /design/game-ad
사이트맵:   /game-ad  ← /design/ 빠짐

games와 channel은 /games/xxx, /channel/xxx 형태로 정상이었는데
design만 /design/ 접두사가 누락된 채로 등록되어 있었습니다.

구글이 사이트맵의 잘못된 URL을 크롤링하면 실제 URL로 리다이렉트되는데,
사이트맵에 리다이렉트되는 URL이 있으면 사이트 신뢰도에 영향을 줄 수 있어서 수정했습니다.


네비게이션 로딩 오버레이

페이지 이동 시 초회에 5초 가까이 걸리는 경우가 있는데,
그동안 화면에 아무 반응이 없으니 작동하지 않는 버튼처럼 느껴지는 문제가 있었습니다.

loading.tsx 방식은 정적으로 미리 생성된 페이지에서는 반응이 없는 한계가 있어서
링크 클릭 이벤트를 직접 감지하는 클라이언트 컴포넌트로 구현했습니다.

링크를 클릭하는 순간 현재 화면 위에 블러와 반투명 오버레이가 올라오고,
페이지 전환이 완료되면 자동으로 사라집니다.
화면을 완전히 교체하지 않고 현재 콘텐츠 위에 얹는 방식이라
어디 있다가 이동하는지 맥락이 유지됩니다.

스피너 색은 현재 위치한 섹션의 키컬러를 따릅니다.

  • 디자인 → #01FF75
  • 게임즈 → #FFF200
  • 크리에이티브 → #00f0ff
  • 채널 → #818cf8

라이트모드에서는 섹션별 오버라이드 없이 공용 액센트 #6c63ff 로 통일했습니다.