Configurare instrument de evaluare a domeniului pentru un fișier și un job cron
Un flux de lucru pe care nimeni nu trebuie să-l memoreze bate unul pe care toți intenționează să-l facă. Șase pați te duc de la un fișier gol la un job lunar care își loghează propriul cost.
Echipa editorială ASEOTools ·
Șase pași, aproximativ o oră
01
Autentifică-te și copiază cheia
Folosește autentificarea Google de la /auth/google.php. Panoul de control de la /account.php conține cheia ta, care începe cu sk_ și vine cu $100 credit.
02
Fă un apel gratuit de test
Rulează acțiunea de prezentare generală fără cheie împotriva domeniului tău. Dacă primești un JSON cu ok setat la true, calea de rețea funcționează.
03
Construiește lista de domenii
O coloană într-un fișier, un domeniu pe rând, fără https și fără căi. Până la 2.000 de rânduri intră într-un singur apel bulk_dr.
04
Apel bulk_dr din fișier sau script
Trimite lista ca valoare GET unită prin virgulă sau ca corp POST. Stochează răspunsul într-o altă foaie cu o coloană de dată.
05
Planifică lunar
Rulează jobul cu câteva zile după prima zi a lunii, odată ce indexul lunar s-a actualizat. O linie cron este suficientă. Verifică manual outputul primei luni împotriva a trei domenii pe care le cunoști bine.
06
Loghează creditul și alertează la sold scăzut
Fiecare răspuns autentificat conține _credits cu costul și soldul rămas. Scrie ambele într-un rând de jurnal și trimite-ți un email sub un prag pe care îl alegi.
Piesele, gata de lipire
Înlocuiește cu propria cheie și nume de fișier.
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
Păstrează cheia în afara fișierului
Pune cheia în proprietățile Apps Script, o variabilă de mediu sau depozitul de credențiale al instrumentului tău de automatizare. Orice persoană cu acces de editare la un fișier poate citi o tastată într-o celulă, iar o cheie scursă îți consumă creditul.
Unde eșuează această configurare
Liniștea este eșecul obișnuit. Un job cron care dă eroare arată la fel ca unul care a funcționat.
Verifică codul HTTP. Un 401 înseamnă că cheia lipsește sau este greșită, iar un 402 înseamnă că creditul s-a epuizat, așa că alertează la ambele și remediază înainte ca raportul lunii viitoare să fie scadent.
Amintește-ți că paginare este limitată la 50.000 de rânduri adânc, iar bulk_dr preia până la 2.000 de domenii per apel. Liste mai lungi necesită fragmentare, ceea ce este un loop suplimentar și costă un credit per fragment.
Testează manual mai întâi. Rulează linia cron într-un terminal, citește fișierul jurnal și verifică că soldul a scăzut exact cu costul așteptat. Apoi vezi cum se compară cifrele cu un plan suite și decide de câte ori să-l rulezi.
Versionează lista de domenii. Păstrează fișierul într-un repository sau un drive partajat cu istoric, astfel încât când un număr se schimbă în martie să poți vedea dacă lista s-a schimbat și ea. Adaugă o coloană de note pentru domenii adăugate intenționat, cum ar fi un competitor nou sau un client care s-a autentificat în acea lună. Tratează lista ca date cu un proprietar, deoarece cel mai ieftin bug este cel pe care îl observi într-o diferență.
Fragmentarea unei liste lungi
Listele lungi sunt locul unde o configurare elegantă își atinge limita. Un apel în lot preia până la 2.000 de domenii, așa că o listă de 5.000 necesită trei cereri, iar fragmentarea trebuie să aibă loc înainte de primul apel.
Fragmentează după o regulă stabilă, cum ar fi ordinea sortată a coloanei de domeniu. Astfel, același domeniu ajunge în același fragment în fiecare lună, iar comparația rămâne valabilă.
Liste peste 2.000 de rânduri
Scrie fiecare fragment în fișier ca bloc propriu, cu numărul fragmentului în prima coloană. Un fragment eșuat este astfel ușor de găsit.
Fiecare fragment costă un credit, așa că o listă de 5.000 de rânduri ajunge la 3 credite per rulare, ceea ce este $0.0003. Un instrument de evaluare a domeniului este la fel de util pe cât este lista pe care o citește, așa că ține acea listă curată.
Dacă lista crește peste 5.000 de rânduri, reconsideră layout-ul fișierului însuși. O foaie pe lună menține fiecare rulare lizibilă când rândurile se îngrămădesc.
Reluarea unui singur fragment eșuat
Dacă fragmentul doi returnează o eroare, reia doar fragmentul doi. Reluarea întregii liste ar consuma credit pe rânduri care au revenit deja.
Loghează numărul fragmentului cu codul de status, astfel încât reluarea să fie o linie în jurnal, nu o căutare prin fișier.
Menținerea hărții de fragmente stabilă
Dacă lista de domenii se schimbă ca ordine, fragmentele se mută, iar comparația lună cu lună se rupe. sortează lista înainte să o fragmentezi, de fiecare dată.
Stochează harta de fragmente lângă listă.
Un test simplu: alege orice fragment și numără din nou rândurile lui împotriva listei. O discrepanță înseamnă că harta s-a deplasat, iar asta este mai ieftin de găsit în fișier decât în raport.
Costul întregii rutină, cu dimensiuni de exemplu
Dimensiuni ipotetice ale listei, prețuri acțiuni publicate.
Dimensiune listă
Apeluri pe lună
Credite
Dolari
200 de domenii
1
1
$0.0001
5.000 de domenii
3
3
$0.0003
5.000 de domenii plus 20 extrageri complete de backlink-uri
23
43
$0.0043
Ce să confirmi înainte de prima rulare programată
Testează un fragment manual și citește răspunsul complet
Confirmă că soldul a scăzut exact cu creditele așteptate
Verifică codul de status pentru fiecare fragment, nu doar pentru primul
Compară trei domenii pe care le cunoști bine cu cifre pe care le înțelegi deja
Setează o cale pentru fișierul jurnal și decide cine îl citește în fiecare lună
Scrie numele proprietarului în partea de sus a fișierului
Ce conține o linie de jurnal utilă lunar
Un jurnal care spune doar ok nu este un jurnal. Fiecare rulare ar trebui să scrie o linie pe care o persoană obosită o poate citi în zece secunde: data, fragmentul, statusul, creditele cheltuite și soldul după apel.
Ipoteză: o linie care arată fragmentul patru, status 200, un credit cheltuit și soldul rămas după apel răspund la cele mai multe întrebări o lună mai târziu fără a deschide răspunsul.
Câmpuri vrednice de logare
Loghează data, numele listei, numărul fragmentului, codul de status, creditele charge-uite și soldul după apel. Aceste șase câmpuri acoperă cele mai multe întrebări o lună mai târziu.
Adaugă o notă text liber doar când o persoană a schimbat ceva manual.
Alerte care nu strigă la lup
Alertează imediat la un 401 sau 402, deoarece ambele înseamnă că jobul nu își poate face treaba. Un avertisment de sold scăzut ar trebui să folosească pragul ales de tine, astfel încât să se declanșeze o dată și să spună ce urmează.
Trimite o alertă per rulare, nu una per rând, sau inbox-ul devine zgomot.
Întrebări de configurare
Funcționează un Google Sheet ca client?
Da. API-ul este REST simplu cu CORS deschis și răspunsuri JSON, astfel încât Apps Script sau o apelare de tip IMPORTDATA pot ajunge la el. Păstrează cheia în proprietățile scriptului, nu într-o celulă pe care colaboratorii o pot citi.
Pot folosi asta cu n8n sau Make?
Da, printr-un nod normal de cerere HTTP. Transmite cheia ca header Authorization Bearer, analizează răspunsul JSON și scrie câmpul _credits în jurnalul tău astfel încât să poți vedea cheltuiala per rulare.
De ce arată jurnalul un cost mai mare decât am așteptat pentru acest instrument de evaluare a domeniului?
Numără apelurile, nu doar dimensiunea listei. Un fragment per rulare, o reluare sau un apel de test adaugă fiecare costul său, iar câmpul _credits din fiecare răspuns oferă cifra exactă pentru acel apel.
Ar trebui să stea cheia în linia cron însăși?
Este mai simplu, dar oricine poate citi crontab-ul poate citi cheia. Încarc-o dintr-un fișier cu permisiuni restricționate sau dintr-o variabilă de mediu setată pentru job, și ține-o în afara jurnalelor partajate.
Cine observă când jobul se strică
Un job lunar rulează fără ca cineva să se uite la el. Acesta este punctul de a-l automatiza, și este de asemenea de ce o eroare poate sta neobservată săptămâni întregi.
Numește persoana care citește jurnalul și persoana care repară jobul. Două nume bat unul. Vacanțele apar. Manualul de rulare explică cum să alegi lista de la început.
Timp petrecut pe configurare versus întreținere
Prima rulare ocupă cea mai mare parte din oră, deoarece cheia, fișierul și apelul de test au nevoie de atenție. După aceea, rutina ar trebui să necesite o privire rapidă în fiecare lună, nu o reconstrucție.
Dacă întreținerea crește, lista este de obicei cauza. O listă care se schimbă în fiecare săptămână are nevoie de un proprietar, o versiune și o regulă pentru adăugiri.
Făcând o eroare vizibilă
Un rând lipsă în output este mai ușor de văzut decât o eroare silențioasă. Compară numărul de rânduri cu lungimea listei la fiecare rulare și scrie un avertisment când diferă.
Păstrează acel avertisment în același fișier jurnal, astfel încât persoana care citește jurnalul să îl vadă prima.
Programarea în jurul actualizării indexului
Indexul se reîmprospătează aproximativ o dată pe lună, așa că o rulare în prima zi a lunii poate citi cifre din construcția anterioară. Rularea cu câteva zile mai târziu, așa cum sugerează pașii de mai sus, oferă timp actualizării să se așeze.
Alege aceeași zi în fiecare lună astfel încât seria să rămână comparabilă și scrie acea zi într-un comentariu pe linia cron.
Când să te oprești din automatizare
Un job care rulează o dată la trimestru poate să nu justifice o linie cron. Un fișier și o remindere de calendar pot fi suficiente, iar o rutină semi-automată este mai rea decât una manuală clară.
Automatizează odată ce aceiași pași au rulat curat pentru mai multe cicluri la rând.