Tabella di severità

Verificatore di backlink scadenti: differenze negli snapshot in SQLite

Nessuno script può definire un link tossico per te. Può dirti quali domini di riferimento sono nuovi, quali sono scomparsi e quali sembrano strani abbastanza da leggere manualmente.

Cassetta di sicurezza in pietra con tavolette di argilla e un calibro di ottone che misura i punti dati

Tabella di severità per i nuovi domini di riferimento

Le nostre regole pratiche per la triage, non una definizione di Google
LivelloSegnaleAzione
IgnoraNuovo dominio, DR superiore a 30, anchor è il tuo brand o un URL nudoLoggalo e vai avanti
Guarda50 o più nuovi domini in una settimana da un TLD che non hai mai targettizzatoAprine dieci
Guarda attentamenteStesso anchor esatto su 20 o più nuovi dominiControlla la nuvola degli anchor, trova la fonte
AgisciRete simile a quella a pagamento o pagine hackerate che puntano a teDocumentalo; considera un file disavow solo se hai anche un'azione manuale
AttendiUn dominio è scomparso questo meseRicontrolla dopo il prossimo aggiornamento mensile

Perché la differenza invece di una scansione singola

Un singolo snapshot ti dice cosa c'è. Una differenza ti dice cosa è cambiato, ed è lì che si manifestano i problemi.

Google ha detto per anni, sin dal rilascio di Penguin 4.0 nel settembre 2016 e di nuovo nell'aggiornamento sulla spam dei link di dicembre 2022, che ignora principalmente i link spammy invece di punirli. SpamBrain fa questo lavoro. Quindi una valanga di spazzatura è più spesso rumore che una minaccia, e la differenza ti salva principalmente dal reagire al rumore.

Tieni la tua cronologia. Le suite sovrascrivono le loro.

Costruisci la tabella della cronologia in quattro passaggi

La differenza funziona solo se ogni esecuzione finisce nella stessa tabella, nella stessa forma. Questi passaggi mantengono questa condizione.

01

Crea la tabella una volta

Esegui un'istruzione create-if-not-exists con le colonne di cui hai bisogno: il giorno, il dominio e il punteggio. Tienilo nello script, così una nuova macchina ricostruisce la stessa tabella senza passaggi manuali.

02

Inserisci una riga per dominio per giorno

Usa un insert parametrizzato e fai commit una volta per esecuzione. Un singolo commit evita che un crash lasci metà giornata nel file.

03

Proteggi contro una seconda esecuzione

Elimina le righe del giorno prima di inserire, o aggiungi una chiave univoca su giorno e dominio. Un'ennesima esecuzione nello stesso giorno sostituirà le righe invece di raddoppiarle.

04

Confronta con il giorno precedente sul file

Scegli la data precedente più recente con un filtro max(day), non la data di ieri. Il confronto rimane corretto quando viene saltata una settimana.

diff.py

Due tabelle sarebbero più ordinate. Una è sufficiente per un setup hobby: una riga per dominio per data dello snapshot.

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')

Risoluzione dei problemi della differenza

SintomoCausa probabileSoluzione
Centinaia di 'spariti' durante la notteL'aggiornamento dell'indice ha scambiato il campioneConfronta mensilmente, non giornalmente
Ogni dominio sembra nuovoLa tabella era vuota o il formato day è cambiatoControlla select distinct day
Colonna DR tutta NULLIl nome del campo della riga differisce da drStampa una riga grezza e regola
Duplicati dopo una riesecuzioneStesso giorno inserito due volteElimina prima quel giorno, o aggiungi una chiave univoca
Conteggio inferiore a totalLa paginazione si è fermata primaCorreggi il loop nel manuale delle azioni
Giardiniere che osserva le felci con una lente d'ingrandimento per confrontare i modelli di crescita

Scegliere le soglie dalla tua cronologia

Una soglia copiata da un post di blog è un'ipotesi sul sito di qualcun altro. Un verificatore di backlink scadenti è utile solo quanto i suoi limiti, e la tua cronologia ti dice cosa è normale per il tuo dominio.

Inizia registrando per alcuni mesi senza agire su nulla. Lascia che si stabilizzi. Poi scrivi l'oscillazione settimanale tipica. Solo dopo averlo fatto imposti i limiti nella tabella di severità.

Inizia con una linea di base

Registra i conteggi di nuovi e spariti per ogni esecuzione senza reagire ad essi. Un paio di mesi di registrazione tranquilla ti danno un intervallo che appartiene al tuo dominio e a nessun altro.

Una volta che la linea di base esiste, una singola settimana brutta spicca contro di essa, e puoi spiegare la differenza senza indovinare. Questo è il punto principale della linea di base.

Scegli un allarme per segnale

Ogni segnale nella tabella ha un limite, un proprietario e un'azione. Un segnale con tre allarmi è un segnale che nessuno legge, e gli allarmi finiscono per essere ignorati tutti insieme.

Scrivi l'allarme accanto al suo segnale nel codice, così la tabella in questa pagina e lo script non saranno mai in disaccordo.

Rivedi i limiti ogni trimestre

Il tuo sito cresce, e cresce anche la sua normalità. Ricontrolla i limiti ogni tre mesi e scrivi il motivo accanto a qualsiasi modifica, così la cronologia si spiega da sola in seguito.

Guardiano del faro che scansiona l'orizzonte con un telescopio e un'ancora sul banco di lavoro

Leggere la tabella di severità nella pratica

La tabella è un aiuto per la triage, non un giudizio. Ogni riga ti dice dove guardare, e la colonna delle azioni ti evita di afferrare un file disavow in preda al panico.

