본문으로 건너뛰기
유환호 연락하기

홈 / 기록

순위를 확인하되 조작하지 않는 선을 어디에 그었나

한눈에 답변

네이버 웹문서 검색 API로 도메인이 몇 번째에 나오는지 확인하는 스크립트를 만들었다. API 한계로 1000위 밖은 측정 자체가 불가능하고 무료 호출 한도는 하루 25,000건이다. 원칙은 순위 확인(읽기 전용)만 자동화하고, 반복 자동검색이나 자기 결과를 클릭하는 자동화는 어뷰징 정책상 도메인 전체가 제외될 위험이 있어 만들지 않는다는 것이다.

순위를 어떻게 확인하나

네이버 웹문서(webkr) 검색 API로 도메인이 검색 결과 몇 번째에 나오는지 조회한다. API가 한 번에 최대 30개까지 보여주므로, 순번을 넘겨 가며 원하는 순위까지 확인한다. Node·Python 두 버전으로 만들어 같은 기록 파일을 공유하게 했다.

API에는 어떤 한계가 있나

start 파라미터의 상한이 1000이라, 1000위 밖의 순위는 애초에 조회할 방법이 없다. 이건 우회할 수 있는 제약이 아니라 API 자체의 한도다. 무료 호출 한도는 하루 25,000건이고, 매일 전체 스윕을 돌리기보다는 범위를 좁혀 일상적으로 확인하는 방식을 권장한다.

자동화하면 안 되는 것은 무엇인가

“확인”과 “조작”은 다른 일이다. 이 스크립트는 순위를 읽기만 한다. 반대로 같은 검색어를 반복해서 자동으로 검색하거나, 우리 사이트가 나온 결과를 자동으로 클릭해 클릭률 신호를 만드는 행위는 검색엔진의 어뷰징 탐지 대상이고 적발되면 도메인 전체가 검색에서 빠질 위험이 있다. 그래서 이런 자동화는 처음부터 만들지 않았다.

이 도구로 무엇을 알아냈나

이 스크립트로 잡은 대표적인 발견이 한글 브랜드명 형태소 분리 문제다. 영문 브랜드명은 노출되는데 한글 브랜드명은 전혀 안 잡히는 것을 이 도구로 처음 확인했고, 이후에도 순위가 하루 만에 급락했다가 며칠 안에 자연 회복되는 패턴을 관찰해 하루치 급락에 바로 반응하지 않는다는 운영 원칙을 세우는 근거가 됐다.