{
  "generatedAt": "2026-06-08T13:59:25.247Z",
  "status": "30-day",
  "current": {
    "seoPages": 92,
    "indexedPages": 0,
    "visitors": 0,
    "affiliateClicks": 0,
    "searchClicks": 0,
    "searchImpressions": 0,
    "conversions": 0,
    "revenueKrw": 0,
    "redirectLinks": 160,
    "categoryHubs": 61,
    "cityHubs": 41
  },
  "evidence": {
    "inventory": "generated static site inventory",
    "affiliate": "src/metrics.json and partner/click sync",
    "search": "src/search-metrics.json",
    "traffic": "src/traffic-metrics.json",
    "generatedAt": "2026-06-08T13:59:25.247Z",
    "trafficUpdatedAt": ""
  },
  "dataCoverage": {
    "trafficDataAvailable": false,
    "indexDataAvailable": false
  },
  "milestones": [
    {
      "id": "30-day",
      "label": "30일 기준",
      "horizonDays": 30,
      "status": "needs-data",
      "doneCount": 1,
      "totalCount": 4,
      "progress": 0.25,
      "criteria": [
        {
          "id": "seo-pages-20",
          "label": "SEO 페이지 20개 이상",
          "metric": "seoPages",
          "status": "done",
          "current": 92,
          "target": 20,
          "unit": "pages",
          "progress": 1,
          "remaining": 0,
          "evidence": "generated static site inventory"
        },
        {
          "id": "indexed-pages-10",
          "label": "Google 색인 10개 이상",
          "metric": "indexedPages",
          "status": "needs-data",
          "current": 0,
          "target": 10,
          "unit": "pages",
          "progress": 0,
          "remaining": 10,
          "evidence": "src/traffic-metrics.json"
        },
        {
          "id": "visitors-100",
          "label": "방문자 100명 이상",
          "metric": "visitors",
          "status": "needs-data",
          "current": 0,
          "target": 100,
          "unit": "visitors",
          "progress": 0,
          "remaining": 100,
          "evidence": "src/traffic-metrics.json"
        },
        {
          "id": "affiliate-clicks-20",
          "label": "제휴 클릭 20회 이상",
          "metric": "affiliateClicks",
          "status": "missing",
          "current": 0,
          "target": 20,
          "unit": "clicks",
          "progress": 0,
          "remaining": 20,
          "evidence": "src/metrics.json and partner/click sync"
        }
      ]
    },
    {
      "id": "90-day",
      "label": "90일 기준",
      "horizonDays": 90,
      "status": "needs-data",
      "doneCount": 0,
      "totalCount": 3,
      "progress": 0,
      "criteria": [
        {
          "id": "visitors-1000",
          "label": "방문자 1,000명 이상",
          "metric": "visitors",
          "status": "needs-data",
          "current": 0,
          "target": 1000,
          "unit": "visitors",
          "progress": 0,
          "remaining": 1000,
          "evidence": "src/traffic-metrics.json"
        },
        {
          "id": "affiliate-clicks-150",
          "label": "제휴 클릭 150회 이상",
          "metric": "affiliateClicks",
          "status": "missing",
          "current": 0,
          "target": 150,
          "unit": "clicks",
          "progress": 0,
          "remaining": 150,
          "evidence": "src/metrics.json and partner/click sync"
        },
        {
          "id": "first-commission",
          "label": "첫 구매 또는 첫 수수료",
          "metric": "first-commission",
          "status": "missing",
          "current": 0,
          "target": 1,
          "unit": "boolean",
          "progress": 0,
          "remaining": 1,
          "evidence": "src/metrics.json and partner/click sync"
        }
      ]
    },
    {
      "id": "6-month",
      "label": "6개월 기준",
      "horizonDays": 180,
      "status": "needs-data",
      "doneCount": 0,
      "totalCount": 3,
      "progress": 0,
      "criteria": [
        {
          "id": "visitors-5000",
          "label": "방문자 5,000명 이상",
          "metric": "visitors",
          "status": "needs-data",
          "current": 0,
          "target": 5000,
          "unit": "visitors",
          "progress": 0,
          "remaining": 5000,
          "evidence": "src/traffic-metrics.json"
        },
        {
          "id": "affiliate-clicks-750",
          "label": "제휴 클릭 750회 이상",
          "metric": "affiliateClicks",
          "status": "missing",
          "current": 0,
          "target": 750,
          "unit": "clicks",
          "progress": 0,
          "remaining": 750,
          "evidence": "src/metrics.json and partner/click sync"
        },
        {
          "id": "revenue-100k",
          "label": "월 수익 10만원 이상",
          "metric": "revenueKrw",
          "status": "missing",
          "current": 0,
          "target": 100000,
          "unit": "krw",
          "progress": 0,
          "remaining": 100000,
          "evidence": "src/metrics.json and partner/click sync"
        }
      ]
    },
    {
      "id": "monthly-3m",
      "label": "월 300만원 조건",
      "horizonDays": 0,
      "status": "needs-data",
      "doneCount": 0,
      "totalCount": 5,
      "progress": 0,
      "criteria": [
        {
          "id": "seo-pages-100",
          "label": "고의도 SEO 페이지 100개 이상",
          "metric": "seoPages",
          "status": "missing",
          "current": 92,
          "target": 100,
          "unit": "pages",
          "progress": 0.92,
          "remaining": 8,
          "evidence": "generated static site inventory"
        },
        {
          "id": "visitors-20000",
          "label": "월 방문자 20,000명 이상",
          "metric": "visitors",
          "status": "needs-data",
          "current": 0,
          "target": 20000,
          "unit": "visitors",
          "progress": 0,
          "remaining": 20000,
          "evidence": "src/traffic-metrics.json"
        },
        {
          "id": "affiliate-clicks-4000",
          "label": "월 제휴 클릭 4,000회 이상",
          "metric": "affiliateClicks",
          "status": "missing",
          "current": 0,
          "target": 4000,
          "unit": "clicks",
          "progress": 0,
          "remaining": 4000,
          "evidence": "src/metrics.json and partner/click sync"
        },
        {
          "id": "revenue-3m",
          "label": "월 수익 300만원 이상",
          "metric": "revenueKrw",
          "status": "missing",
          "current": 0,
          "target": 3000000,
          "unit": "krw",
          "progress": 0,
          "remaining": 3000000,
          "evidence": "src/metrics.json and partner/click sync"
        },
        {
          "id": "reinvestment-active",
          "label": "수익 기반 재투자 활성화",
          "metric": "reinvestment-active",
          "status": "missing",
          "current": 0,
          "target": 1,
          "unit": "boolean",
          "progress": 0,
          "remaining": 1,
          "evidence": "growth-plan.json reinvestment budget"
        }
      ]
    }
  ],
  "bottlenecks": [
    {
      "milestone": "monthly-3m",
      "milestoneLabel": "월 300만원 조건",
      "criterion": "visitors-20000",
      "label": "월 방문자 20,000명 이상",
      "status": "needs-data",
      "current": 0,
      "target": 20000,
      "remaining": 20000,
      "unit": "visitors",
      "evidence": "src/traffic-metrics.json"
    },
    {
      "milestone": "6-month",
      "milestoneLabel": "6개월 기준",
      "criterion": "visitors-5000",
      "label": "방문자 5,000명 이상",
      "status": "needs-data",
      "current": 0,
      "target": 5000,
      "remaining": 5000,
      "unit": "visitors",
      "evidence": "src/traffic-metrics.json"
    },
    {
      "milestone": "90-day",
      "milestoneLabel": "90일 기준",
      "criterion": "visitors-1000",
      "label": "방문자 1,000명 이상",
      "status": "needs-data",
      "current": 0,
      "target": 1000,
      "remaining": 1000,
      "unit": "visitors",
      "evidence": "src/traffic-metrics.json"
    },
    {
      "milestone": "30-day",
      "milestoneLabel": "30일 기준",
      "criterion": "visitors-100",
      "label": "방문자 100명 이상",
      "status": "needs-data",
      "current": 0,
      "target": 100,
      "remaining": 100,
      "unit": "visitors",
      "evidence": "src/traffic-metrics.json"
    },
    {
      "milestone": "30-day",
      "milestoneLabel": "30일 기준",
      "criterion": "indexed-pages-10",
      "label": "Google 색인 10개 이상",
      "status": "needs-data",
      "current": 0,
      "target": 10,
      "remaining": 10,
      "unit": "pages",
      "evidence": "src/traffic-metrics.json"
    },
    {
      "milestone": "monthly-3m",
      "milestoneLabel": "월 300만원 조건",
      "criterion": "revenue-3m",
      "label": "월 수익 300만원 이상",
      "status": "missing",
      "current": 0,
      "target": 3000000,
      "remaining": 3000000,
      "unit": "krw",
      "evidence": "src/metrics.json and partner/click sync"
    },
    {
      "milestone": "6-month",
      "milestoneLabel": "6개월 기준",
      "criterion": "revenue-100k",
      "label": "월 수익 10만원 이상",
      "status": "missing",
      "current": 0,
      "target": 100000,
      "remaining": 100000,
      "unit": "krw",
      "evidence": "src/metrics.json and partner/click sync"
    },
    {
      "milestone": "monthly-3m",
      "milestoneLabel": "월 300만원 조건",
      "criterion": "affiliate-clicks-4000",
      "label": "월 제휴 클릭 4,000회 이상",
      "status": "missing",
      "current": 0,
      "target": 4000,
      "remaining": 4000,
      "unit": "clicks",
      "evidence": "src/metrics.json and partner/click sync"
    }
  ],
  "nextActions": [
    "GA4, Cloudflare Web Analytics, 또는 서버 로그의 월 방문자 CSV를 TRAFFIC_METRICS_EXPORT_URL로 자동 동기화한다.",
    "Search Console 또는 색인 리포트에서 indexedPages 값을 traffic-report.csv 형식으로 동기화한다.",
    "상위 구매 직전 페이지의 첫 화면 CTA와 /go/ 링크 위치를 유지하고, 검색 노출이 있는 페이지부터 보강한다.",
    "제휴 승인과 실제 affiliate ID 입력 전까지 광고 집행은 보류하고, 클릭 수집과 색인 검증을 우선한다.",
    "수익 또는 검색 노출이 확인된 카테고리만 auto-expansion 큐로 늘려 100개 페이지 조건에 접근한다.",
    "월 300만원 조건의 '월 방문자 20,000명 이상' 항목을 다음 주간 빌드의 1순위 병목으로 둔다."
  ]
}
