골든존 키워드 자동적재로 일일 리포트 완성도 높이기
목차
Google Search Console(GSC)에서 골든존 키워드를 자동으로 수집해서 일일 리포트에 반영하는 기능을 추가했다. 두 개의 스크립트를 새로 만들고 데이터 파이프라인을 정렬하는 작업이었다.
자동화가 필요했던 이유
골든존 키워드는 검색 순위 관점에서 가장 주의 깊게 살펴봐야 하는 영역이다. 보통 10~30위 사이에 있는 키워드들인데, 약간의 최적화로 top 5를 노릴 수 있거나 반대로 추락할 위험이 있다. 그래서 SEO 팀은 매일 이런 키워드들의 변동을 모니터링한다.
문제는 이 데이터가 수동으로 관리되고 있었다는 점이었다. 골든존 키워드 목록은 따로 스프레드시트나 설정 파일에서 관리하고, 각 키워드의 최신 순위를 GSC에서 직접 조회하거나 복사 붙여넣기로 리포트에 추가했다. 매일 반복되는 작업이라 자동화할 만한 가치가 충분했다.
두 스크립트의 역할 분담
gsc_golden_loader.py는 GSC API를 통해 우리가 설정해둔 골든존 키워드들의 최신 데이터를 주기적으로 가져온다. 이 스크립트가 해야 할 일은:
- GSC에 인증해서 연결
- 설정된 골든존 키워드 목록 순회
- 각 키워드의 최신 순위, 클릭수, 노출수 조회
- 그 결과를 데이터베이스나 캐시에 저장
daily-report.py는 그렇게 수집된 데이터를 가져와서 리포트의 한 섹션으로 포매팅하고 포함시킨다. 여기서 중요한 건 두 스크립트의 의존성 순서다. 로더가 먼저 실행되어야 리포터가 최신 데이터를 쓸 수 있다.
| 역할 | 담당 스크립트 | 입력 | 출력 | 빈도 |
|---|---|---|---|---|
| 골든존 데이터 수집 | gsc_golden_loader.py | GSC API | 구조화된 메트릭 | 일 1회 (또는 필요시) |
| 리포트 생성 | daily-report.py | 수집된 메트릭 | 마크다운 또는 HTML 리포트 | 매일 |
설계의 핵심 포인트
이렇게 두 개로 나눈 이유는 단일 책임 원칙을 따르기 위함이었다. 로더는 "외부 데이터를 신뢰할 수 있는 형태로 가져오기"에만 집중하고, 리포터는 "정제된 데이터를 사용자가 읽을 수 있게 표현하기"에만 집중한다.
만약 로더와 리포터를 하나의 스크립트로 만들었다면:
- GSC API 장애가 발생했을 때 전체 리포트 생성이 실패함
- 로더 로직을 수정할 때 리포트 생성 로직도 함께 영향받음
- 테스트하기가 더 복잡해짐
분리하면 로더가 장애 나도 캐시된 이전 데이터로라도 리포트는 생성할 수 있고, 각 스크립트를 독립적으로 테스트하고 배포할 수 있다.
팀 관점에서의 이점
이 자동화로 얻어지는 실질적 이점들:
- 휴먼 에러 제거: 수동으로 순위를 적어 넣을 때 생기는 오타, 잘못된 수치 입력이 사라짐
- 일관된 집계 시간: 매일 같은 시간에 같은 방식으로 데이터를 수집하므로 추이 비교가 정확함
- 히스토리 자동 축적: 매일 자동으로 저장되는 데이터들이 장기 추이 분석에 쓸 수 있음
- SEO 팀의 시간 절약: 이 과정에 들던 10분 정도의 수작업이 사라지니 더 의미 있는 분석에 쓸 수 있음
특히 스타트업 환경에서는 한두 명이 여러 역할을 하다 보니, 이런 작은 자동화가 모여서 꽤 큰 시간 절약이 된다.
이후 고려할 점
이런 유형의 자동화를 추가할 때마다 생각해둬야 할 패턴들:
- API 레이트 제한: GSC API가 일일 요청 수에 제한이 있을 수 있으니, 로더가 필요한 만큼만 호출하도록 설계
- 실패 처리: 네트워크 문제나 API 인증 만료 시 안정적으로 실패하고 로깅할 수 있도록
- 알림: 로더 실패를 빨리 감지할 수 있도록 모니터링 또는 Slack 알림 추가
- 점진적 확대: 이 패턴을 다른 외부 API(Search Analytics, 광고 플랫폼)로도 확대할 수 있는지 검토
지금은 골든존 키워드 중심이지만, 나중에 더 많은 지표를 같은 방식으로 통합하려면 로더와 리포터의 인터페이스를 일반화해두면 다음 번 작업이 훨씬 빠를 것 같다.
🛒 이 글과 어울리는 추천 상품
*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.
댓글 0
첫 댓글 달아줘.