Lavora dall'alto. La maggior parte delle settimane finisce con Ignora o Guarda. Una riga Guarda inizia alcuni minuti di lettura, e una riga Guarda attentamente inizia una revisione più lunga degli anchor. Non saltare le righe perché la settimana è stata impegnativa. Una riga saltata è la settimana in cui la valanga passa inosservata.

Fai un campione prima di decidere

Apri dieci dei domini segnalati e leggi le pagine. Una valanga che si rivela essere un singolo scraper di directory è un problema diverso da una valanga di blog non correlati, e solo le pagine li distinguono.

Registra cosa hai deciso

Tieni una riga per decisione: il dominio, il livello, cosa hai controllato e cosa hai fatto. La prossima persona a leggere il log, incluso il te futuro, ottiene il ragionamento senza una riunione.

Un riepilogo mensile di quelle righe richiede poco tempo e costituisce un buon primo bozza di revisione.

Cosa questo non può dirti

Non può dimostrare che un link ti danneggi. Nessuno al di fuori di Google può farlo, e il rapporto sulle azioni manuali di Search Console è l'unico luogo in cui viene dichiarata una penalità.

Non può nemmeno vedere i link più recenti dell'ultimo aggiornamento. Per prove più fresche chiedi alle persone che gestiscono il sito che linka, o leggi i log del tuo server per i referrer. La nostra nota sui tempi approfondisce l'argomento.

Se vuoi il lato degli anchor, anchor_cloud costa 2 crediti e raggruppa il testo per frequenza, che è il modo più veloce per individuare un accumulo di match esatti.

Link che arrivano tra gli aggiornamenti

Qualsiasi cosa più recente dell'ultimo aggiornamento è mancante da entrambi i lati della differenza. Un link che appare e scompare all'interno di una finestra di aggiornamento non viene mai mostrato, motivo per cui il confronto dovrebbe essere eseguito mensilmente.

Anchor che ti sembrano sbagliati

Una differenza vede il dominio, non la frase intorno al link. Due anchor identici su due pagine diverse possono significare cose molto diverse, quindi mantieni il controllo degli anchor come un passaggio manuale separato.

Scelte di archiviazione per un setup hobby

SQLite è il database più semplice che risponde ancora a una domanda di differenza con una query. Vive in un singolo file, quindi si adatta al repo o a una cartella di backup senza un server.

Anche i file JSON datati funzionano. È più lento da interrogare, ma più facile da aprire in un editor di testo quando qualcosa sembra sbagliato. In ogni caso, copia l'archivio in un secondo luogo prima di qualsiasi pulizia e mantieni la copia per un trimestre intero prima di eliminare qualsiasi cosa.

Quando un file è sufficiente

Una tabella con una colonna giorno copre un singolo sito per anni. Il file rimane piccolo e le query in questa pagina non richiedono regolazioni.

Quando passare a un server

Una volta che diverse persone scrivono nella stessa cronologia, un file su una macchina diventa il collo di bottiglia. A quel punto un database gestito è la scelta onesta e lo schema rimane lo stesso.

Fino ad allora, un file nel repo è la cosa più semplice che sopravvive a un cambio di laptop.

Collegare la differenza a un lavoro settimanale

Esegui diff.py subito dopo il passaggio dello snapshot. Stampa i conteggi ed esci con un codice non zero quando new supera un limite che hai scelto, ad esempio 200 in una settimana per un sito piccolo. Il lavoro diventa rosso e GitHub ti invia un'email. Semplice.

Scegli il limite dalla tua cronologia. Dopo due mesi sai se 15 nuovi domini a settimana sono normali o un picco, e qualsiasi numero fisso copiato da un post di blog è un'ipotesi.

Le settimane tranquille sono la norma.

Domande sui link scadenti, risposte chiare

Esiste un verificatore di backlink scadenti affidabile?
Nessuno strumento può etichettare un link dannoso con certezza, perché solo Google sa come lo tratta ciascuno. Uno script può evidenziare modelli degni di lettura: valanghe improvvise, anchor esatti ripetuti, TLD strani. Fai tu la chiamata dopo aver aperto le pagine.
Dovrei disavoware ciò che la differenza segnala?
Raramente. Google ha detto che ignora in gran parte i link spam e un file disavow è destinato a casi come un'azione manuale o un disordine di link a pagamento che hai creato tu stesso. Documenta prima e controlla Search Console prima di inviare qualsiasi cosa.
Con quale frequenza dovrei eseguirlo?
Snapshot settimanale, revisione mensile. L'aggiornamento dell'indice avviene circa una volta al mese, quindi una differenza giornaliana confronta principalmente una tabella con se stessa. Una revisione mensile corrisponde ai dati e mantiene il rumore basso.
Quali colonne dovrebbe mantenere la tabella?
Tieni il giorno, il dominio, il DR e una colonna di origine. Aggiungi l'anchor solo se estrai anche gli anchor. Più colonne sembrano complete, ma ogni campo extra è un altro che può divergere tra le esecuzioni.
Posso fare la differenza tra due suite?
Puoi confrontare i loro conteggi per lo stesso sito, ma i due risultati non corrisponderanno. Esegui la differenza all'interno di una singola fonte e confronta la direzione del cambiamento tra le fonti, la stessa regola che si applica ovunque su questo sito.
Cosa succede se un dominio se ne va e poi torna il mese successivo?
Viene mostrato come sparito e poi come nuovo, che è rumore. Conta i ritorni separatamente, o confronta tre mesi alla volta, così un dominio che esce per un aggiornamento non innesca una revisione.