Konfiguracja narzędzia do sprawdzania DR dla arkusza i zadania cron
Przepływ pracy, którego nikt nie musi pamiętać, jest lepszy niż taki, o którym wszyscy pamiętają, ale go nie realizują. Sześć kroków przeniesie Cię od pustego arkusza do zadania miesięcznego, które loguje własny koszt.
Zespół redakcyjny ASEOTools ·
Sześć kroków, około godziny
01
Zaloguj się i skopiuj klucz
Użyj logowania przez Google na /auth/google.php. Dashboard na /account.php zawiera Twój klucz, który zaczyna się od sk_ i jest dostarczany z kredytem w wysokości $100.
02
Wykonaj jedno darmowe testowe wywołanie
Uruchom akcję overview bez klucza dla swojej domeny. Jeśli otrzymasz JSON z wartością ok ustawioną na true, ścieżka sieciowa działa poprawnie.
03
Zbuduj listę domen
Jedna kolumna w arkuszu, jedna domena w wierszu, bez https i bez ścieżek. Do 2000 wierszy można przesłać w jednym żądaniu bulk_dr.
04
Wywołaj bulk_dr z arkusza lub skryptu
Wyślij listę jako wartość GET połączoną przecinkami lub jako ciało POST. Zapisz odpowiedź w drugiej karcie z kolumną daty.
05
Zaplanuj zadanie na miesiąc
Uruchom zadanie kilka dni po pierwszym dniu miesiąca, po odświeżeniu indeksu miesięcznego. Wystarczy linijka cron. Sprawdź wynik pierwszego miesiąca ręcznie dla trzech domen, które dobrze znasz.
06
Loguj kredyty i alertuj przy niskim saldzie
Każda uwierzytelniona odpowiedź zawiera _credits z kosztem i pozostałym saldem. Zapisz oba wartości w wierszu logu i wyślij sobie e-mail, gdy saldo spadnie poniżej wybranego progu.
Gotowe elementy do wklejenia
Wstaw swój własny klucz i nazwy plików.
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
Trzymaj klucz z dala od arkusza
Umieść klucz w właściwościach Apps Script, zmiennej środowiskowej lub magazynie poświadczeń narzędzia automatyzacji. Każdy, kto ma dostęp do edycji arkusza, może odczytać klucz wpisany do komórki, a wycieknięty klucz zużywa Twój kredyt.
Gdzie ta konfiguracja może zawieść
Cisza to zwykle objaw awarii. Zadanie cron, które zwraca błąd, wygląda tak samo jak to, które zadziałało.
Sprawdź kod HTTP. 401 oznacza, że klucz jest nieprawidłowy lub go brakuje, a 402 oznacza, że zabrakło kredytów, więc alertuj w obu przypadkach i napraw problem przed wydaniem raportu w kolejnym miesiącu.
Pamiętaj również, że paginacja jest ograniczona do 50 000 wierszy, a bulk_dr obsługuje do 2000 domen w jednym wywołaniu. Dłuższe listy wymagają podziału na fragmenty, co oznacza jedno dodatkowe pętlowanie i koszt jednego kredytu za fragment.
Przetestuj ręcznie najpierw. Uruchom polecenie cron w terminalu, przeczytaj plik logu i sprawdź, czy saldo spadło dokładnie o oczekiwany koszt. Następnie zobacz jak liczby porównują się z planem pakietowym i zdecyduj, jak często uruchamiać to zadanie.
Wersjonuj swoją listę domen. Przechowuj plik w repozytorium lub wspólnym folderze z historią, aby gdy liczba zmieni się w marcu, móc sprawdzić, czy lista również uległa zmianie. Dodaj kolumnę z notatkami dla domen dodanych celowo, np. nowego konkurenta lub klienta, który dołączył w danym miesiącu. Traktuj listę jako dane posiadające właściciela, ponieważ najtańszym błędem jest ten, który zauważysz w porównaniu wersji.
Podział długiej listy na fragmenty
Długie listy to moment, w którym schludna konfiguracja napotyka swoje granice. Wywołanie zbiorcze obsługuje do 2000 domen, więc lista 5000 domen wymaga trzech żądań, a podział musi nastąpić przed pierwszym wywołaniem.
Podziel według stabilnej reguły, np. posortowanej kolejności kolumny domen. Dzięki temu ta sama domena trafi do tego samego fragmentu każdego miesiąca, a porównanie będzie poprawne.
Listy powyżej 2000 wierszy
Zapisz każdy fragment do arkusza jako osobny blok, z numerem fragmentu w pierwszej kolumnie. Nieudany fragment będzie wtedy łatwy do zlokalizowania.
Każdy fragment kosztuje jeden kredyt, więc lista 5000 wierszy to 3 kredyty za uruchomienie, co daje $0.0003. Narzędzie do sprawdzania DR jest tak przydatne, jak lista, którą odczytuje, więc utrzymuj tę listę w czystości.
Jeśli lista przekroczy 5000 wierszy, przemyśl układ samego arkusza. Karta na miesiąc utrzyma czytelność każdego uruchomienia, gdy wiersze się zsumują.
Ponowne uruchomienie jednego nieudanego fragmentu
Jeśli drugi fragment zwróci błąd, uruchom ponownie tylko drugi fragment. Ponowne uruchomienie całej listy zużyje kredyty na wiersze, które już zostały zwrócone.
Zaloguj numer fragmentu wraz z kodem statusu, aby ponowne uruchomienie było jedną linią w logu, a nie poszukiwaniem w arkuszu.
Utrzymanie stabilności mapy fragmentów
Jeśli zmieni się kolejność listy domen, fragmenty się przesuną, a porównanie miesięczne zostanie zaburzony. Sortuj listę przed jej podziałem za każdym razem.
Przechowuj mapę fragmentów obok listy.
Prosty test: wybierz dowolny fragment i przelicz jego wiersze względem listy. Niedopasowanie oznacza, że mapa uległa przesunięciu, co taniej jest znaleźć w arkuszu niż w raporcie.
Koszt całej procedury z przykładowymi rozmiarami
Hipotetyczne rozmiary list, opublikowane ceny akcji.
Rozmiar listy
Wywołania miesięcznie
Kredyty
Dolary
200 domen
1
1
$0.0001
5000 domen
3
3
$0.0003
5000 domen plus 20 pełnych pobierań backlinków
23
43
$0.0043
Co potwierdzić przed pierwszym zaplanowanym uruchomieniem
Przetestuj jeden fragment ręcznie i przeczytaj pełną odpowiedź
Potwierdź, że saldo spadło dokładnie o oczekiwane kredyty
Sprawdź kod statusu dla każdego fragmentu, nie tylko pierwszego
Porównaj trzy dobrze znane Ci domeny z liczbami, którym już ufasz
Ustal ścieżkę do pliku logu i zdecyduj, kto go czyta każdego miesiąca
Napisz imię właściciela na górze arkusza
Co powinna zawierać przydatna linia dziennika miesięcznego
Dziennik, który tylko mówi ok, nie jest wielkim dziennikiem. Każde uruchomienie powinno zapisywać jedną linię, którą zmęczona osoba może przeczytać w dziesięć sekund: datę, fragment, status, zużyte kredyty i saldo po wywołaniu.
Hipotetycznie: linia pokazująca czwarty fragment, status 200, jeden zużyty kredyt i saldo po wywołaniu odpowiada na większość pytań miesiąc później bez otwierania odpowiedzi.
Pola warte zalogowania
Zaloguj datę, nazwę listy, numer fragmentu, kod statusu, pobrane kredyty i saldo po wywołaniu. Te sześć pól pokrywa większość pytań miesiąc później.
Dodaj notatkę tekstową tylko wtedy, gdy osoba zmieniła coś ręcznie.
Alerty, które nie krzyczą wilka
Alertuj natychmiast przy 401 lub 402, ponieważ oba oznaczają, że zadanie nie może wykonać swojej pracy. Ostrzeżenie o niskim saldzie powinno używać wybranego przez Ciebie progu, więc wystrzeli raz i powie, co zrobić dalej.
Wyślij jeden alert na uruchomienie, nie jeden na wiersz, inaczej skrzynka odbiorcza stanie się szumem.
Pytania dotyczące konfiguracji
Czy Google Sheets działa jako klient?
Tak. API to zwykły REST z otwartym CORS i odpowiedziami JSON, więc Apps Script lub wywołanie typu IMPORTDATA może się do niego połączyć. Trzymaj klucz we właściwościach skryptu, a nie w komórce, którą współpracownicy mogą odczytać.
Czy mogę użyć tego z n8n lub Make?
Tak, poprzez zwykły węzeł żądania HTTP. Przekaż klucz jako nagłówek Authorization Bearer, przeanalizuj odpowiedź JSON i zapisz pole _credits do swojego logu, aby zobaczyć wydatki na każde uruchomienie.
Dlaczego w logu widnieje wyższy koszt niż się spodziewałem dla tego narzędzia do sprawdzania DR?
Policz wywołania, nie tylko rozmiar listy. Fragment na uruchomienie, ponowne uruchomienie lub testowe wywołanie dodają swój koszt, a pole _credits w każdej odpowiedzi daje dokładną liczbę dla tego wywołania.
Czy klucz powinien znajdować się w samej linii cron?
To prostsze, ale każdy, kto może odczytać crontab, może odczytać klucz. Załaduj go z pliku z ograniczonymi uprawnieniami lub ze zmiennej środowiskowej ustawionej dla zadania i trzymaj go z dala od wspólnych logów.
Kto zauważy, gdy zadanie zawiedzie
Miesięczne zadanie działa bez nadzoru. To jest cel automatyzacji, ale też powód, dla którego awaria może pozostać niezauważona przez tygodnie.
Wymień osobę, która czyta log, i osobę, która naprawia zadanie. Dwie imiona są lepsze niż jedno. Wakimia się zdarzają. Runbook wyjaśnia, jak wybrać listę od początku.
Czas poświęcony na konfigurację versus utrzymanie
Pierwsze uruchomienie zajmuje większość godziny, ponieważ klucz, arkusz i testowe wywołanie wymagają uwagi. Po tym rutyna powinna wymagać tylko rzutu okiem każdego miesiąca, a nie przebudowy.
Jeśli utrzymanie rośnie, przyczyną jest zwykle lista. Lista, która zmienia się co tydzień, wymaga właściciela, wersji i reguły dla dodanych elementów.
Uczynienie awarii widoczną
Brakujący wiersz w wyjściu jest łatwiej zauważyć niż cichy błąd. Porównaj liczbę wierszy z długością listy przy każdym uruchomieniu i zapisz ostrzeżenie, gdy się różnią.
Przechowuj to ostrzeżenie w tym samym pliku logu, aby osoba czytająca log widziała je jako pierwsza.
Harmonogramowanie wokół odświeżania indeksu
Indeks odświeża się mniej więcej raz w miesiącu, więc uruchomienie pierwszego dnia miesiąca może odczytać liczby z poprzedniej wersji. Uruchomienie kilka dni później, jak sugerują powyższe kroki, daje czas na zakończenie odświeżania.
Wybierz ten sam dzień każdego miesiąca, aby seria pozostała porównywalna, i zapisz ten dzień w komentarzu do linii cron.
Kiedy przestać automatyzować
Zadanie uruchamiane raz na kwartał może nie uzasadniać linii cron. Arkusz i przypomnienie kalendarzowe mogą wystarczyć, a pół-zautomatyzowana procedura jest gorsza niż jasna procedura ręczna.
Zautomatyzuj, gdy te same kroki działały czysto przez kilka cykli z rzędu.