방법 · 업데이트 2026-11-07
데이터 출처와 측정 방법
seops는 다른 서비스에서 읽어 오거나 직접 측정한 숫자를 보여 줍니다. 모듈마다 출처, 읽는 주기, 지연, 계산 방식, 그리고 그 숫자로 판단하기 전에 알아야 할 한계를 정리했습니다. 시간은 이스탄불 시간(UTC+3)입니다.
Google Search Console
- 출처
- Search Console Search Analytics API. 속성에 추가한 읽기 전용 seops 서비스 계정으로 읽습니다.
- 주기
- 보고서를 열 때. 1시간 캐시(오늘과 어제의 시간별 보기는 15분).
- 지연
- Google은 일일 합계를 2~3일 늦게 공개합니다. seops는 최신 데이터도 요청하므로 최근 며칠은 불완전하고 아직 바뀝니다.
계산 방식
- 클릭수, 노출수, 평균 순위는 Google의 수치이며 seops가 다시 계산하지 않습니다. CTR은 클릭수를 노출수로 나눈 값입니다.
- 평균 순위는 Google의 정의 그대로, 각 검색에서 사이트의 가장 높은 순위를 노출수로 평균한 값입니다.
- 기회 검색어는 같은 데이터에서 걸러 냅니다. 순위 4~20, 노출이 많고 CTR이 낮은 검색어와 그 노출을 받은 페이지입니다.
- Search Console의 하루는 태평양 시간 기준이며, 오늘과 어제의 시간별 보기는 내 시간대로 보여 줍니다.
주의할 점
- Google은 개인정보 보호를 위해 매우 드문 검색어를 제외합니다. 그래서 검색어 행의 합계는 사이트 전체 합계보다 작습니다.
- seops는 28일 동안 클릭 50회 미만 또는 노출 500회 미만을 작은 표본으로 봅니다. 클릭 몇 번이 큰 비율 변화처럼 보일 수 있습니다.
- Search Console은 AI 개요(AI Overview) 노출을 웹 검색 합계에 포함하며 따로 보고하지 않습니다.
기능 페이지: Search Console · 주간 보고서와 알림
검색 순위
- 출처
- Search Console: 추적 키워드(검색어와 정확히 일치)별, 날짜·기기별 노출수 가중 평균 순위.
- 주기
- 매일 06:00(03:00 UTC). 매번 최근 10일을 다시 기록합니다.
- 지연
- Search Console과 같습니다. 가장 최근 2~3일은 불완전합니다.
계산 방식
- 사이트당 최대 200개 키워드. 데스크톱과 모바일을 따로 기록하며 태블릿은 모바일로 셉니다.
- 순위는 100위까지 기록합니다. 그 키워드의 노출이 없었던 날에는 순위가 없습니다.
- Search Console과 Bing 순위는 크레딧을 쓰지 않습니다.
주의할 점
- 이 값은 내 페이지가 노출된 모든 검색의 평균이며, 한 장소에서 한 번 확인한 결과가 아닙니다. 같은 단어로 검색해도 사람마다 결과가 다를 수 있습니다.
- 자체 인프라에서 실제 Google 순위를 매일 확인하는 기능이 곧 제공되며 팩 크레딧으로 실행됩니다. 그전까지 seops의 순위는 Search Console과 Bing에서만 옵니다.
기능 페이지: 순위 추적
Bing과 Yandex
- 출처
- Bing Webmaster Tools API(내 API 키)와 Yandex Webmaster API(내 OAuth 토큰).
- 주기
- 백그라운드에서 읽고 12~24시간 캐시합니다.
- 지연
- 검색엔진마다 고유한 지연이 있으며 seops가 줄일 수 없습니다.
계산 방식
- Bing 순위는 Bing이 보고하는 평균 노출 순위이며, 행을 합칠 때는 노출수로 가중합니다.
- Yandex: 클릭, 노출, 검색어, 색인, 사이트 문제를 Yandex가 보고한 그대로 보여 줍니다.
주의할 점
- Bing과 Yandex 수치는 Google과 직접 비교할 수 없습니다. 노출과 순위를 세는 방식이 검색엔진마다 다릅니다.
기능 페이지: Bing과 Yandex
Google 애널리틱스 4
- 출처
- Google Analytics Data API. 같은 서비스 계정(뷰어 역할)으로 읽습니다.
- 주기
- 보고서를 열 때. 1시간 캐시(오늘은 5분). 실시간 방문자는 30초마다 새로 고칩니다.
- 지연
- Google에 따르면 GA4 데이터 처리는 24~48시간 걸릴 수 있어 오늘과 어제의 숫자는 아직 늘어날 수 있습니다.
계산 방식
- 집계 보고서만: 사용자, 세션, 참여, 주요 이벤트, 채널, 방문 페이지, 기기, 도시. 사용자 단위 데이터는 없습니다.
- AI 어시스턴트 트래픽은 소스가 ChatGPT, Perplexity, Gemini, Claude, Copilot, DeepSeek, Grok, Meta AI 등과 일치하는 세션입니다.
주의할 점
- 어시스턴트 방문은 브라우저가 리퍼러나 utm_source를 보낼 때만 인식되며, 없으면 직접 유입으로 표시됩니다.
- GA4 자체의 데이터 기준점과 샘플링이 seops가 읽는 데이터에도 적용됩니다.
기능 페이지: 쿠키 없는 웹 분석
seops Analytics
- 출처
- 내 사이트의 seops 스크립트(2.1KB, 압축 시 1.2KB). i.seops.app으로 보내져 Cloudflare Analytics Engine에 저장됩니다.
- 주기
- 실시간. 전날 요약을 매일 03:30에 기록합니다.
- 지연
- 원시 데이터는 몇 초.
계산 방식
- 페이지뷰마다 요청 1회, 페이지를 떠날 때 체류 시간과 스크롤 깊이, 그리고 내가 보내는 이벤트.
- 쿠키 없음, 브라우저 저장소 없음, 영구 식별자 없음. 같은 날의 방문자는 일일 솔트, IP 주소, 사용자 에이전트, 사이트 키의 해시로 구분합니다. 각 날의 솔트는 그날이 끝나고 이틀 뒤에 삭제되며 원본 IP는 저장하지 않습니다.
- 알려진 봇과 크롤러는 봇으로 기록하고 보고서에서 제외합니다. localhost와 자동화 브라우저에서는 아무것도 보내지 않습니다.
- 쿼리 문자열은 보내지 않습니다. 예외는 UTM 태그, 광고 클릭 ID의 존재 여부(값은 아님), 허용한 사이트 내 검색 매개변수입니다.
주의할 점
- 같은 사람이 이틀에 걸쳐 방문하면 방문자 2명으로 셉니다. 날짜를 넘는 재방문자는 설계상 없습니다.
- 일부 광고 차단기는 스크립트를 차단합니다. 숫자는 측정값이지 감사 결과가 아닙니다.
- 최근 90일은 원시 데이터에서, 더 긴 기간은 일일 요약(목록당 상위 200개)에서 가져옵니다. 데이터가 매우 많으면 저장 계층이 샘플링할 수 있으며 합계에서 보정합니다.
기능 페이지: 쿠키 없는 웹 분석
AI 가시성
- 출처
- ChatGPT, Claude, Gemini, Perplexity에 Cloudflare AI Gateway를 거쳐 실시간 웹 검색을 켠 상태로 직접 질문합니다.
- 주기
- 매주: 매주 월요일 07:00부터 활성 프롬프트를 선택한 엔진마다 대기열에 넣고, 답변은 30분마다 묶어서 처리합니다. 프롬프트 하나를 바로 실행할 수도 있습니다.
- 지연
- 실행 외의 지연은 없습니다. 엔진이 답을 돌려주는 즉시 저장합니다.
계산 방식
- 사이트당 최대 20개 프롬프트. 프롬프트 × 엔진 하나가 답변 하나이며, 출처와 모델이 실행한 검색과 함께 전문을 저장합니다.
- ChatGPT는 웹 검색이 켜진 OpenAI Responses API, Claude는 웹 검색이 켜진 Anthropic Messages API(검색 최대 3회), Gemini는 Google 검색 그라운딩, Perplexity는 Sonar로 실행됩니다. API가 받는 경우 프로젝트의 국가를 대략적인 위치로 보내며, 모델 이름은 답변마다 저장합니다.
- 언급: 브랜드 용어나 도메인이 답변 본문에 온전한 단어로 나타나는 경우입니다. 대소문자와 악센트 차이는 무시합니다. 도메인의 첫 부분이 5글자 이상이면 그것도 셉니다.
- 인용: 도메인이나 하위 도메인이 답변의 출처 목록에 있는 경우입니다. 인용 순위는 엔진이 돌려준 순서대로 그 목록에서의 위치이며 첫 번째가 1입니다. Gemini의 Google 리디렉션 링크는 먼저 실제 주소로 바꿉니다.
- 언급률과 인용률은 기간 내 답변 중 언급이나 인용이 있는 답변의 비율입니다.
- 답변마다 팩 크레딧을 씁니다. 크레딧이 부족하면 기다렸다가 다음 날 다시 시도하고, 일주일이 지나면 새 주의 실행으로 바뀝니다. 실패한 답변은 최대 3번 시도합니다.
주의할 점
- 답변은 표본이며 모든 사람의 경험을 측정한 값이 아닙니다. 프롬프트와 엔진마다 일주일에 답변 하나입니다. 같은 질문도 1분 뒤에는 다른 답을 받을 수 있습니다.
- 답변은 웹 검색이 켜진 제공업체 API에서 오며, 로그인한 사람이 쓰는 앱의 답변이 아닙니다. 메모리, 개인화, 앱 기능이 다릅니다.
- 언급 판정은 글자 그대로 일치하는지 봅니다. 철자가 틀린 브랜드나 이름 없이 설명된 브랜드는 세지 않으며, 흔한 단어를 브랜드 용어로 쓰면 많이 셀 수 있습니다.
- 프롬프트 20개와 엔진 4개라면 답변 하나가 비율을 1%p 넘게 움직입니다. 추세는 몇 주에 걸쳐 보세요.
기능 페이지: AI 가시성 · 프롬프트 라이브러리
Cloudflare
- 출처
- Cloudflare GraphQL Analytics API와 REST API. 영역(zone)용으로 만든 읽기 전용 API 토큰을 씁니다.
- 주기
- 보고서를 열 때. 30분~1시간 캐시합니다.
- 지연
- Cloudflare 데이터는 거의 실시간이며, seops가 더하는 지연은 최대 캐시 시간뿐입니다.
계산 방식
- 보안 이벤트: 방문자 요청을 보안 조치와 출처(WAF, 속도 제한, 봇 규칙)별로 국가, 경로와 함께 묶습니다.
- AI 크롤러: 요청을 사용자 에이전트와 Cloudflare가 취한 조치별로 묶습니다.
- 엣지 오류: 최근 7일 동안 방문자에게 돌아간 4xx·5xx 응답, 경로별 캐시 상태.
- 실사용자 Core Web Vitals: 사이트에 Cloudflare Web Analytics가 켜져 있으면 최근 28일의 페이지·기기별 LCP, INP, CLS 75번째 백분위수.
- 계정의 Workers, D1, R2 사용량.
주의할 점
- Cloudflare의 적응형(adaptive) 데이터셋은 양이 많으면 샘플링됩니다. 수치는 Cloudflare가 확대 추정한 값이라 작은 숫자는 크게 튈 수 있습니다.
- Cloudflare를 거친 트래픽만 보입니다. 크롤러는 보낸 사용자 에이전트로 세며, Cloudflare의 검증된 봇 표시는 있을 때 보여 줍니다.
- Web Analytics 데이터는 브라우저가 비콘을 실행한 방문자에 대해서만 있습니다.
기능 페이지: Cloudflare 보안과 사용량 · AI 크롤러
페이지 속도
- 출처
- Google PageSpeed Insights API: Lighthouse 실험실 측정과, Google에 데이터가 있으면 Chrome UX 보고서(CrUX) 필드 데이터.
- 주기
- 홈페이지와 중요한 페이지(기본 10개, 20개나 50개 선택 가능)를 모바일과 데스크톱에서 측정합니다. 각 페이지는 10분마다 도는 배치로 7일마다 다시 측정합니다.
- 지연
- 실험실: 측정한 시점. 필드(CrUX): 최근 28일 실제 Chrome 사용자의 75번째 백분위수.
계산 방식
- 중요도는 Google 클릭수로 페이지를 정렬하고, 노출수와 Analytics 세션으로 보완합니다. Search Console이 없으면 사이트맵 앞부분을 씁니다.
- 평가: 페이지 자체의 필드 데이터(LCP, INP, CLS)가 있으면 그것을, 없으면 실험실 값을 쓰며 INP 대신 TBT를 씁니다.
- 페이지 자체의 필드 데이터가 없으면 CrUX가 출처(origin) 전체 값을 줄 수 있으며, 패널은 이를 출처 데이터로 표시합니다.
- 측정 1회(페이지 × 기기)에 사이트 크레딧 2개를 씁니다.
주의할 점
- 실험실 점수는 네트워크와 서버 부하에 따라 측정할 때마다 달라집니다. 한 번의 결과가 아니라 추세를 비교하세요.
- Chrome 트래픽이 적은 페이지에는 필드 데이터가 없습니다.
- 측정이 두 번 연속 실패하면 알림이 생깁니다. 403은 대개 WAF 규칙이 PageSpeed를 막고 있다는 뜻입니다.
기능 페이지: 페이지 속도
사이트 감사
- 출처
- seops 자체 크롤러(사용자 에이전트 seopsBot/1.0)가 사이트맵의 URL을 가져옵니다.
- 주기
- 각 페이지는 7일마다 다시 점검합니다. 10분마다 배치로 돌며 사이트당 부하는 초당 1요청보다 훨씬 낮게 유지합니다.
- 지연
- 없음: 점검 시점에 서버가 돌려준 내용입니다.
계산 방식
- 사이트맵은 robots.txt의 Sitemap 줄에서, 없으면 /sitemap.xml에서 가져오며 사이트맵 색인 파일도 따라갑니다.
- 점검 항목: 상태 코드, 리디렉션, noindex(메타 태그와 X-Robots-Tag), 제목(없음, 20자 미만 또는 65자 초과, 중복), 메타 설명(없음, 70자 미만 또는 165자 초과, 중복), H1(없음 또는 여러 개), canonical(없음 또는 다른 주소를 가리킴), JSON-LD 유무, 얇은 콘텐츠(250단어 미만), 느린 응답(2초 초과).
- 403, 429, 503은 차단됨으로 보고합니다. 대개 WAF나 속도 제한 규칙입니다.
- 점검한 페이지마다 사이트 크레딧 1개. 제외한 경로는 크롤링하지 않습니다.
주의할 점
- 크롤러는 서버가 보낸 HTML을 읽고 JavaScript는 실행하지 않습니다. 스크립트 실행 후에만 나타나는 콘텐츠는 보지 못합니다.
- 사이트맵의 URL만 점검하며, 사이트맵에 없는 페이지를 링크를 따라가 찾지 않습니다.
- 길이 기준은 참고값이지 Google 규칙이 아닙니다.
기능 페이지: 사이트 감사
색인
- 출처
- Google에는 Search Console URL 검사 API, Bing, Yandex 등 참여하는 검색엔진에는 IndexNow.
- 주기
- URL 검사: Google의 사이트당 하루 2,000건 할당량 안에서 10분마다 배치. 각 페이지는 최소 14일마다, 중요한 페이지부터. IndexNow: 자동 제출이 켜져 있으면 사이트맵에서 바뀐 페이지를 하루 한 번 09:00 이후에 제출.
- 지연
- URL 검사는 Google이 알고 있는 마지막 상태를 보여 주며, 최근 크롤링보다 늦을 수 있습니다.
계산 방식
- 중요도 점수: Google 클릭이 가장 크게 작용하고 노출수와 Analytics 세션이 보완합니다. 상위 20% 페이지가 높음입니다.
- Search Console에서 색인 생성을 요청한 페이지는 1시간 뒤, 그리고 이후 14일 동안 다시 검사합니다.
- IndexNow는 먼저 Yandex로 보냅니다(프로토콜상 제출은 다른 검색엔진과 공유됩니다). Yandex가 받지 않으면 Bing에 직접 보내며, 한 번에 최대 500개 URL입니다.
- Google은 일반 페이지의 색인 생성을 요청하는 API를 제공하지 않습니다. seops는 사이트맵을 제출하고 상태를 확인합니다.
주의할 점
- URL 검사 결과는 URL 단위이므로 Search Console 페이지 색인 생성 보고서의 합계와 다를 수 있습니다.
- IndexNow 제출이 받아들여졌다는 것은 URL이 접수됐다는 뜻이지 색인된다는 뜻이 아닙니다.
기능 페이지: 색인과 IndexNow
일정
위의 숫자를 기록하는 백그라운드 작업. 이스탄불 시간(UTC+3).
| 언제 | 실행 내용 |
|---|---|
| 매일 00:00 | 일일 사이트 크레딧과 팩 크레딧이 갱신됩니다(이월 없음). |
| 매일 03:30 | 전날의 seops Analytics 일일 요약. |
| 매일 06:00 | 추적 키워드의 Search Console 순위(최근 10일을 다시 기록). |
| 매일 09:00 이후 | IndexNow: 자동 제출이 켜져 있으면 사이트맵에서 바뀐 페이지. |
| 10분마다 | URL 검사, 사이트 감사, 페이지 속도, 접근 점검 배치. |
| 30분마다 | 대기 중인 AI 가시성 답변, 알림, 그 밖의 대기 작업. |
| 월요일 07:00 | 그 주의 AI 가시성 프롬프트를 대기열에 넣고 주간 요약을 작성. |
| 수요일 08:00 | 지난주 요약을 완전한 Search Console 데이터로 다시 작성. |
크레딧
Search Console, GA4, Bing, Yandex, Cloudflare 데이터를 읽는 데에는 크레딧이 들지 않습니다. 사이트 감사, 페이지 속도, URL 검사는 무료 일일 사이트 크레딧을 쓰고, AI 가시성 답변은 팩 크레딧으로만 실행됩니다. 작업별 비용은 요금 페이지에 있습니다. 요금 →