누구나 기억할 필요가 없는 워크플로우가 의도만 하는 것보다 낫습니다. 여섯 단계로 빈 시트에서 자체 비용을 기록하는 월간 작업으로 전환하세요.
ASEOTools 편집팀 ·
여섯 단계, 약 1시간 소요
01
로그인하고 키 복사
/auth/google.php에서 Google 로그인을 사용하세요. /account.php 대시보드에 있는 키는 sk_로 시작하며 $100의 크레딧과 함께 제공됩니다.
02
무료 테스트 호출 한 번 실행
키 없이 overview 액션을 자신의 도메인에 대해 실행하세요. JSON 응답에서 ok가 true로 설정되어 있다면 네트워크 경로가 정상 작동합니다.
03
도메인 목록 생성
시트의 한 열에 각 행당 하나의 도메인, https 및 경로 제외. 최대 2,000행까지 단일 bulk_dr 요청으로 처리할 수 있습니다.
04
시트 또는 스크립트에서 bulk_dr 호출
목록을 쉼표로 연결된 GET 값 또는 POST 본문으로 전송하세요. 날짜 열이 있는 두 번째 시트에 응답을 저장하세요.
05
월간 스케줄링
월간 인덱스 갱신이 완료된 후 매월 초 며칠 후에 작업을 실행하세요. 크론 라인 하나로 충분합니다. 잘 알고 있는 세 도메인의 첫 달 출력물을 직접 확인하세요.
06
크레딧 로그 및 잔액 부족 알림
모든 인증된 응답에는 비용과 남은 잔액을 나타내는 _credits가 포함됩니다. 이를 로그 행에 기록하고 선택한 임계값 이하로 떨어지면 스스로에게 이메일을 보내세요.
붙여넣기 준비가 된 구성 요소
자신의 키와 파일 이름으로 교체하세요.
bash
# crontab: 06:00 on the 4th of each month
0 6 4 * * /usr/bin/curl -s -X POST \
-H "Authorization: Bearer sk_live_..." \
-d "domains=$(paste -sd, domains.txt)" \
"https://aseotools.com/api.php?action=bulk_dr" >> dr_log.jsonl
키는 시트에 넣지 마세요
키는 Apps Script 속성, 환경 변수 또는 자동화 도구의 자격 증명 저장소에 넣으세요. 시트 편집 권한이 있는 사람은 셀에 입력된 키를 읽을 수 있으며, 유출된 키는 크레딧을 소모합니다.
이 설정이 실패하는 경우
침묵이 일반적인 실패 원인입니다. 오류가 발생한 크론 작업은 성공한 작업과 동일해 보입니다.
HTTP 코드를 확인하세요. 401은 키가 없거나 잘못되었음을, 402는 크레딧이 부족했음을 의미합니다. 둘 모두에 대해 알림을 설정하고 다음 달 보고서 기한 전에 수정하세요.
또한 페이지네이션은 최대 50,000행으로 제한되며, bulk_dr은 호출당 최대 2,000개의 도메인을 처리한다는 점을 기억하세요. 긴 목록은 청킹(chunking)이 필요하며, 이는 추가 루프 하나와 청크당 1크레딧의 비용이 듭니다.
먼저 수동으로 테스트하세요. 터미널에서 크론 라인을 실행하고 로그 파일을 읽은 후, 잔액이 예상 비용만큼 정확히 감소했는지 확인하세요. 그런 다음 숫자가 스위트 플랜과 어떻게 비교되는지 살펴보고 실행 빈도를 결정하세요.
도메인 목록의 버전을 관리하세요. 파일을 저장소나 이력이 있는 공유 드라이브에 보관하여 3월에 숫자가 변경되었을 때 목록이 변경되었는지 확인할 수 있게 하세요. 의도적으로 추가한 도메인(새로운 경쟁사나 그 달에 가입한 클라이언트 등)에 대한 메모 열을 추가하세요. 목록을 소유자가 있는 데이터로 취급하세요. 가장 저렴한 버그는 diff에서 발견되는 것입니다.
긴 목록을 청크로 나누기
긴 목록은 깔끔한 설정의 한계를 드러내는 부분입니다. 일괄 호출은 최대 2,000개의 도메인을 처리하므로, 5,000개의 도메인 목록은 세 번의 요청이 필요하며 분할은 첫 번째 호출 전에 이루어져야 합니다.
안정적인 규칙으로 분할하세요. 예를 들어 도메인 열의 정렬 순서입니다. 이렇게 하면 동일한 도메인이 매월 동일한 청크에 속하게 되어 비교가 유지됩니다.
2,000행이 넘는 목록
각 청크를 시트의 별도 블록으로 작성하세요. 첫 번째 열에 청크 번호를 넣으세요. 실패한 청크를 쉽게 찾을 수 있습니다.
각 청크에는 1크레딧이 소요되므로, 5,000행 목록은 실행당 3크레딧($0.0003)이 듭니다. 도메인 평점 도구는 읽는 목록의 질만큼만 유용하므로 목록을 깔끔하게 유지하세요.
목록이 5,000행을 초과하면 시트 레이아웃 자체를 재고하세요. 월별 탭을 사용하면 행이 쌓여도 각 실행을 읽기 쉽게 유지할 수 있습니다.
실패한 청크 재실행
두 번째 청크에서 오류가 발생하면 두 번째 청크만 재실행하세요. 전체 목록을 재실행하면 이미 반환된 행에 크레딧이 소모됩니다.
청크 번호와 상태 코드를 로그에 기록하세요. 그러면 재실행이 시트를 뒤지는 것이 아닌 로그의 한 줄이 됩니다.
청크 맵 안정성 유지
도메인 목록의 순서가 변경되면 청크도 이동하여 월간 비교가 무너집니다. 분할하기 전에 항상 목록을 정렬하세요.
청크 맵을 목록 옆에 저장하세요.
간단한 테스트: 임의의 청크를 선택하고 목록의 행 수와 청크의 행 수를 세어 비교하세요. 불일치가 발생하면 맵이 어긋난 것이며, 이는 보고서보다 시트에서 찾는 것이 저렴합니다.
전체 루틴의 비용 (예시 크기 포함)
가정된 목록 크기 및 공개된 액션 가격.
목록 크기
월간 호출 횟수
크레딧
달러
200개 도메인
1
1
$0.0001
5,000개 도메인
3
3
$0.0003
5,000개 도메인 + 20회 전체 백링크 조회
23
43
$0.0043
첫 스케줄 실행 전에 확인할 사항
청크 하나를 수동으로 테스트하고 전체 응답 읽기
잔액이 예상 크레딧만큼 정확히 감소했는지 확인
첫 번째 청크뿐만 아니라 모든 청크의 상태 코드 확인
잘 알고 있는 세 도메인의 수치를 이미 신뢰하는 수치와 비교
로그 파일 경로 설정 및 매월 읽을 사람 결정
시트 상단에 소유자 이름 기록
유용한 월간 로그 행에 포함되어야 할 내용
단순히 ok라고만 표시하는 로그는 큰 의미가 없습니다. 각 실행은 지친 사람이 10초 안에 읽을 수 있는 한 줄을 작성해야 합니다: 날짜, 청크, 상태, 소모된 크레딧 및 호출 후 잔액.
가정: 네 번째 청크, 상태 200, 1크레딧 소모 및 호출 후 남은 잔액을 보여주는 행은 한 달 후 대부분의 질문에 답할 수 있으며 응답을 열 필요 없이도 가능합니다.
로그 기록 가치가 있는 필드
날짜, 목록 이름, 청크 번호, 상태 코드, 청구된 크레딧 및 호출 후 잔액을 로그하세요. 이 여섯 가지 필드는 한 달 후 대부분의 질문에 답할 수 있습니다.
사람이 수동으로 변경한 경우에만 자유 텍스트 메모를 추가하세요.
狼을 외치는(alert fatigue) 알림이 아닌
401 또는 402가 발생하면 즉시 알림을 보내세요. 둘 다 작업이 수행될 수 없음을 의미합니다. 낮은 잔액 경고는 선택한 임계값을 사용해야 하며, 한 번만 발생하고 다음 행동을 명시해야 합니다.
행당 하나가 아닌 실행당 하나의 알림을 보내세요. 그래야 받은 편지함이 노이즈로 가득 차지 않습니다.
설정 질문
Google 시트가 클라이언트 역할을 할 수 있나요?
네. API는 오픈 CORS와 JSON 응답을 가진 일반 REST이므로 Apps Script나 IMPORTDATA 스타일의 호출로 접근할 수 있습니다. 키를 셀이 아닌 스크립트 속성에 보관하여 협업자가 읽지 못하게 하세요.
n8n이나 Make와 함께 사용할 수 있나요?
네, 일반 HTTP 요청 노드를 통해 가능합니다. Authorization Bearer 헤더에 키를 전달하고 JSON 응답을 구문 분석한 후, _credits 필드를 로그에 기록하여 실행당 지출액을 확인하세요.
왜 로그에 도메인 평점 도구에 대해 예상보다 높은 비용이 표시되나요?
목록 크기뿐만 아니라 호출 횟수도 세어야 합니다. 실행당 청크 하나, 재시도 또는 테스트 호출마다 비용이 추가되며, 모든 응답의 _credits 필드는 해당 호출의 정확한 금액을 제공합니다.
키는 크론 라인 자체에 있어야 하나요?
더 간단하지만, crontab을 읽을 수 있는 사람은 누구나 키를 읽을 수 있습니다. 제한된 권한의 파일이나 작업에 대해 설정된 환경 변수에서 로드하고 공유 로그에서 키를 분리하세요.
작업이 중단되었을 때 누가 알리나요?
월간 작업은 아무도 지켜보지 않은 채 실행됩니다. 이것이 자동화의 목적이자, 실패가 몇 주 동안 unnoticed로 남아 있을 수 있는 이유입니다.
로그를 읽는 사람과 작업을 수정하는 사람을 지정하세요. 두 명의 이름이 한 명보다 낫습니다. 휴가가 발생할 수 있습니다. 런북은 목록을 처음 선택하는 방법을 설명합니다.
설정 시간 대비 유지보수 시간
첫 번째 실행에는 키, 시트, 테스트 호출 모두에 주의가 필요하므로 가장 많은 시간이 소요됩니다. 이후에는 재구축이 아닌 월간 점검만 필요합니다.
유지보수 비용이 증가하면 보통 목록이 원인입니다. 매주 변경되는 목록은 소유자, 버전 및 추가 규칙이 필요합니다.
실패를 가시적으로 만들기
출력에서 누락된 행은 침묵하는 오류보다 더 쉽게 눈에 띕니다. 각 실행 시 행 수를 목록 길이와 비교하고, 불일치 시 경고문을 작성하세요.
그 경고는 같은 로그 파일에 보관하세요. 그래야 로그를 읽는 사람이 가장 먼저 이를 볼 수 있습니다.
인덱스 갱신에 맞춘 스케줄링
인덱스는 약 한 달에 한 번 갱신되므로, 월 초에 실행하면 이전 빌드의 수치를 읽을 수 있습니다. 위의 단계에서 제안하듯 며칠 후에 실행하면 갱신이 완료될 시간을 줍니다.
매월 같은 날짜를 선택하여 시리즈의 비교 가능성을 유지하고, 그 날짜를 크론 라인의 주석에 기록하세요.
자동화를 중단해야 하는 시점
분기마다 한 번 실행되는 작업은 크론 라인을 정당화하지 못할 수 있습니다. 시트와 캘린더 알림만으로 충분할 수 있으며, 반자동 루틴은 명확한 수동 루틴보다 나쁠 수 있습니다.