Narzędzie do sprawdzania złych linków zwrotnych: porównanie zrzutów w SQLite
Żaden skrypt nie może oznaczyć linku jako toksycznego dla Ciebie. Może jednak wskazać, które domeny odsyłające są nowe, które zniknęły i które wyglądają na podejrzane na tyle, by przejrzeć je ręcznie.
Zespół redakcyjny Linkzoid ·
Tabela ważności dla nowych domen odsyłających
Nasze własne zasady heurystyczne do kwalifikacji, a nie definicja Google
Poziom
Sygnał
Działanie
Ignoruj
Nowa domena, DR powyżej 30, kotwica to Twoja marka lub czysty URL
Zaloguj i przejdź dalej
Spójrz uważnie
50 lub więcej nowych domen w tygodniu z jednej domeny najwyższego poziomu (TLD), której nie celowałeś
Otwórz dziesięć z nich
Spójrz bardzo uważnie
Ta sama kotwica dokładnie pasująca do frazy na 20 lub więcej nowych domenach
Sprawdź chmurę kotwic, znajdź źródło
Działaj
Sieć wyglądająca na płatną lub zainfekowane strony wskazujące na Ciebie
Dokumentuj; rozważ plik disavow tylko jeśli masz również karę ręczną
Poczekaj
Domena zniknęła w tym miesiącu
Sprawdź ponownie po kolejnym miesięcznym odświeżeniu
Dlaczego różnica (diff), a nie jednorazowe skanowanie
Pojedynczy zrzut mówi Ci, co jest obecne. Różnica (diff) mówi Ci, co się zmieniło, a to właśnie tam pojawiają się problemy.
Google mówiło od lat, od premiery Penguin 4.0 we wrześniu 2016 roku oraz ponownie w grudniowej aktualizacji spamu linkowego w 2022 roku, że głównie ignoruje spamowe linki, a nie karze za nie. SpamBrain wykonuje tę pracę. Zalew śmieciów to więc częściej hałas niż zagrożenie, a różnica (diff) oszczędza Ci głównie przed reagowaniem na hałas.
Buduj własną historię. Pakiety nadpisują swoje.
Zbuduj tabelę historii w czterech krokach
Różnica (diff) zadziała tylko wtedy, gdy każde uruchomienie trafi do tej samej tabeli, w tym samym kształcie. Te kroki to zapewniają.
01
Utwórz tabelę raz
Uruchom instrukcję create-if-not-exists z kolumnami, których potrzebujesz: dzień, domena i wynik. Zostaw to w skrypcie, aby nowy komputer mógł odtworzyć tę samą tabelę bez ręcznego kroku.
02
Wstaw jeden wiersz na domenę na dzień
Użyj zparametryzowanego wstawienia i zatwierdź raz na uruchomienie. Pojedyncze zatwierdzenie zapobiega pozostawieniu połowy dnia w pliku w przypadku awarii.
03
Chroń przed drugim uruchomieniem
Usuń wiersze z danego dnia przed wstawieniem lub dodaj klucz unikalny dla dnia i domeny. Ponowne uruchomienie w tym samym dniu zastąpi wtedy wiersze, zamiast je podwajać.
04
Porównaj z poprzednim dniem na dysku
Wybierz najwcześniejszą datę z filtrem max(day), a nie wczorajszą datę. Porównanie pozostanie poprawne, gdy tydzień zostanie pominięty.
diff.py
Dwie tabele byłyby bardziej uporządkowane. Jedna wystarczy do konfiguracji hobbystycznej: wiersz na domenę na datę zrzutu.
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')
Próg skopiowany z posta na blogu to zgadnięcie dotyczące czyjejś innej strony. Narzędzie do sprawdzania złych linków jest tak użyteczne, jak jego limity, a Twoja własna historia mówi Ci, jak wygląda norma dla Twojej domeny.
Zacznij od logowania przez kilka miesięcy bez podejmowania działań. Pozwól się ustabilizować. Następnie zapisz typowe wahania tygodniowe. Dopiero potem ustaw limity w tabeli ważności.
Zacznij od punktu odniesienia
Zapisuj liczbę nowych i znikniętych domen w każdym uruchomieniu bez reagowania na nie. Kilka miesięcy cichego logowania daje Ci zakres, który należy do Twojej domeny i nikogo innego.
Gdy punkt odniesienia istnieje, jeden zły tydzień rzuca się w oczy na jego tle, a różnicę możesz wyjaśnić bez zgadywania. W tym właśnie polega sens punktu odniesienia.
Wybierz jeden alarm na sygnał
Każdy sygnał w tabeli otrzymuje jeden próg, jednego właściciela i jedno działanie. Sygnał z trzema alarmami to sygnał, którego nikt nie czyta, a alarmy kończą się ignorowane razem.
Napisz alarm obok jego sygnału w kodzie, aby tabela na tej stronie i skrypt nigdy się nie różniły.
Przejrzyj limity co kwartał
Twoja strona rośnie, a wraz z nią rośnie jej norma. Sprawdzaj limity co trzy miesiące i zapisuj powód obok każdej zmiany, aby historia sama się wyjaśniała później.
Czytanie tabeli ważności w praktyce
Tabela to narzędzie do kwalifikacji, a nie wyrok. Każdy wiersz mówi Ci, gdzie szukać, a kolumna działania chroni Cię przed sięganiem po plik disavow w panice.
Pracuj od góry. Większość tygodni kończy się na Ignoruj lub Spójrz. Wiersz Spójrz zaczyna kilka minut czytania, a wiersz Spójrz bardzo uważnie zaczyna dłuższą recenzję kotwic. Nie pomijaj wierszy, ponieważ tydzień był busy. Pominięty wiersz to tydzień, w którym powódka pozostaje niezauważona.
Próbuj przed podjęciem decyzji
Otwórz dziesięć oznaczonych domen i przeczytaj strony. Zalew, który okazuje się być jednym skanerem katalogów, to inny problem niż zalew niepowiązanych blogów, a tylko strony pozwalają je rozróżnić.
Zapisz, co zdecydowałeś
Zachowaj jeden wiersz na decyzję: domena, poziom, co sprawdziłeś i co zrobiłeś. Następna osoba czytająca dziennik, w tym Ty w przyszłości, otrzyma uzasadnienie bez spotkania.
Miesięczne podsumowanie tych wierszy zajmuje mało czasu i stanowi dobry pierwszy szkic przeglądu.
Czego to nie może Ci powiedzieć
Nie może udowodnić, że link Ci szkodzi. Nikt poza Google nie może tego zrobić, a jedyne miejsce, w którym stwierdzona jest kara, to raport kar ręcznych w Search Console.
Nie widzi również linków młodszych niż ostatnie odświeżenie. Po świeższe dowody zapytaj osoby zarządzające stroną odsyłającą lub przeczytaj logi serwera pod kątem referrerów. Nasz notatka o czasie idzie głębiej.
Jeśli chcesz stronę kotwic, anchor_cloud kosztuje 2 kredyty i grupuje tekst według częstotliwości, co jest najszybszym sposobem na wykrycie skupiska dokładnie pasujących fraz.
Linki pojawiające się między odświeżeniami
Wszystko, co młodsze niż ostatnie odświeżenie, brakuje po obu stronach różnicy (diff). Link, który pojawia się i znika wewnątrz jednego okna odświeżenia, w ogóle się nie pokazuje, dlatego porównanie powinno być przeprowadzane miesięcznie.
Kotwice, które wydają Ci się nieprawidłowe
Różnica (diff) widzi domenę, nie zdanie wokół linku. Dwie identyczne kotwice na dwóch różnych stronach mogą oznaczać bardzo różne rzeczy, więc traktuj sprawdzanie kotwic jako osobny krok ręczny.
Wybory dotyczące przechowywania dla konfiguracji hobbystycznej
SQLite to najprostsza baza danych, która nadal odpowiada na pytanie różnicy (diff) jednym zapytaniem. Żyje w jednym pliku, więc mieści się w repozytorium lub folderze kopii zapasowej bez serwera.
Pliki JSON z datą też działają. Wolniej się je zapytuje, ale łatwiej otworzyć w edytorze tekstu, gdy coś wygląda źle. W każdym razie skopiuj magazyn do drugiego miejsca przed jakimkolwiek czyszczeniem i zachowaj kopię przez pełny kwartał przed usunięciem czegokolwiek.
Kiedy jeden plik wystarczy
Jedna tabela z kolumną dnia obejmuje pojedynczą stronę przez lata. Plik pozostaje mały, a zapytania na tej stronie nie wymagają dostrajania.
Kiedy przenieść się do serwera
Gdy kilka osób zapisuje do tej samej historii, plik na jednej maszynie staje się wąskim gardłem. W tym momencie zarządzana baza danych jest uczciwym wyborem, a schemat pozostaje ten sam.
Do tego czasu plik w repozytorium to najprostsza rzecz, która przetrwa zmianę laptopa.
Podłączenie różnicy (diff) do zadania tygodniowego
Uruchom diff.py tuż po kroku zrzutu. Wypisz liczby i zakończ kodem niezerowym, gdy new przekroczy limit, który wybrałeś, powiedzmy 200 w tygodniu dla małej strony. Zadanie stanie się czerwone, a GitHub wyśle Ci e-mail. Proste.
Wybierz limit na podstawie własnej historii. Po dwóch miesiącach wiesz, czy 15 nowych domen w tygodniu to norma, czy spike, a dowolna stała liczba skopiowana z posta na blogu to zgadywanie.
Ciche tygodnie to norma.
Pytania o złe linki, odpowiedziane prosto
Czy istnieje niezawodne narzędzie do sprawdzania złych linków zwrotnych?
Żadne narzędzie nie może z pewnością oznaczyć linku jako szkodnego, ponieważ tylko Google wie, jak traktuje każdy z nich. Skrypt może ujawnić wzorce warte przeczytanie: nagłe zalewy, powtarzające się dokładnie pasujące kotwice, dziwne domeny TLD. Ty podejmujesz decyzję po otwarciu stron.
Czy powinienem disavowować to, co oznaczy różnica (diff)?
Rzadko. Google powiedziało, że w dużej mierze ignoruje linki spamowe, a plik disavow jest przeznaczony na przypadki takie jak kara ręczna lub bałagan z linkami płatnymi, który sam stworzyłeś. Najpierw zdokumentuj, a następnie sprawdź Search Console przed przesłaniem czegokolwiek.
Jak często powinienem go uruchamiać?
Zrzut co tydzień, przegląd miesięczny. Indeks odświeża się około raz w miesiącu, więc dzienna różnica (diff) porównuje głównie tabelę samą ze sobą. Przegląd miesięczny pasuje do danych i zmniejsza hałas.
Które kolumny powinna zachować tabela?
Zachowaj dzień, domenę, DR i kolumnę źródła. Dodaj kotwicę tylko jeśli pobierasz też kotwice. Więcej kolumn wydaje się dokładnych, ale każde dodatkowe pole to kolejne, które może ulec rozjechaniu między uruchomieniami.
Czy mogę porównać ze sobą dwa pakiety?
Możesz porównać ich liczby dla tej samej strony, ale wyniki nie będą się zgadzać. Uruchom różnicę (diff) w ramach jednego źródła i porównaj kierunek zmian między źródłami, ta sama zasada, która obowiązuje wszędzie na tej stronie.
Co jeśli domena odejdzie, a następnie wróci w następnym miesiącu?
Pokaże się jako zniknięta, a następnie jako nowa, co jest hałasem. Licz powroty osobno lub porównuj trzy miesiące naraz, aby domena, która wypada na jedno odświeżenie, nie wywołała przeglądu.