POP-SPOT v2.43 — 구조화 데이터에 실제 팝업(행사) 수록 — 껍데기였던 ItemList
v2.43 릴리즈에 포함된 Git 기록을 빠짐없이 펼친 기술 기록이다. 전문 용어는 바로 풀어 쓰고, 바뀐 모든 코드 줄을 Before → After로 비교했다.
먼저 쉽게 설명하면
구조화 데이터에 실제 팝업(행사) 수록 — 껍데기였던 ItemList 작업이 중심이다. 이 릴리즈는 눈에 보이는 결과뿐 아니라 그 결과를 만든 파일과 코드까지 모두 추적했다.
읽는 법
Git 기준 범위
커밋 8ae135c — feat(유입분석): 방문 기록에 유입 경로 저장·집계·표시변경 파일 9개
쉬운 설명: 방문 기록에 유입 경로 저장·집계·표시 작업이다.
바꾼 이유: 사장님이 "유입이 어디서 제일 많냐" 고 물었는데 답할 수 없었다. 방문 기록이 방문자ID·경로· 게스트여부·브라우저종류·시각만 남기고 출처를 안 남기기 때문이다.
파일 수: 9개이다.
파일 1. popspot-backend/src/main/java/com/example/popspotbackend/controller/AdminVisitController.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 2. popspot-backend/src/main/java/com/example/popspotbackend/controller/VisitController.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 3. popspot-backend/src/main/java/com/example/popspotbackend/dto/VisitReferrerDto.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 4. popspot-backend/src/main/java/com/example/popspotbackend/entity/VisitLog.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 5. popspot-backend/src/main/java/com/example/popspotbackend/repository/VisitLogRepository.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 6. popspot-backend/src/main/java/com/example/popspotbackend/service/VisitService.java
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 7. popspot-backend/src/main/resources/db/migration/V25__visit_log_referrer_host.sql
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 8. popspot-frontend/app/admin/page.tsx
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 9. popspot-frontend/src/components/VisitTracker.tsx
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
커밋 4a60bcb — feat(네이버SEO): RSS 피드에 큐레이션 랜딩 수록 — 4건 → 81건변경 파일 1개
쉬운 설명: RSS 피드에 큐레이션 랜딩 수록 — 4건 → 81건 작업이다.
바꾼 이유: 네이버 서치어드바이저 실측: 색인 1건, 90일 수집 10건 남짓. sitemap 에는 120건을 제출했는데도 그렇다. 소유확인·robots·SSR 은 모두 정상이라 "읽을 수 없어서" 가 아니라 "올 이유가 없어서" 였다.
파일 수: 1개이다.
파일 1. popspot-frontend/app/feed.xml/route.ts
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
커밋 169e953 — feat(네이버SEO): 지역×시점 랜딩 65종 신설 — 검색어 1위를 받을 페이지가 없었다변경 파일 3개
쉬운 설명: 지역×시점 랜딩 65종 신설 — 검색어 1위를 받을 페이지가 없었다 작업이다.
바꾼 이유: 네이버 서치어드바이저 검색어를 보면 상위가 "이번주 성수 팝업"(4노출) · "이번주 성수팝업"(2) · "성수 이번주 팝업"(1)로, 같은 의도가 세 변형으로 7노출이다. 그런데 받을 페이지가 없었다 — this-week 와 seongsu 가 따로 있을 뿐 조합이 없다. 지역×카테고리 조합은 91개를 만들어 뒀는데 지역×시점은 0개였다.
파일 수: 3개이다.
파일 1. popspot-frontend/app/feed.xml/route.ts
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 2. popspot-frontend/app/popups/[slug]/page.tsx
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 3. popspot-frontend/app/sitemap.ts
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
커밋 2ee9cfb — fix(시점): "오늘·이번 주" 가 UTC 서버에서 하루 밀리던 문제변경 파일 1개
쉬운 설명: "오늘·이번 주" 가 UTC 서버에서 하루 밀리던 문제 작업이다.
바꾼 이유: 지역×시점 랜딩을 배포한 직후 실서비스 제목이 로컬과 달랐다.
파일 수: 1개이다.
파일 1. popspot-frontend/src/lib/popupSlices.ts
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
커밋 909410e — feat(네이버SEO): 지도 전용 문서 · 검색어에 잡힌 브랜드 3종변경 파일 6개
쉬운 설명: 지도 전용 문서 · 검색어에 잡힌 브랜드 3종 작업이다.
바꾼 이유: 네이버 서치어드바이저 검색어 중 아직 받을 페이지가 없던 것들을 채운다.
파일 수: 6개이다.
파일 1. popspot-frontend/app/map/MapClient.tsx
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 2. popspot-frontend/app/map/page.tsx
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 3. popspot-frontend/app/popups/[slug]/page.tsx
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 4. popspot-frontend/app/sitemap.ts
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 5. popspot-frontend/src/components/AuthGuard.tsx
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
파일 6. popspot-frontend/src/lib/popupSlices.ts
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
커밋 b073b73 — feat(구글SEO): 검색 결과 제목·설명에 실제 건수와 마감일 노출변경 파일 1개
쉬운 설명: 검색 결과 제목·설명에 실제 건수와 마감일 노출 작업이다.
바꾼 이유: Search Console 30일 실측: 노출 2,187 · 클릭 103 · CTR 4.71% · 평균 7.66위. 7/06주 노출 72건 에서 7/13주 1,072건으로 뛰었다(랜딩이 색인된 시점). 순위는 1페이지 하단인데 클릭이 안 붙는다.
파일 수: 1개이다.
파일 1. popspot-frontend/app/popups/[slug]/page.tsx
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.
커밋 b0344b4 — feat(구글SEO): 구조화 데이터에 실제 팝업(행사) 수록 — 껍데기였던 ItemList변경 파일 1개
쉬운 설명: 구조화 데이터에 실제 팝업(행사) 수록 — 껍데기였던 ItemList 작업이다.
바꾼 이유: ItemList 가 numberOfItems 만 있는 껍데기였다. "15개가 있다" 고만 말하고 그 15개가 뭔지는 안 알려주니 검색엔진이 얻을 게 없었다.
파일 수: 1개이다.
파일 1. popspot-frontend/app/popups/[slug]/page.tsx
파일 전체 문맥
조각만 보면 알기 어려운 코드를 파일 처음부터 끝까지 보여 준다. 초록은 추가·수정, 빨강은 삭제된 줄이다.