본문으로 건너뛰기

[1.44.0] 챔피언스 M4 점검 + 애드센스 Phase 1 광고 정리/신규 도입

· 약 7분
jangsungyu
Frontend Developer
Claude Code
AI Assistant

작업 기간: 2026-05-18 ~ 2026-05-20 루트 브랜치: feature/1.44.0 포함 PR: #135 (M4 점검), #136 (애드센스 Phase 1)

📋 작업 개요

작업 유형: 문서 정합성 복구 + 애드센스 광고 정리/신규 도입 + UX 개선 담당: jsg3121 + Claude

본 릴리즈는 세 가지 트랙의 작업을 묶어 진행했습니다.

  1. 챔피언스 M4 체크리스트 정합성 복구 (PR #135) — 실제 구현된 코드와 기획 문서 사이의 불일치 해소
  2. 모바일 홈 화면 상단 배너 마진 추가 — UX 개선 fix
  3. 애드센스 Phase 1 (PR #136) — 무력 슬롯 6개 제거 + 챔피언스 페이지군 광고 6개 신규 도입

스펙 문서 동기화 및 하네스 main 작업 금지 규칙 명문화

· 약 4분
jangsungyu
Frontend Developer
Claude Code
AI Assistant

작업 날짜: 2026-05-18 브랜치: feature/1.43.0-spec-sync

작업 개요

작업 유형: 문서 동기화 / 하네스 규칙 강화 담당: jsg3121 + Claude

작업 목표

  • 1.40.0~1.42.0 사이에 머지된 작업이 실행 계획서에 누락되어 있어, 다음 작업 진입 시점에 진행 현황과 다음 액션을 명확히 파악할 수 있도록 스펙 문서를 최신화한다.
  • 본 작업 진행 중 main 브랜치에서 파일 수정이 시작되는 사고가 발생하여, CLAUDE.md와 workflow.md에 "main 브랜치에서는 어떠한 파일 수정도 수행하지 않는다"는 절대 규칙을 명시한다.

챔피언스 홈 상위 티어 전용 쿼리 적용 및 모바일 가로 스크롤 전환

· 약 5분
jangsungyu
Frontend Developer
Claude Code
AI Assistant

작업 날짜: 2026-05-11 브랜치: feature/1.42.0-best-champions

작업 개요

작업 유형: GraphQL 쿼리 마이그레이션 / UX 개선 담당: jsg3121 + Claude

작업 목표

기존 챔피언스 홈은 getChampionsMetaSummary로 챔피언스 전체 메타(186종)를 받은 뒤, 클라이언트에서 usageRate 기준 정렬 → slice(0, 10)으로 상위 10마리를 잘라 노출했다. 백엔드에서 S/A 티어만 정렬·필터링 완료된 신규 쿼리 getBestChampionsPokemon을 제공함에 따라, 다음을 수행한다.

  • 서버에서 정제된 데이터를 그대로 사용하여 클라이언트 후처리 로직 제거
  • 노출 범위를 "사용률 상위 10마리"에서 "S·A 티어 전체"로 명확화
  • 가변 개수 응답에 맞춰 모바일은 그리드(2열) → 가로 스크롤 UX로 전환

Next.js 14 → 15 메이저 업그레이드 (보안 패치)

· 약 4분
jangsungyu
Frontend Developer
Claude Code
AI Assistant

작업 날짜: 2026-05-09 브랜치: feature/1.41.0-nextjs-15-upgrade 관련 ADR: ADR-0004 Next.js 14 → 15 메이저 업그레이드

📋 작업 개요

작업 유형: 메이저 의존성 업그레이드 / 보안 패치 담당: jsg3121 + Claude

🎯 작업 목표

npm audit이 보고한 5건의 Next.js 본체 high-severity 취약점을 해소하고, EOL 상태인 14.x 라인에서 활발히 보안 백포트가 유지되는 15.x 라인으로 이전한다. React 18 생태계는 그대로 유지하여 다른 의존성 변경을 최소화한다.

포켓몬 상세 페이지에 섹션별 맥락 매칭 퀴즈 배너 추가

· 약 4분
jangsungyu
Frontend Developer
Claude Code
AI Assistant

작업 날짜: 2026-05-07 브랜치: feature/1.40.0-detail-quiz-banner

작업 개요

작업 유형: UX 개선 / 트래픽 성장 담당: Claude 연관 분석: .claude/research/reports/STR-2026-05-04-poke-korea-traffic-growth.md (단계 C-4)

작업 목표

네이버 서치어드바이저 데이터 기준 /quiz/type-effectiveness 페이지의 CTR이 22.2%로 매우 높게 측정되어, 퀴즈 콘텐츠는 사이트의 강력한 재방문 유도 자산임이 확인됐습니다. 그러나 SEO 인입의 다수를 차지하는 포켓몬 상세 페이지(/detail/[pokemonId])에서는 한 마리만 보고 이탈하는 비율이 높아, 퀴즈와의 연결 동선이 부족했습니다. 본 작업은 사용자가 보고 있는 정보 섹션과 자연스럽게 연결되는 위치에 퀴즈 배너를 배치하여, 광고가 아닌 콘텐츠 흐름의 일부로 인지되도록 합니다.

메가진화 일람 페이지 신설(C-5) 종료 결정

· 약 3분
jangsungyu
Frontend Developer
Claude Code
AI Assistant

결정 날짜: 2026-05-07 브랜치: feature/1.40.0-mega-list-close

결정 개요

결정 유형: 작업 종료 (코드 변경 없음) 담당: Claude + 사용자 검토 연관 분석: .claude/research/reports/STR-2026-05-04-poke-korea-traffic-growth.md (단계 C-5)

배경

C-5는 STR 보고서의 MT-4 항목("네이버 메가진화 키워드 강세 대응")을 근거로 별도 메가진화 일람 페이지(/mega-evolution) 신설을 계획한 작업이었습니다. 그러나 작업 착수 전 사용자가 "현재도 메가진화를 검색하면 메가진화가 활성화된 포켓몬 상세 페이지가 결과에 노출되는데, 굳이 별도 페이지가 필요한가?"라는 합리적 의문을 제기했고, 이를 검증하는 과정에서 작업이 불필요하다고 판단했습니다.

홈 페이지 인기 챔피언스 포켓몬 섹션 추가

· 약 3분
jangsungyu
Frontend Developer
Claude Code
AI Assistant

작업 날짜: 2026-05-06 브랜치: feature/1.40.0-home-champions

작업 개요

작업 유형: UX 개선 / 트래픽 성장 담당: Claude 연관 분석: .claude/research/reports/STR-2026-05-04-poke-korea-traffic-growth.md (단계 C-3)

작업 목표

챔피언스 페이지군은 출시(2026-04-08) 후 한 달이 안 된 시점에 30일 활성 사용자 3,494명이라는 안정적 트래픽 기반을 확보했지만, 메인 홈에서 챔피언스로의 인입 경로는 헤더 메뉴를 통한 간접 진입에 한정되어 있었습니다. 챔피언스 모바일 출시(2026 여름)에 대비해 메인 홈에 직접 진입점을 추가하면서, 기존 "오늘의 포켓몬" 콘텐츠는 유지하여 메인 홈 콘텐츠를 풍부하게 합니다.

타입 상성 결과 영역 인터랙션·CTA 강화

· 약 4분
jangsungyu
Frontend Developer
Claude Code
AI Assistant

작업 날짜: 2026-05-06 브랜치: feature/1.40.0-type-effectiveness-links

작업 개요

작업 유형: SEO / UX 개선 담당: Claude 연관 분석: .claude/research/reports/STR-2026-05-04-poke-korea-traffic-growth.md (단계 C-1, C-2)

작업 목표

/type-effectiveness 페이지가 30일 UV 26,228명으로 사이트 전체 MAU(23,047)를 초과하는 단일 페이지 의존 구조를 해소합니다. BA 보고서 병목 4 진단에 따르면 결과 영역의 타입 칩이 단순 <span> 요소라 사용자가 다른 페이지로 이동할 단서가 없었습니다. 본 작업은 결과 영역 안의 칩과 결과 영역 하단의 별도 CTA 섹션 두 곳에서 다음 행동 경로를 제공합니다.

챔피언스 상세 페이지 메타 description 다양화

· 약 4분
jangsungyu
Frontend Developer
Claude Code
AI Assistant

작업 날짜: 2026-05-05 브랜치: feature/1.39.0-champions-meta

작업 개요

작업 유형: SEO 개선 담당: Claude 연관 분석: .claude/research/reports/STR-2026-05-04-poke-korea-traffic-growth.md (단계 B-1)

작업 목표

챔피언스 상세 페이지(/champions/list/[pokemonId])의 메타 description이 모든 포켓몬에 대해 이름만 다르고 나머지 100% 동일한 boilerplate 패턴이었습니다. 검색엔진은 이런 동일 패턴을 thin content로 인식하여 인덱싱 후순위 또는 미노출 처리하는 경향이 있어, 실제 페이지가 구현되어 있음에도 30일 UV 3,494명에 그치는 원인으로 추정되었습니다. 본 작업은 API에서 이미 제공되는 필드(타입, 스탯, 메타 통계)를 활용해 포켓몬마다 다른 description이 생성되도록 변경합니다.

본편 포켓몬 상세 페이지 메타 description 폼별 다양화

· 약 3분
jangsungyu
Frontend Developer
Claude Code
AI Assistant

작업 날짜: 2026-05-05 브랜치: feature/1.39.0-detail-meta

작업 개요

작업 유형: SEO 개선 담당: Claude 연관 분석: .claude/research/reports/STR-2026-05-04-poke-korea-traffic-growth.md (단계 B-2)

작업 목표

본편 포켓몬 상세 페이지(/detail/[pokemonId])의 메타 description이 다음 두 가지 문제를 가지고 있었습니다:

  1. 107~114자로 네이버 80자 가이드라인을 30자 이상 초과 — 모바일 SERP에서 잘림
  2. 라벨식 나열 패턴 ("전국 도감번호 : 902 | 포켓몬명 : 대쓰여너 | 타입 : [악, 격투] | 등장세대 : 8세대") — 자연어 검색 의도와 동떨어짐
  3. 모든 포켓몬에 절반 이상이 동일 boilerplate ("습득 기술을 포함한 포켓몬의 자세한 정보를 빠르고 간편하게 포케코리아에서 바로 확인해보세요") — thin content 위험

네이버 SC에서 노출 7,959회/CTR 2.4%인 /detail/902 (대쓰여너) 같은 페이지의 CTR 저조 원인으로 추정되어, 자연어 패턴 + 폼/이로치별 다양화로 변경합니다.