Zobacz, które roboty AI naprawdę czytają Twoją stronę, i którą jej wersję dostały

Czy ChatGPT czyta Twoje strony i którą wersję pobrał jego robot wyszukiwarkowy? Knock, knock, AI! czyta log Twojego serwera WWW i pokazuje, które roboty AI (ChatGPT, Claude, Perplexity, Google i inne) pobrały które strony.

Coś jak Search Console, tylko dla robotów AI.

Linia logu zawiera nazwę robota, adres IP i rozmiar odpowiedzi. Aplikacja porównuje adres z listą, którą publikuje dostawca robota, a wersje stron wylicza z rozmiarów. Wszystko działa na Twoim serwerze, na Twoich logach.

Za darmo. Jeden folder PHP, PHP 8.2 lub nowszy, bez bazy danych. Dla właścicieli stron, specjalistów SEO i agencji.

Co mówi każdy widok

Panel otwiera się w przeglądarce, za hasłem. Jego menu ma sześć widoków, a każdy odpowiada na jedno pytanie.

Wizyty:
które roboty czytają które strony. Zakładka "Roboty" rysuje linię dla każdego robota, na początku pięciu z największą liczbą wizyt.
Dostęp:
czy roboty mają wstęp do Twojej strony głównej.
Aktualność:
Knock Score i to, jak aktualny dla robotów jest cały serwis.
Ruch z AI (beta):
ilu ludzi przychodzi z odpowiedzi AI, z wykresem, stronami i listą wejść.
Strony:
jak wygląda każda strona z Twojej sitemap, z aktualnością, filtrami, grupami i pobieraniem CSV.
Błędy:
które adresy zwracają robotom błąd i jak to naprawić.
Strona:
czy roboty mają aktualną wersję jednej strony. Nie ma pozycji w menu: otwierasz ją z pola adresu albo z wiersza w Stronach.

Ruch z AI jest w wersji beta. Liczy wejścia ludzi z odpowiedzi ChatGPT, Perplexity, Gemini, Copilota, Claude i innych, po utm_source albo źródle wejścia, i zbiera od dnia instalacji.

Wpisz dowolny adres w pole "sprawdź dowolny URL" w górnym pasku, a otworzy się dla niego widok Strona. Widok jest w adresie po #, więc link otwiera ten sam widok. Listę ze Stron pobierzesz jako CSV, który poprawnie otwiera się w Excelu.

Aplikacja czyta logi Apache i nginx, zwykłe i gzip, a format rozpoznaje sama. Interfejs jest po polsku i po angielsku.

Widok Strona w panelu dla adinspire.com: ile robotów AI ma starą wersję strony głównej, kiedy strona się ostatnio zmieniła, który robot jest najbardziej w tyle i oś czasu, kto ma którą wersję.
Strona, adinspire.com

Zobacz panel na żywo

Demo to prawdziwy panel tej strony, knockknock-ai.app, z danymi z jej własnych logów serwera. Otwiera się bez logowania i działa tylko do podglądu: niczego w nim nie zmienisz.

Wgraj, załóż konto, ustaw przeliczanie

  1. Wgraj folder. Wrzuć folder aplikacji na serwer swojej domeny i otwórz jego adres. Folder z danymi, zamknięty przed internetem, aplikacja utworzy sama.
  2. Załóż konto. Masz na to 60 minut od pierwszego otwarcia. Wybierz login, hasło o długości co najmniej 12 znaków i język.
  3. Dodaj zadanie cron albo wybierz pracę bez crona. Cron Twojego hostingu wywołuje adres aplikacji. Gdy aplikacja nie może sama czytać logu, cron kopiuje go też do folderu aplikacji. Skrypt aplikacja zapisuje sama i pokazuje, co wpisać w panelu hostingu. Hosting bez crona? Wybierz "Bez crona" i przeliczaj dane przyciskiem "Przelicz teraz".

Przeprowadzi Cię przez to siedem kroków w przeglądarce (bez crona albo przy wgrywaniu plików logów sześć): Konto, Serwer, Logi, Cron, Sprawdzenie, Harmonogram, Domeny. Aplikacja najpierw próbuje czytać Twój log bezpośrednio. Gdy hosting jej na to nie pozwala, log kopiuje cron albo aplikacja pobiera go przez SFTP lub FTP, albo pobierasz pliki logów z panelu hostingu i wgrywasz je w aplikacji ręcznie. Masz tylko klienta FTP? Instrukcja ma osobną ścieżkę instalacji przez FTP. Według dokumentacji zajmie to kilkanaście minut.

