172 tysiące wizyt w dobę. Ani jedna nie była człowiekiem
W ciągu jednej doby nasz serwis dostał 173 821 żądań.
Brzmi jak sukces. Przez moment wyglądał jak sukces.
Potem sprawdziłem, kto to był.
171 855 z nich — 98,9 procent — wygenerował jeden robot: meta-webindexer, należący do Mety. Nie zgaduję po nazwie, którą sam sobie wpisuje w nagłówku — adresy, z których przychodził, należą do bloku 57.141.0.0 – 57.149.255.255, zarejestrowanego na Meta Platforms Ireland.
Ludzi tego dnia była garstka.
Sto siedemdziesiąt tysięcy pukań w zamknięte drzwi
Najciekawsze jest to, co ten robot robił.
Prowadzimy serwis, który udostępnia dane o firmach z rejestrów publicznych. Są w nim setki tysięcy stron z konkretną treścią — dokładnie tych, dla których cała ta maszyna istnieje i które chętnie oddajemy każdej wyszukiwarce.
Robot nie zaglądał do nich prawie wcale. Przez całą dobę uderzał w trzy adresy:
- formularz rejestracji — 133 tysiące razy,
- ekran wejścia dla osób, które nie mają jeszcze hasła — 30 tysięcy,
- ekran logowania — 8,6 tysiąca.
Czyli: w drzwi. Zamknięte. Bez przerwy, mniej więcej dwa razy na sekundę.
I teraz rzecz, która mówi wszystko. Rozbiłem tę dobę na godziny. Najsłabsza godzina: 7 073 żądania. Najmocniejsza: 7 194. Wszystkie dwadzieścia cztery mieszczą się w przedziale niecałych dwóch procent — trzecia w nocy wygląda identycznie jak wtorkowe południe.
Żaden ruch złożony z ludzi tak nie wygląda. To jest podpis maszyny.
A za tymi drzwiami nie ma nawet czego zbierać. Jest formularz, który bez wpisanych danych nie robi nic.
robots.txt to prośba, a nie zamek w drzwiach
Na każdej stronie internetowej leży plik o nazwie robots.txt. Można go obejrzeć — wystarczy dopisać tę nazwę do adresu dowolnej strony. To lista życzeń wobec robotów: tutaj wchodź, tutaj nie.
Kluczowe słowo: życzeń. W tym pliku nie ma ani grama przymusu. To kartka przypięta do drzwi.
Nasz plik od dawna zabraniał wszystkim robotom dokładnie tych adresów. Wymieniał je z nazwy. Blokował też dwa roboty Mety, o których wiedzieliśmy: meta-externalagent i meta-externalfetcher.
Ten przyszedł pod trzecią nazwą, której na liście nie było — ale regułą ogólną, tą dla wszystkich, był objęty tak samo jak każdy inny. Po prostu ją zignorował.
I to jest cała historia w jednym zdaniu: jedyną karą za złamanie tej umowy jest brak kary.
Dlaczego umowa między stronami a robotami rozpadła się właśnie teraz
Przez dwadzieścia lat obowiązywał układ, który opłacał się obu stronom. Robot brał treść, wyszukiwarka pokazywała ją ludziom, ludzie przychodzili na stronę. Wymiana: dostęp za odwiedzających.
Dziś treść coraz częściej idzie na paszę dla modeli sztucznej inteligencji. Wsiąka i nie wraca — odpowiedź dostaje użytkownik czatu, nie ty. Apetyt urósł, rewanż zniknął.
Zmieniła się nie technologia, tylko układ sił. A dopóki po drugiej stronie stoi wyłącznie kartka z uprzejmą prośbą, wynik tej rozgrywki jest z góry znany.
Cztery powody, dla których ruch botów kosztuje więcej, niż myślisz
Oczywisty jest tylko pierwszy.
1. Płacisz za każde pukanie. Każde żądanie zajmuje moc serwera, pamięć i zapytanie do bazy danych. Albo płacisz abonamentem za mocniejszy serwer, albo płacisz tym, że strona zwalnia. Ten konkretny gość nie kupił nic i nie kupi.
2. Twoje liczby zaczynają kłamać. Gdybym patrzył wyłącznie na „ruch”, pochwaliłbym się wzrostem. Sto siedemdziesiąt tysięcy wizyt! Statystyka rosła, biznes stał w miejscu. Najgorsze wskaźniki to nie te złe — to te, które wyglądają dobrze. Pisałem o tym z innej strony, opisując system, który przez pięć dni meldował „gotowe”, choć praca stała zamrożona.
3. Hałas przykrywa to, co ważne. Tego samego tygodnia jedna realna osoba miała poważny problem z dostaniem się do swojego konta. To była jedyna rzecz z tamtej doby, która miała znaczenie dla firmy — i jedno zdarzenie na sto siedemdziesiąt tysięcy zapisów w dzienniku serwera. Kropla, którą normalnie przewija się bez zatrzymania. Gdy 98,9 procent tego, co widzisz, jest szumem, przestajesz widzieć cokolwiek. Nie dlatego, że nie patrzysz — dlatego, że nie ma jak.
4. Prawdziwi ludzie czekają dłużej. Serwer obsługuje ograniczoną liczbę żądań naraz. Każde zajęte przez robota to ułamek sekundy dłużej dla kogoś, kto akurat sprawdza kontrahenta przed przelewem.
Odmowa zamiast prośby, czyli co zmieniło jedno ustawienie
Przestaliśmy prosić.
Ten robot dostaje teraz krótką, twardą odmowę zaraz na wejściu — zanim jego żądanie w ogóle dotknie właściwej aplikacji i bazy danych. Odmowa kosztuje ułamek tego, co kosztowała obsługa.
Kwadrans po zmianie w dzienniku serwera nie było już ani jednego jego żądania. Ruch spadł do tego, czym naprawdę jest: kilkuset zapytań na godzinę.
Zaznaczę wyraźnie: to nie jest blokada dla wyszukiwarek. Roboty, które odsyłają nam odwiedzających, mają wstęp taki jak miały. Odmowę dostał ten, który tylko brał — wbrew temu, o co go poproszono.
Dziesięciominutowy test dla własnej strony
Jeśli masz stronę firmową, sklep albo blog, dzieje się u ciebie to samo. Różnica jest taka, że prawdopodobnie o tym nie wiesz — i nie z własnej winy.
Licznik odwiedzin wklejony w kod strony botów nie liczy. Widzi tylko przeglądarki ludzi. Dlatego można mieć na karku setki tysięcy żądań dziennie i „500 użytkowników miesięcznie” na wykresie. Wszystko się zgadza i nic się nie zgadza.
Cztery rzeczy do sprawdzenia:
- Poproś hostingodawcę o liczbę żądań do twojej strony na dobę — nie o odwiedziny, o żądania. Zestaw ją z liczbą z licznika odwiedzin. Różnica to twoi niewidzialni goście.
- Wpisz w przeglądarce
twojafirma.pl/robots.txt. Jeśli nic się nie pokaże, nie masz nawet kartki na drzwiach. To pierwszy i darmowy krok — część robotów jednak jej słucha. - Sprawdź, czy strona nie zwalnia regularnie o stałych porach. Równy rytm to podpis maszyny. Ludzie tak nie chodzą.
- Jeśli masz sklep albo wyszukiwarkę na stronie, sprawdź, czy roboty nie wchodzą w koszyk i w wyniki wyszukiwania. Te adresy potrafią rozmnożyć się w tysiące.
Nie chodzi o to, żeby nienawidzić robotów
Bez nich nie byłoby wyszukiwarek, a bez wyszukiwarek połowa małych firm nie miałaby skąd wziąć klientów.
Chodzi o coś prostszego: żeby wiedzieć, za czyj obiad się płaci.
Bo rachunek przychodzi zawsze — tyle że pod nazwą „trzeba mocniejszy serwer”, „strona jakoś wolno chodzi” albo „mało tych zapytań, a wykres przecież rośnie”.
Masz pytanie — albo podobny problem u siebie?
Napisz do mnie. Odpowiadam osobiście, bez automatu. A jeśli wolisz porozmawiać — umów bezpłatną konsultację.