Gryffin Forge
AutomatyzacjaJakość danychArchitektura

Dlaczego „nie znaleziono strony” zwykle jest błędem

Wnioski z budowy systemu sprawdzającego, czy firma ma działającą stronę: zablokowane wyszukiwania, ochrona przed botami i projektowanie dla „nieznane”.

3 min czytaniaGryffin Forge

Sprawdzenie, czy firma ma stronę, wydaje się banalne: wyszukaj nazwę i zobacz, czy pojawi się witryna. Zbudowanie narzędzia, które robi to automatycznie, na dużą skalę i dokładnie, nauczyło mnie o jakości danych więcej niż jakakolwiek inna część tego projektu.

Wersja pierwsza: pewna siebie i błędna

Pierwsza wersja szukała nazwy i okolicy firmy. Jeśli w wynikach nie pojawiła się prawdopodobna strona, oznaczała firmę jako bez strony. Wyszła długa lista firm rzekomo bez stron.

Gdy sprawdziłem próbkę ręcznie, większość z nich miała całkiem dobre strony.

Dostawca wyszukiwania zwrócił słabe wyniki, nazwa była ogólna albo strona po prostu nie była dobrze zaindeksowana. Narzędzie zamieniło nie znalazłem na nie istnieje — najczęstszy błąd w automatycznym researchu.

Model danych, który umie powiedzieć „nieznane”

Poprawka zaczęła się od modelu danych, nie od kodu. Obecność firmy w sieci ma teraz cztery stany:

  • Ma stronę — znaleziona i osiągalna.
  • Słaba strona — osiągalna, ale bez podstaw (wersji mobilnej, kontaktu, HTTPS).
  • Zepsuta — na pewno nie działa.
  • Nieznane — za mało dowodów w którąkolwiek stronę.

„Bez strony” przypisuje się tylko, gdy potwierdzi to wiarygodne, autorytatywne źródło. Brak wyniku wyszukiwania nigdy tego nie powoduje.

Wiele niezależnych sygnałów

Zamiast jednego wyszukiwania system łączy teraz:

  1. Serwerowe źródło wyszukiwania dla nazwy i okolicy.
  2. Kandydatów domen generowanych z nazwy (fadedistrict.co.uk, fade-district.com…) i sprawdzanych bezpośrednio.
  3. Skan strony dla każdego kandydata z kilkoma wariantami adresu.

Zgadywanie domen okazało się zaskakująco skuteczne. Jeden dostawca całkowicie blokował ruch z serwerów, inny zwracał nietrafione wyniki; samo sprawdzenie oczywistych domen znalazło strony pominięte przez wyszukiwarki.

„Zepsuta” też wymaga wysokiej poprzeczki

Potem pojawił się problem odwrotny: strony oznaczone jako zepsute, które w przeglądarce działały normalnie. Przyczyny:

  • Strony ochrony przed botami zwracające 403 lub wyzwanie.
  • Działające www przy niedziałającej gołej domenie lub odwrotnie.
  • Wolne serwery przekraczające krótki limit czasu.

Teraz strona jest zepsuta tylko po błędzie DNS lub twardym 404/410 na każdym wariancie adresu. Strony ochrony liczą się jako działające. Przekroczony czas to „nieznane”.

Dowody obok werdyktu

Każdy werdykt zapisuje, co znaleziono: pasującą domenę, kody odpowiedzi dla wariantów, tytuł strony i odkryte zdjęcia. Gdy ktoś kwestionuje wynik, odpowiedź jest na ekranie w kilka sekund. To zmieniło narzędzie z czegoś, w co się wątpi, w coś, czemu się ufa.

Szanuj sprawdzane strony

Automatyczny sprawdzacz to wciąż gość. Przedstawia się, używa krótkich limitów czasu, pobiera tylko to, czego potrzebuje, i nigdy nie obciąża serwera. Zdjęcia znalezione podczas skanu przechodzą przez endpoint, który przyjmuje tylko obrazy poniżej limitu rozmiaru i odrzuca adresy sieci prywatnych — podstawowa ochrona przed nadużyciem.

Co da się uogólnić

  • Brak dowodu nie jest dowodem braku. Wbuduj „nieznane” od pierwszego dnia.
  • Łącz niezależne sygnały zamiast ufać jednemu.
  • Ustaw asymetryczne progi: im droższa błędna etykieta, tym więcej dowodów wymaga.
  • Zapisuj dowody obok każdej automatycznej decyzji.
  • Zainwestuj w jeden wiarygodny sygnał, zanim dodasz wiele słabych.

Architektura jest opisana dokładniej w case study weryfikacji obecności w sieci.