Potem panel odświeża się po każdym przeliczeniu, zwykle dwa razy dziennie z crona. Docelowy harmonogram to 6:17 i 18:17 każdego dnia. Chcesz przeliczyć ręcznie? Kliknij "Przelicz teraz". Bez crona dane liczą się tylko po tym kliknięciu, więc przeliczaj je co najmniej raz w tygodniu. Dopóki nie pojawi się pierwsza wizyta robota, stroną główną jest strona stanu.

Prawdziwy robot czy tylko nazwa?

Wizyta przedstawia się nazwą w User-Agencie, a aplikacja rozpoznaje robota po tokenie w tej nazwie. User-Agent mówi tylko, jak wizyta sama siebie nazywa.

Dlatego aplikacja porównuje adres IP wizyty z listą, którą publikuje dostawca robota. Każda wizyta trafia do jednego z trzech stanów:

  • Potwierdzoneadres IP jest na liście dostawcy.
  • Niepotwierdzonenie ma go na liście. Możliwa podróbka.
  • Bez listydostawca nie publikuje użytecznej listy, więc nie ma z czym porównać.

Listy aplikacja pobiera najwyżej raz dziennie i nie wysyła zapytań DNS. Dla jedenastu robotów, między innymi Amazonbota i Bytespidera, żadna lista dziś nie istnieje.

Czy robot ma Twoją aktualną wersję?

Aktualność odpowiada na jedno pytanie: czy robot przeczytał obecną wersję strony, czy starszą? Widok Strona pokazuje to dla jednej strony, Strony jako pasek przy każdej stronie, a widok Aktualność podsumowuje to dla całego serwisu. Dla każdego robota na stronie panel pokazuje jeden z trzech stanów: aktualna, starsza ("N wersji wstecz" albo "przed pomiarem") lub brak potwierdzonego odczytu. Gdy nie umie tego ustalić, mówi to wprost.

Dla robota, który został w tyle, panel pokazuje, co zmieniło się od jego odczytu: ile słów dodano i usunięto oraz zmienione wiersze (do 40 wierszy po 300 znaków). Progu "drobnej zmiany" nie ma.

Aplikacja nie ma pewności co do wersji i mówi to otwarcie. Wersje biorą się z rozmiarów odpowiedzi w logu. Na stronie statycznej, której pliki leżą w folderze nad aplikacją, także z tekstów stron. Bez tekstów dwie wersje o tym samym rozmiarze wyglądają tak samo. WordPress i inne strony dynamiczne nie mają tekstów, więc ich wersje wynikają wyłącznie z rozmiarów. Gdy wersje nie tłumaczą odpowiedzi dla danej strony, panel oznacza ją jako niestabilną i nie liczy dla niej aktualności. Nową wersję strony aplikacja poznaje dopiero przy pierwszej odpowiedzi na nią, więc aktualność spóźnia się za Twoją zmianą.

Panel pokazuje najnowszą wersję, jaką pobrał ten robot, a nie to, co wie model.

Czy roboty w ogóle mogą wejść?

Zakładka Dostęp sprawdza Twoją stronę główną przez api.adinspire.com. Czyta, co mówi robots.txt, robi test z nazwami robotów i szuka strony w Common Crawl. Common Crawl jest sprawdzany tylko dla domeny głównej instalacji: darmowa wersja sprawdza stronę główną i do 19 najczęściej odwiedzanych stron, razem 20 adresów. Sprawdzenie trwa zwykle od 10 do 20 sekund. Masz 3 sprawdzenia dostępu dziennie na instalację.

Te dwa sprawdzenia potrzebują usługi api.adinspire.com, tak samo jak sprawdzanie aktualizacji. Cała reszta aplikacji działa bez niej.

Knock Score w jednym akapicie

Knock Score to liczba od 0 do 100: dla ilu Twoich stron każda platforma AI pobrała aktualną wersję. Liczy się tylko robot wyszukiwarkowy platformy, nie jej robot użytkownika ani treningowy. Liczba mierzy pobieranie przez roboty. Pobranie nie gwarantuje, że strona zostanie użyta, a wynik nic nie mówi o tym, co model wie ani co odpowie.

Czego aplikacja nie zobaczy

