Audit odkazů po zveřejnění pomocí GitHub Actions nebo běžného cronu
Článek je online a pipeline není dokončena. Tento průvodce přidává plánovaný audit, který zaznamenává data o odkazech pro každý web a upozorní člověka pouze tehdy, když něco vypadá špatně.
Výzkumný tým SEOBlogBot ·
Proč audity provádět vůbec po zveřejnění
Brána vidí koncept. Audit vidí, co živý web skutečně dělá. Pluginy přepisují odkazy, editoři vkládají affiliate přesměrování místo čistých URL a migrace CDN může změnit jeden hostitel na jiný. Nic z toho neexistuje ve fázi konceptu, proto je audit po zveřejnění prvním místem, kde se tyto problémy mohou projevit.
Užitečný audit je nudný ze své podstaty. Běží podle plánu, zapíše jeden řádek a zůstane tichý, dokud nevznikne výjimka. Ticho je cílem. Měsíc tichých logů znamená, že práce funguje, ne že je nečinná.
Neexistuje žádné oficiální Google Backlink Checker API pro obecné použití, proto týmy volají třetí stranu s indexem odkazů. Je to náš vlastní crawler. Search Console ukazuje pohled Googlu na vaše vlastní odkazy a audit je doplňuje, nikoli je nahrazuje.
Kde práce běží
Zapište spouštěč. Tři nastavení pokrývají většinu týmů a každé z nich provádí stejná volání. Log je důležitější než spouštěč, protože datum, URL a použité kredity by se tam měly objevit pokaždé.
GitHub Actions pro repozitář
Pokud web sestavujete z repozitáře, plánovaný pracovní postup přidává nejméně tření. Práce žije vedle kódu a klíč je uložen v úložišti tajných klíčů repozitáře. Soubor pracovního postupu níže je minimum, které potřebujete. Udržujte ho v repozitáři, kontrolovaném jako jakýkoli jiný kód, a fixujte verze akcí, na kterých závisíte.
Běžný server s cronem
Týmy, které již udržují stroj pro svou sestavu, mohou naplánovat stejné příkazy tam. Nástroj jako n8n je může spustit prostřednictvím kroku Execute Command, nebo řádek crontab může příkazy spustit přímo. V obou případech by práce měla běžet jako uživatel, který může číst klíč a nic jiného.
Webhook z vašeho CMS
Některá nastavení CMS spustí webhook při zveřejnění článku a tato událost může zahájit audit. Kontrola pak proběhne okamžitě, jakmile je článek veřejný. Stále však mějte plánovaný běh, protože jeden zmeškaný webhook nechá článek nekontrolovaný.
Průvodce v pořadí
01
Spustit při zveřejnění a znovu o 30 dní později
Jeden běh hned po zveřejnění článku zkontroluje odchozí hostitele. Druhý běh o měsíc později načte refdomains pro váš web, protože index se obnovuje přibližně měsíčně a dřívější čtení by nezobrazilo žádné nové údaje.
02
Nejprve zavolejte volný přehled
action=overview vrací hlavní čísla webu zdarma. Uložte je jako základní řádek pro tento běh spolu s datem.
03
Placené seznamy stahujte pouze při změně
Pokud se přehled liší od minulého měsíce, zavolejte refdomains (2 kredity) a anchors (2 kredity) a porovnejte je s uloženými seznamy.
04
Zapište jeden řádek do logu
Datum, URL článku, provedená volání, zůstatek _credits. Stačí obyčejné CSV soubor commitnutý do soukromého repozitáře.
05
Upozornit pouze na výjimky
HTTP 401, HTTP 402, prázdný výsledek pro web, který měl minulý měsíc řádky, nebo pokles hodnocení o 10 bodů nebo více.
Jaké weby auditoval
Začněte doménou, která článek hostuje. Poté proveďte stejný audit proti dvěma nebo třem konkurenčním webům, proti kterým chcete benchmarkovat. Použijte compare. To vyžaduje až 20 domén za 1 kredit, takže kontrola konkurence stojí téměř nic.
Vynechte dlouhý ocas. Každý další web přidává šum do logu, který musí člověk číst. Benchmark dvaceti nesouvisejících domén vám o vašem vlastním webu řekne velmi málo.
Udržení klíče mimo logy
Plánovaná práce čte svůj klíč při každém běhu, takže nikdy nepotřebuje krok přihlášení. Chraňte pouze samotný klíč. Má tři zřejmé úniky: commit, vytištěné prostředí a URL, kterou zaznamenává proxy. Uzavřete každou z nich.
Použijte úložiště tajných klíčů, ne soubor v repozitáři
Vložte klíč do úložiště tajných klíčů vašeho CI providera nebo do environmentálního souboru, který může číst pouze uživatel práce. Nikdy ho necommitujte. Krok, který vypisuje své prostředí, ho vytiskne, takže takový krok nepoužívejte.
Pošlete klíč v hlavičce
Hlavička Bearer drží klíč mimo většinu přístupových logů, protože URL se zaznamenávají a hlavičky obvykle ne. Forma query-string také funguje, ale zanechá kopii v každé proxy, která vidí požadavek.
Omezte, kdo může úložiště číst
Dejte právo číst lidem, kteří práci udržují, a nikomu jinému. Seznam revidujte, když se práce přejímá.
Klíč, který může číst mnoho lidí, je klíč, který jednou skončí vložený do chatu.
Ověřte odpověď před jejím zapsáním
Odpověď, která dorazila, ještě není odpověď, kterou můžete použít. Použijte vždy stejný pořadí. Zapište pouze to, co projde, a zalogujte zbytek. Zamítnutá odpověď je důkaz a další člověk, který bude ladit práci, ji bude chtít vidět.
Nejprve zkontrolujte status a ok
Přečtěte si kód HTTP statusu, poté pole ok v těle. 200 s ok nastaveným na false je stále selhání volání a log by to měl uvést.
Parsovat JSON před jakýmkoli zápisem
Potvrďte, že tělo je platný JSON, než něco rozbalíte, sparsujete nebo připojíte. Může dojít ke zkrácenému stažení na nestabilním runneru. Rozbitý soubor zapsaný do logu vypadá v pořádku, doklid ho někdo neotevře.
Prázdný seznam považujte za otázku
Prázdný výsledek pro web, který měl minulý měsíc řádky, je otázka, ne fakt. Zkontrolujte pravopis domény, včetně úvodního www., než kdokoli dostane upozornění.
Soubor pracovního postupu k začátku
Uložte klíč jako tajný klíč repozitáře s názvem SBB_KEY. Cron expression běží prvního každého měsíce v 06:00 UTC.
Stejné příkazy spuštěné z řádku crontab. Udržujte klíč v environmentálním souboru, který může číst pouze uživatel práce, a logujte do souboru, který rotujete.
Náklady a kde je číst
Měsíční audit pro jeden web stojí 4 kredity, když stáhnete oba seznamy, což je $0.0004. Volání přehledu je zdarma. Měsíc bez změny tedy stojí nic navíc.
Pokud váš tým publikuje deset článků denně napříč několika weby, audit je stále jednou měsíční prací na web, nikoli jednou prací na článek. To udržuje počet malý a log čitelný.
Při přidání druhého webu zkopírujte práci, nikoli ji rozšiřujte. Jeden pracovní postup na doménu udržuje log na web a usnadňuje zpětné sledování selhání na jeho majitele.
Vyšší náklady jsou obvykle minuty vašeho CI providera, nikoli naše kredity. Tabulka nákladů dává obě položky vedle sebe, takže můžete rozhodnout, kterou upravit první.
Požádejte o první běh, aby vytiskl _credits. Důvěřujte odpovědi spíše než jakékoli tabulce. Průvodce branou pokrývá kontrolu na straně konceptu, která před touto jednou přichází.
Plán GitHub běží v UTC, takže start v 06:00 dopadne v různé místní hodině pro každý tým. Zapište časové pásmo do průvodce, aby nikoho nepřekvapil log.
Otázky k běhu auditu
Většina těchto otázek pochází od týmů, které právě naplánovaly práci poprvé.
Je to google backlink checker API?
Je to audit postavený na našem vlastním API, ne produkt Googlu. Google nezveřejňuje obecné backlink API, takže čísla pocházejí z našeho vlastního crawlera a našeho vlastního indexu.
Může audit běžet s každou sestavou?
Může, ale měsíční stažení refdomains nepotřebuje běžet při každé sestavě. Spusťte volný přehled při každém zveřejnění a placená stažení jednou měsíčně.
Stále potřebuji audit, pokud mám bránu?
Ano, pokud publikujete přes pluginy nebo CDN. Brána vidí váš koncept a audit vidí živou stránku. Každá z nich zachytí selhání, které ta druhá nevidí.
Co když práce selže uprostřed?
Zapište výsledek každého kroku do vlastního souboru, takže selhání stahování ponechá přehled nepoškozený. Spusťte znovu od selhaného kroku, nikoli od začátku, což se vyhne placení za stejné stažení dvakrát.
Kolik kreditů bych měl rozpočítat na každý web?
Rozpočítejte 4 kredity na web za měsíc za dvě placená stažení plus cokoliv, co vaše brana utratí za koncepty. Volný přehled k tomu nic nepřidává a log vám řekne skutečný celkový součet.
Proč se dva běhy několik dní od sebe liší?
Index se obnovuje přibližně jednou měsíčně, takže změny z dne na den jsou obvykle šum. Porovnejte snímek tohoto měsíce s minulým měsícem, než otevřete incident.
Podpis průvodce
Tajný klíč existuje a pracovní postup jednou ručně běžel.
Soubor logu zaznamenává datum, URL, volání a _credits.