PHP·MySQL 로 서버에 설치하는 오픈소스 웹 분석 도구로 방문·유입·목표 전환 리포트와 방문자 세션 기록을 갖추고 있습니다.
유료 대비서버 설치와 정기 업데이트를 직접 해야 하고 수집량이 늘면 DB 튜닝과 오래된 로그 정리가 필요합니다.
확인 2026-10-17 · github.com/matomo-org/matomo, matomo.org
가벼운 스크립트 한 줄로 방문 수와 인기 페이지를 세는 웹 통계 도구
the verdict
방문 수와 인기 페이지를 세는 수집 스크립트와 대시보드는 며칠이면 직접 만들 수 있습니다. 다만 봇 걸러내기와 세션 판정, 수집량이 늘 때 집계가 밀리지 않게 유지하는 부분이 요금의 큰 몫이라 조건부로 봅니다.
사이트 한두 개의 방문 수와 인기 페이지를 보는 통계는 며칠이면 직접 만들 수 있습니다. 다만 봇 제외 규칙과 세션 판정, 수집량이 늘 때 집계가 밀리지 않게 유지하는 부분은 계속 손이 가서 조건부 판정으로 두었습니다. 요금은 Pro 월 US $20(무료 Hobby 는 월 이벤트 10만 건·사이트 1개·보관 6개월, Business 월 US $200)이고 화면에 통화 코드와 세금 표기가 없어 달러 표기만 확인했습니다 (2026-10-17 확인).
what you'd build
사이트에 붙인 한 줄 스크립트가 페이지뷰와 유입 경로를 보내면 서버가 봇과 세션을 걸러 저장하고, 대시보드가 기간별 방문과 인기 페이지를 표로 보여 주는 흐름까지 직접 만들 수 있습니다.
만드는 범위사이트 한두 개의 방문 수와 인기 페이지를 보는 통계를 직접 만든 도구로 대체하는 범위
며칠
what you lose
why people still pay
통계는 숫자가 실제 방문과 어긋나면 쓸모가 없어서 봇을 걸러내고 세션을 나누는 규칙을 계속 관리하는 일이 큽니다. 사이트를 여러 개 운영하며 수집량이 늘어도 집계가 밀리지 않게 돌아가는 저장 구조와 팀 권한 관리가 요금 안에 들어 있다는 점이 결제를 이어 가게 만듭니다.
수집 대상 페이지가 늘면 봇과 내부 접속을 걸러내는 규칙을 계속 손봐야 하고, 이벤트 행이 쌓이면 오래된 원본을 지우고 일 단위 집계만 남기는 작업이 필요합니다. 방문 기록을 남기는 만큼 보관 기간과 접속 정보 처리 기준도 직접 정해야 합니다.
pricing
| 플랜 | 가격 | 월 원화 | 한도 |
|---|---|---|---|
| Hobby계정당 | US $0 | ₩0 | 월 이벤트 10만 건, 웹사이트 1개, 데이터 보관 6개월 |
| Pro계정당 | 월 US $20 | ₩28,000 | 월 이벤트 한도 확대, 초과분 이벤트당 US $0.00003, 보관 기간 확대 |
| Business계정당 | 월 US $200 | ₩280,000 | 여러 사이트와 팀 사용, 초과분 이벤트당 US $0.00002 |
무료 Hobby 는 월 이벤트 10만 건·웹사이트 1개·보관 6개월로 묶여 있고, 넘긴 이벤트는 Pro 이벤트당 US $0.00003, Business 이벤트당 US $0.00002가 붙습니다. 화면에 통화 코드와 세금 별도 표기가 없고 Enterprise 는 문의로만 가격이 공개됩니다.
원화는 USD×1,400원·EUR×1,500원 고정 환율로 환산했습니다. 굵게 표시한 플랜이 목록의 월 가격 기준입니다. 확인일 2026-10-17 · umami.is/pricing
the escape hatch
PHP·MySQL 로 서버에 설치하는 오픈소스 웹 분석 도구로 방문·유입·목표 전환 리포트와 방문자 세션 기록을 갖추고 있습니다.
유료 대비서버 설치와 정기 업데이트를 직접 해야 하고 수집량이 늘면 DB 튜닝과 오래된 로그 정리가 필요합니다.
확인 2026-10-17 · github.com/matomo-org/matomo, matomo.org
쿠키 없이 방문 수와 유입 경로를 세는 오픈소스 통계를 직접 서버에 올려 쓰는 버전으로 대시보드와 목표 설정을 제공합니다.
유료 대비직접 배포하고 업데이트해야 하며, 팀 권한과 여러 사이트 관리 기능은 공식 클라우드 요금제 범위입니다.
확인 2026-10-17 · github.com/plausible/analytics, plausible.io/self-hosted-web-analytics
one-shot build prompt · 22줄
Umami 대신 쓸 가벼운 웹 방문 통계를 만든다. 스크립트 수집, 봇 제외, 기간별 방문·인기 페이지 대시보드까지가 범위다. 스택은 Node.js 22, Hono, PostgreSQL 16, 순수 CSS 와 Chart 없이 만든 표·막대 그래프로 고정하고 다른 분석 도구는 붙이지 않는다. 로컬에서는 `npm install && npm run dev` 한 번으로 대시보드(/dashboard)와 수집 엔드포인트(/api/collect)가 함께 뜨게 한다. 수집 원본은 events 테이블, 하루 요약은 daily_stats 테이블에 두고 기간별 방문과 인기 페이지를 CSV 로 내보낸다. DATABASE_URL, COLLECT_SITE_ID, DASHBOARD_PASSWORD, SESSION_SECRET, STATS_TZ=Asia/Seoul 을 .env 에서 읽고 .env.example 만 커밋한다. 사이트에 붙일 tracker.js 를 만들어 페이지뷰 시 경로, 유입 도메인, 화면 크기, 언어만 보내게 한다. 서버는 이벤트를 저장할 때 사용자 에이전트와 유입 도메인으로 봇을 걸러내고 같은 방문자의 30분 안 재방문을 같은 세션으로 묶는다. 대시보드는 오늘·7일·30일 방문과 인기 페이지, 유입 상위 도메인, 기기 종류를 표와 막대로 보여 준다. 매일 새벽 예약 작업이 하루 요약을 만들고 6개월이 지난 원본 이벤트 행을 지운다. 수집된 데이터가 아직 없을 때의 빈 상태 화면, 요약을 계산하는 동안의 로딩 표시, 수집 엔드포인트가 거부했을 때의 오류 안내를 만든다. 수집 엔드포인트는 IP당 분당 120회로 제한하고 페이로드 크기와 경로 형식을 검사하며 잘못된 요청은 400으로 돌려보낸다. 대시보드는 비밀번호 로그인과 HttpOnly 세션 쿠키로 막고 조회는 로그인한 사용자만 하게 한다. 방문자 IP 는 저장하지 않고 국가 판정에만 쓰며, 쿠키도 심지 않는다는 점을 README 와 개인정보 안내에 적는다. 수집량 경고가 필요하면 카카오 알림톡이나 문자 대신 Resend 이메일로 보낸다. 사용량이 늘어 유료로 돌린다면 금액은 원화(₩)로 표시하고, 국내 결제 PG 연동은 가맹 심사가 필요하므로 범위에서 빼고 자체 호스팅으로만 쓴다. 화면 문구와 날짜 표기는 한국어(Asia/Seoul)로 하고 기간 표시는 2026년 10월 17일 (토) 오후 9:40 형식으로 적는다. 6개월이 지난 원본 이벤트와 30일이 지난 방문자 세션 기록은 자동 삭제하고, 삭제 기준과 요청 처리 방법을 개인정보 안내에 적는다. 봇 판정 규칙, 세션 30분 경계 계산, 하루 요약 집계에 대한 단위 테스트와 수집부터 대시보드 확인까지 한 바퀴 도는 통합 테스트를 Vitest 로 작성한다. README 에는 실행 명령, .env 항목, tracker.js 붙이는 방법, DB 백업, 수집 항목과 보관 기간을 적는다. 회원가입 페이지, 요금 청구 화면, 광고·제3자 추적 스크립트, 히트맵 수집은 넣지 않는다. 퍼널 리포트, 목표 전환 추적, 여러 사이트 팀 권한, 앱·서버 로그 수집은 일부러 뺀다. 마지막으로 npm test 로 봇 판정과 세션 경계 테스트를 돌려 통과를 확인하고 실행한 명령을 순서대로 적는다.
sources
did you kill it?
faq
판정은 '조건부'입니다. 방문 수와 인기 페이지를 세는 수집 스크립트와 대시보드는 며칠이면 직접 만들 수 있습니다. 다만 봇 걸러내기와 세션 판정, 수집량이 늘 때 집계가 밀리지 않게 유지하는 부분이 요금의 큰 몫이라 조건부로 봅니다.
예상 소요는 며칠입니다. 만드는 범위는 사이트 한두 개의 방문 수와 인기 페이지를 보는 통계를 직접 만든 도구로 대체하는 범위이고, 필요한 것은 Node.js 22와 통계를 담을 PostgreSQL 또는 SQLite, 수집 요청을 받을 도메인과 HTTPS 인증서, 봇과 내부 접속을 가려낼 사용자 에이전트 규칙, 일 단위 집계를 돌릴 예약 작업을 돌릴 여유, 수집 항목과 보관 기간을 적은 개인정보 안내 문구입니다.
이런 건 포기해야 합니다: 여러 사이트와 팀 권한을 나눠 보는 관리 화면 / 이벤트·퍼널·목표 전환 같은 부가 리포트 / 봇과 내부 트래픽 제외 규칙의 지속적인 관리 / 수집량이 늘 때 자동으로 커지는 저장·집계 인프라. 그리고 수집 대상 페이지가 늘면 봇과 내부 접속을 걸러내는 규칙을 계속 손봐야 하고, 이벤트 행이 쌓이면 오래된 원본을 지우고 일 단위 집계만 남기는 작업이 필요합니다. 방문 기록을 남기는 만큼 보관 기간과 접속 정보 처리 기준도 직접 정해야 합니다.
Umami 요금 기준 월 ₩28,000, 1년이면 ₩336,000입니다. 무료 Hobby 는 월 이벤트 10만 건·웹사이트 1개·보관 6개월로 묶여 있고, 넘긴 이벤트는 Pro 이벤트당 US $0.00003, Business 이벤트당 US $0.00002가 붙습니다. 화면에 통화 코드와 세금 별도 표기가 없고 Enterprise 는 문의로만 가격이 공개됩니다.
Matomo(오픈소스): PHP·MySQL 로 서버에 설치하는 오픈소스 웹 분석 도구로 방문·유입·목표 전환 리포트와 방문자 세션 기록을 갖추고 있습니다. Plausible Community Edition(오픈소스): 쿠키 없이 방문 수와 유입 경로를 세는 오픈소스 통계를 직접 서버에 올려 쓰는 버전으로 대시보드와 목표 설정을 제공합니다.
Claude Code, Codex, Cursor 어느 에이전트든 됩니다. 복사 버튼을 누르면 에이전트별 실행 안내가 앞에 붙은 프롬프트가 복사되니, 그대로 붙여넣기만 하면 됩니다.
related targets