Personal Project
2024.12 - 진행중골드박스 투데이
쿠팡 골드박스 일일 특가 상품을 자동 수집하여 가격 히스토리, 역대 최저가 분석과 함께 보여주는 제휴 마케팅 플랫폼입니다. Puppeteer stealth 크롤링으로 매일 오전 7:05 상품을 수집하고 와우회원가까지 비교합니다.
Next.js 16
React 19
TypeScript
Tailwind CSS v4
Supabase
Puppeteer
쿠팡 파트너스 SDK

프로젝트 소개
쿠팡의 '골드박스'는 매일 오전 7시에 갱신되는 24시간 한정 초특가 딜입니다. 하지만 쿠팡 앱 내에서는 지난 딜 히스토리를 보거나 체계적으로 검색하기가 어려웠습니다. 골드박스 투데이는 이러한 불편함을 해결하기 위해 시작된 사이드 프로젝트입니다.
주요 기능
- 실시간 상품 목록 — 매일 오전 7:05 자동 크롤링, 정렬/필터 지원
- 상품 검색 + 자동완성 —
gb_products전체를 대상으로title ILIKE검색, 타이핑 디바운스 250ms 자동완성 드롭다운 - 가격 인텔리전스 — 가격 변동 히스토리 차트, 역대 최저가 분석, 4단계 가격 평가(역대 최저가/근접/적정/비싼 편)
- 와우회원가 비교 — 일반회원가 vs 와우회원가 동시 표시
- 골드박스 등장 이력 — 동일 상품의 등장 횟수 및 날짜별 가격 비교
- 스마트 뱃지 — TOP 딜, 인기 상품, 역대 최저가, 신규 자동 표시
- 상품 상세 페이지 — 개별 상품 가격 차트, FAQ, 연관 상품 (ISR 5분)
시스템 아키텍처
- 크롤링 (Data Collection)
Puppeteer+puppeteer-extra-plugin-stealth로 봇 탐지를 회피하며 매일 오전 7시 5분 쿠팡 골드박스 페이지를 크롤링합니다.- 쿠팡은 가상 스크롤로 화면 밖 요소를 제거하기 때문에, 스크롤하며 실시간으로 상품을 수집하고
Map으로 중복을 제거합니다. - AWS EC2 + Xvfb + Cron 조합으로 자동화되어 있습니다.
- 데이터베이스 (Storage)
- 수집된 데이터는
Supabase(PostgreSQL)에 저장되며, 모든 테이블은gb_프리픽스를 사용합니다. gb_products는 현재 노출 상품,gb_product_prices는 가격 히스토리,gb_click_logs는 클릭 트래킹을 담당합니다.
- 수집된 데이터는
- 웹 애플리케이션 (Frontend)
- Next.js 16 App Router 기반으로 SEO 최적화된 페이지를 제공합니다.
- 상품 상세는
ISR5분 재생성으로 검색엔진에 안정적인 HTML을 제공합니다.
- 제휴 링크 (Monetization)
- 쿠팡 파트너스 SDK로 딥링크를 생성하고,
/go/[id]단축 링크 라우트에서 클릭을 트래킹한 뒤 쿠팡으로 리다이렉트합니다.
- 쿠팡 파트너스 SDK로 딥링크를 생성하고,
SEO / AI 검색 최적화
- JSON-LD 스키마: WebSite, Organization, ItemList, Product, BreadcrumbList, FAQPage
- 동적 사이트맵: 최근 30일 상품을 포함하고, 오늘/과거 상품의 우선순위를 차등 적용
- AI 크롤러 허용: GPTBot, ChatGPT-User, Claude-Web, PerplexityBot 등을
robots.txt에 명시적으로 허용 - llms.txt / llms-full.txt: AI 검색 크롤러용 사이트 설명 파일 제공
- IndexNow: 새 상품 등록 시 검색엔진에 즉시 색인을 요청
- 동적 OG 이미지: Edge Runtime에서 페이지별 OG 이미지 생성
배운 점
- 크롤링 방어 우회: 쿠팡의 Bot 탐지 로직을 우회하기 위해 stealth 플러그인, 자연스러운 딜레이, 가상 스크롤 대응을 적용하면서 웹 크롤링/보안에 대한 이해도가 높아졌습니다.
- Supabase 활용: BaaS(Backend as a Service)의 편리함과 RLS(Row Level Security) 설정의 중요성을 체감했습니다.
- AI 검색 시대의 SEO: JSON-LD, llms.txt, IndexNow 등 전통 SEO를 넘어 AI 검색 크롤러를 고려한 콘텐츠 노출 전략을 실전에 적용해보았습니다.