Tabulka závažnosti

Kontrola špatných zpětných odkazů: diff snímky v SQLite

Žádný skript nemůže označit odkaz jako toxický pro vás. Může vám říct, které domény, které na vás odkazují, jsou nové, které zmizely a které vypadají dost zvláštně na ruční kontrolu.

Kamenný trezor s hliněnými tabulkami a mosazným kaliprem měřícím data points

Tabulka závažnosti pro nové domény, které na vás odkazují

Naše vlastní pravidla pro třídění, ne definice od Googlu
ÚroveňSignálAkce
IgnorovatNová doména, DR nad 30, anchor text je vaše značka nebo holé URLZalogujte si to, pokračujte dál
Podívejte se50 nebo více nových domén za týden z jedné TLD, kterou jste nikdy netargetovaliOtevřete deset z nich
Podívejte se pozorněStejný přesný anchor text na 20 nebo více nových doménáchZkontrolujte oblak anchor textů, najděte zdroj
ZakročitSíť vypadající jako placená nebo hacknuté stránky odkazující na vásDokumentujte to; zvažte soubor disavow pouze pokud máte také manuální zásah
PočkatDoména tento měsíc zmizelaZnovu zkontrolujte po dalším měsíčním obnovení

Proč diff místo jednoho skenování

Jeden snímek vám řekne, co tam je. Diff vám řekne, co se změnilo, a právě tam se objevují problémy.

Google říká již roky, od vydání Penguin 4.0 v září 2016 a znovu v prosincovém update link spam v prosinci 2022, že většinou ignoruje spamové odkazy místo toho, aby je trestal. SpamBrain to dělá za něj. Takže záplava šrotu je spíše šum než hrozba a diff vás hlavně ušetří od reakce na šum.

Udržujte si vlastní historii. Balíky přepisují ty své.

Vytvořte tabulku historie ve čtyřech krocích

Diff funguje pouze, pokud každé spuštění skončí ve stejné tabulce, ve stejném tvaru. Tyto kroky to udržují.

01

Vytvořte tabulku jednou

Spusťte příkaz create-if-not-exists se sloupci, které potřebujete: den, doména a skóre. Mějte to ve skriptu, aby nové stroje rebuildovaly stejnou tabulku bez manuálního kroku.

02

Vložte jeden řádek na doménu na den

Použijte parameterizovaný insert a commitujte jednou za spuštění. Jeden commit zabrání tomu, aby pád zanechal polovinu dne v souboru.

03

Chraňte se před druhým spuštěním

Smazat řádky dne před vložením, nebo přidat unikátní klíč na den a doménu. Opakování spuštění ve stejný den pak nahradí řádky místo jejich zdvojení.

04

Porovnejte s předchozím dnem na disku

Vyberte nejstarší dřívější datum s filtrem max(day), ne včerejší datum. Porovnání zůstává správné, když byl týden přeskočen.

diff.py

Dvě tabulky by byly čistší. Jedna stačí pro hobby setup: řádek na doménu na datum snímku.

python
import json, sqlite3, sys, datetime
db = sqlite3.connect('links.db')
db.execute('create table if not exists snap(day text, dom text, dr int)')
rows = json.load(open(sys.argv[1]))
day = datetime.date.today().isoformat()
db.executemany('insert into snap values (?,?,?)',
               [(day, r.get('domain'), r.get('dr')) for r in rows])
db.commit()
prev = db.execute('select max(day) from snap where day < ?', (day,)).fetchone()[0]
if prev:
    new = db.execute('select dom from snap where day=? except select dom from snap where day=?', (day, prev)).fetchall()
    gone = db.execute('select dom from snap where day=? except select dom from snap where day=?', (prev, day)).fetchall()
    print(len(new), 'new,', len(gone), 'gone')

Řešení problémů s diff

PříznakPravděpodobná příčinaOprava
Stovky 'zmizelo' přes nocIndex refresh vyměnil vzorekPorovnávejte měsíčně, ne denně
Každá doména vypadá nováTabulka byla prázdná nebo se změnil formát dayZkontrolujte select distinct day
Sloupec DR je všude NULLNázev pole řádku se liší od drVytiskněte jeden surový řádek a upravte
Duplikáty po opakování spuštěníStejný den vložen dvakrátNejprve smažte ten den, nebo přidejte unikátní klíč
Počet pod totalStránkování skončilo předčasněOpravte smyčku v průvodci akcemi
Zahradník pozorující kapradiny s lupou pro srovnání growth patterns

Výběr prahových hodnot z vlastní historie

Prahová hodnota zkopírovaná z blogu je odhadem cizích dat. Špatný nástroj na kontrolu zpětných odkazů je užitečný jen do míry svých limitů a vaše vlastní historie vám řekne, co je pro váš doménu normální.

Začněte několika měsíci klidného logování bez zásahů. Nechte data ustát. Pak si poznamenejte typický týdenní výkyv. Teprve poté nastavte limity v tabulce závažnosti.

Začněte s baselines

Zaznamenávejte počty nových a zmizelých odkazů po každém běhu bez reakce. Pár měsíců klidného logování vám dá rozsah, který patří právě vaší doméně.

Jakmile baseline existuje, jeden špatný týden proti ní výrazně vystoupí a rozdíl můžete vysvětlit bez hádání. To je hlavní smysl baseline.

Vyberte jeden alarm na signál

Každý signál v tabulce má jeden prah, jednoho vlastníka a jednu akci. Signál se třemi alarmy je signál, který nikdo nečte, a všechny alarmy pak zůstanou ignorovány.

Napište alarm vedle signálu v kódu, aby tabulka na této stránce a skript nikdy nesouhlasily.

Přehodnoťte limity každé čtvrtletí