Log zawiera tylko to, co dotarło do Twojego serwera, więc część rzeczy zostaje poza zasięgiem.

  • Blokady w Cloudflare i odpowiedzi z cache nie docierają do Twojego serwera, więc nie ma ich w logu.
  • Wiele serwerów trzyma logi około 7 dni. Wizyta, która zniknęła z logu, zanim aplikacja go odczytała (cron go skopiował albo kliknąłeś "Przelicz teraz"), nie wróci.
  • Nagłówki warunkowe (If-Modified-Since, If-None-Match) pozostają niewidoczne. Widać tylko ich skutek, czyli kod 304.
  • Jeśli serwer zapisuje w logu adres proxy (na przykład CDN) zamiast adresu odwiedzającego, prawdziwe roboty wyglądają na niepotwierdzone.
  • Gdy najstarsza linia logu jest nowsza niż najnowsza widziana wcześniej, strona stanu wskazuje okres, w którym mogły przepaść wizyty.

Twoje dane zostają na Twoim serwerze

Wizyty, ustawienia i panel leżą w folderze danych o losowej nazwie na Twoim serwerze. Aplikacja zamyka ten folder przed internetem. Gdy aplikacja kopiuje albo pobiera Twoje logi albo wgrywasz pliki logów, leżą w nim ich kopie z adresami IP (przy odczycie bezpośrednim nie ma żadnej). Wgrany plik jest usuwany 14 dni po tym, jak aplikacja przeczytała go do końca. Są w nim też zapisane wizyty robotów z IP, User-Agentem i refererem. Ludzie nie są zapisywani jako wizyty robotów. Pliki panelu nie mają pól ip, user_agent ani referer.

Jeden wyjątek: funkcja w wersji beta Ruch z AI zapisuje wejścia ludzi z odpowiedzi AI. Trzyma czas, adres strony bez parametrów, platformę i ślad, który pasował, bez adresu IP i bez User-Agenta.

Do api.adinspire.com wychodzi: adres Twojej strony głównej, do 19 innych adresów do sprawdzenia w Common Crawl, język panelu i identyfikator instalacji. Sprawdzanie nowej wersji wysyła numer wersji aplikacji, identyfikator instalacji i domenę Twojej strony (domenę wyłączysz na ekranie Aktualizacje) i działa tylko na adresie publicznym. Z Twoich logów nie wychodzi nic: ani adresy IP odwiedzających, ani User-Agenty.

Aplikacja trzyma zapisane wizyty robotów 13 miesięcy. Raz na dobę sama usuwa pliki wizyt starsze niż 13 miesięcy kalendarzowych, także w folderach innych domen.

Za darmo. Czego potrzebujesz

Za darmo. Knock, knock, AI! możesz instalować i używać na własnych stronach oraz na stronach swoich klientów, na licencji Free Use Licence. Nie wolno jej sprzedawać, rozpowszechniać w zmienionej wersji ani wydawać pod inną nazwą. Planowana jest wersja PRO. Polskie tłumaczenie licencji jest tylko pomocnicze: gdy teksty się różnią, obowiązuje tekst angielski.

Potrzebujesz:

  • PHP 8.2 lub nowszego, z rozszerzeniami json, hash, zlib, session i pcre
  • prawa zapisu w folderze aplikacji
  • najlepiej crona w panelu hostingu (aplikacja go nie ustawia, tylko pokazuje, co wpisać); bez crona też się da, a dane liczysz wtedy przyciskiem "Przelicz teraz"
  • dostępu do pliku z logiem dostępu serwera (aplikacja czyta go bezpośrednio, albo cron go kopiuje, albo aplikacja pobiera go przez SFTP lub FTP), albo pliki logów, które pobierasz z panelu hostingu i wgrywasz ręcznie

Zalecane jest HTTPS pod adresem aplikacji, bo przez zwykły http hasło do panelu idzie otwartym tekstem.

Krok Cron podaje gotowe wartości dla lh.pl, cPanel, DirectAdmin i innych hostingów (linia crontaba).

Kto za tym stoi

Autorem jest Maciej Chmurkowski. Wydawcą jest Adinspire. Napisz na [email protected].

Zobacz, kto czyta Twoją stronę

Darmowa aplikacja PHP w jednym folderze na Twoim serwerze. Pokazuje, które roboty AI czytają Twoje strony, na podstawie Twoich własnych logów. Wgraj folder, przejdź siedem kroków i poczekaj na pierwszą wizytę robota.