Váš web roste a roste i jeho norma. Kontrolujte limity každé tři měsíce a k jakékoli změně si poznamenejte důvod, aby historie sama vysvětlovala sama sebe.

Světlonoš skenující horizont dalekohledem a kotva na pracovním stole

Čtení tabulky závažnosti v praxi

Tabulka je pomůcka pro triáž, ne soud. Každý řádek vám říká, kam se podívat, a sloupec akce vás ochrání před panickým stažením disavow souboru.

Pracujte shora. Většina týdnů končí na Ignorovat nebo Podívat se. Řádek Podívat se začne několika minutami čtení, řádek Podívat se důkladně delší revizí anchor textů. Přeskočte řádky, protože byl týden rušný. Přeskočený řádek je týden, kdy povodeň zůstane nepozorována.

Vyberte vzorek před rozhodnutím

Otevřete deset označených domén a přečtěte si stránky. Povodeň, která se ukáže jako jeden adresářový scraper, je jiný problém než povodeň z nesouvisejících blogů, a pouze stránky je od sebe odliší.

Zaznamenejte své rozhodnutí

Udržujte jeden řádek na rozhodnutí: doména, úroveň, co jste zkontrolovali a co jste udělali. Další čtenář logu, včetně budoucího vás, získá reasoning bez schůzky.

Měsíční souhrn těchto řádků zabere málo času a je to dobrý první návrh revize.

Co to nedokáže říct

Nedokáže dokázat, že vám odkaz škodí. Nikdo mimo Google to nedokáže a Search Console je jediné místo, kde je penalty uvedena.

Také nevidí odkazy mladší než poslední refresh. Pro čerstvější důkazy se zeptejte lidí, kteří provozují odkazující web, nebo si přečtěte své serverové logy pro referrery. Naše poznámka o timing jde hlouběji.

Pokud chcete stranu anchor textů, anchor_cloud stojí 2 kredity a seskupuje text podle frekvence, což je nejrychlejší způsob, jak odhalit přesnou hromadu.

Odkazy, které přijdou mezi refreshy

Všechno mladší než poslední refresh chybí na obou stranách diff. Odkaz, který se objeví a zmizí uvnitř jednoho okna refreshu, se vůbec nezobrazí, proto by se srovnání mělo spouštět měsíčně.

Anchor texty, které vám připadají špatné

Diff vidí doménu, ne větu kolem odkazu. Dva identické anchor texty na dvou různých stránkách mohou znamenat velmi různé věci, takže kontrolu anchor textů udržujte jako samostatný manuální krok.

Možnosti úložiště pro hobby setup

SQLite je nejjednodušší databáze, která stále odpoví na otázku diff jedním dotazem. Žije v jednom souboru, takže se vejde do repo nebo záložní složky bez serveru.

Dátované JSON soubory fungují také. Je pomalejší na dotazování, ale snazší otevřít v textovém editoru, když něco vypadá špatně. V každém případě zkopírujte store na druhé místo před jakýmkoli cleanup a udržujte kopii po celé čtvrtletí před smazáním čehokoli.

Kdy stačí jeden soubor

Jeden stůl s denním sloupcem pokryje jeden web na roky. Soubor zůstane malý a dotazy na této stránce nepotřebují ladění.

Kdy se přesunout na server

Jakmile několik lidí píše do stejné historie, soubor na jednom stroji se stane bottleneck. V tu chvíli je managed database upřímnou volbou a schema zůstává stejné.

Dokud tak není, soubor v repo je nejjednodušší věc, která přežije změnu laptopu.

Propojení diff k týdennímu jobu

Spusťte diff.py hned po kroku snapshot. Vytiskněte počty a exitujte s kódem nenulovým, když new překročí limit, který jste vybrali, řekněme 200 za týden pro malý web. Job se zčervená a GitHub vám pošle email. Jednoduché.

Vyberte limit z vlastní historie. Po dvou měsících víte, zda je 15 nových domén za týden normální nebo spike, a jakékoliv pevné číslo zkopírované z blogu je odhad.

Klidné týdny jsou norma.

Špatné otázky o odkazech, odpovězené upřímně

Existuje spolehlivý bad backlinks checker?
Žádný nástroj nemůže označit odkaz jako škodlivý s jistotou, protože jen Google ví, jak každý jeden zachází. Skript může surface patterns worth reading: náhlé povodně, opakované exact anchors, divné TLD. Vy uděláte call po otevření stránek.
Měl bych disavow to, co diff označí?
Vzácně. Google řekl, že spam links ignoruje, a disavow file je určen pro případy jako manual action nebo paid-link mess, který jste si udělali sami. Dokumentujte první a zkontrolujte Search Console před odevzdáním čehokoli.
Jak často bych měl to spouštět?
Snapshot týdně, review měsíčně. Index se refreshuje asi jednou měsíčně, takže daily diff většinou srovnává stůl se sebou. Měsíční review odpovídá datům a udržuje noise nízkou.
Které sloupce by tabulka měla udržet?
Udržte den, doménu, DR a source column. Přidejte anchor pouze, pokud taháte také anchor texty. Více sloupců vypadá důkladně, ale každé extra field je další, které může drift mezi běhy.
Mohu diff dvě suite proti sobě?
Můžete srovnat jejich counts pro stejný web, ale dva výsledky se neshodují. Spusťte diff uvnitř jednoho source a srovnejte direction of change across sources, stejné pravidlo, které platí všude na tomto webu.
Co když doména odejde a pak se vrátí další měsíc?
Zobrazí se jako gone a pak jako new, což je noise. Počítejte returns odděleně nebo srovnejte tři měsíce najednou, takže doména, která vypadne pro jeden refresh, nespustí review.