W skrócie
To nie jest projekt kliencki ani produkt, na który da się zapisać. Działa dla moich stron i garstki bliskich mi osób, a powstał dlatego, że alternatywą było płacenie abonamentu za liczby, które Google i tak rozdaje.
Problem
Widoczność w wyszukiwarce psuje się wolno i po cichu. Backlink, na który zapracowałeś, umiera, kiedy ktoś przebudowuje swoją stronę. Podstrona wypada z indeksu po zmianie szablonu. Średnia pozycja osuwa się o dwa miejsca tygodniowo przez miesiąc — czyli o nic konkretnego danego dnia i o sporo po miesiącu. Core Web Vitals się pogarszają, bo aktualizacja wtyczki przywiozła cięższy skrypt.
Nic z tego samo się nie zgłasza. Orientujesz się, kiedy ruch już spadł, a potem tracisz popołudnie na ustalanie, kiedy się zaczęło — i zwykle nie ustalasz, bo nikt tych liczb nie zapisywał.
Komercyjne narzędzia to rozwiązują i liczą sobie miesięcznie za projekt. To uczciwa cena dla agencji z pięćdziesięcioma klientami. To kiepski układ, kiedy chcesz pilnować kilku własnych stron, a dane pod spodem są darmowe.
Czego pilnuje
- Backlinki i to, czy jeszcze żyją Każdy link jest przechodzony ponownie we własnym rytmie: status HTTP, anchor, atrybut rel i to, czy linkująca podstrona nadal jest w indeksie. Ocena jakości 0–100 zwija te sygnały w jedną liczbę.
- Dane z Search Console Kliknięcia, wyświetlenia, CTR i średnia pozycja pobierane codziennie i odkładane jako historia — w rozbiciu na podstrony, zapytania, urządzenia i kraje, żeby spadek dało się datować, a nie zgadywać.
- Pozycje słów kluczowych Śledzone frazy dostają dzienną pozycję z Search Console, a nie ze scrapera, z trendem trzydziestodniowym i kliknięciami oraz wyświetleniami, które za nią stoją.
- Core Web Vitals, dwukrotnie PageSpeed Insights dla danych laboratoryjnych i Chrome UX Report dla tego, czego naprawdę doświadczyli odwiedzający — mobile i desktop, w czasie, a nie sprawdzone raz.
- Indeksacja i sitemapy URL Inspection mówi, czy Google ma podstronę. Monitor sitemap parsuje robots.txt i sitemap.xml, wchodzi w indeksy sitemap i wskazuje strony zaindeksowane, których w sitemapie brakuje.
- Alerty zamiast panelu do pamiętania Utracony backlink, średnia pozycja w dół o więcej niż trzy miejsca tydzień do tygodnia, podstrona, która przestaje przechodzić inspekcję, Core Web Vitals wchodzące w czerwone — każde podnosi alert z określoną wagą.

Najciekawsze: całość mieści się w darmowych limitach
Powód, dla którego takie narzędzie może istnieć bez abonamentu, jest prosty: Google udostępnia te dane własnymi API, za darmo, każdemu, komu chce się zbudować hydraulikę.
Te liczby są całym ograniczeniem projektowym. Są na tyle hojne, że system uniósłby jakieś 1500 projektów, zanim Search Console stałoby się wąskim gardłem — czyli znacznie więcej, niż kiedykolwiek będzie potrzebne, i dlatego nic w środku nie jest reglamentowane.
Za darmo nie dostaje się tego, co czyni z tego narzędzie: czegoś, co odpytuje te API według harmonogramu, trzyma odpowiedzi, porównuje dziś z zeszłym tygodniem i mówi, kiedy porównanie wypada źle. To jest produkt.

Jak to się utrzymuje aktualne
- Zadanie 1
Backlinki — co minutę
Nie każdy link co minutę: przebieg bierze te, którym minął termin ponownego sprawdzenia, więc ruch rozkłada się w czasie zamiast walić raz dziennie jednym uderzeniem.
- Zadanie 2
Search Console — codziennie, 05:00
Wczorajsze dane i śledzone frazy, zapisywane do tabel historii, z których czytają wykresy.
- Zadanie 3
Indeksacja — codziennie, 06:00
URL Inspection na najważniejszych podstronach, z limitem na przebieg, żeby dzienny przydział nigdy nie był tym, co się psuje.
- Zadanie 4
Core Web Vitals — poniedziałki
PageSpeed Insights, pół godziny później Chrome UX Report. Tygodniowo, bo dane terenowe liczą się w oknie 28 dni i codzienne odpytywanie nie powiedziałoby niczego nowego.
- Zadanie 5
Sitemapy — poniedziałki, 08:00
Ponowne sparsowanie, ponowne porównanie z tym, co jest w indeksie, i pokazanie różnicy.
Wszystko cięższe niż jedno zapytanie HTTP idzie przez kolejkę, a nie przez sam harmonogram, więc wolne przejście albo API, które przyhamowało, nigdy nie blokuje reszty przebiegu.

Moja rola
Całość. Projekt jest mój od początku do końca: model danych — dwadzieścia pięć tabel, w większości historia, a nie stan bieżący — przepływ OAuth do Search Console, trzy klienty API Google, harmonogram i workery kolejek, panel w Filamencie, wykresy i reguły alertów. Dziewięćdziesiąt osiem commitów w jakieś trzy i pół tygodnia, w kwietniu 2026.
Efekt
- Spadek da się datować Ponieważ liczby są zapisywane codziennie, „kiedy się to zaczęło" ma odpowiedź, a nie domysł.
- Bez abonamentu Dane zawsze były darmowe; brakowało czegoś, co je zbiera. Koszt utrzymania to mały serwer i nic poza tym.
- Alerty działają — i wymagają strojenia Utracone linki i osuwające się pozycje podnoszą alert, zamiast czekać, aż ktoś zauważy. Cztery tysiące z nich wisi nieprzeczytanych, co jest osobną lekcją: alert, na który nie da się zareagować, jest szumem, a progi to niedokończona część tego projektu.

Technologie
Laravel
Aplikacja, harmonogram i workery kolejek robiące każdą pracę cięższą niż jedno zapytanie HTTP.
Filament
Warstwa panelu: tabele, filtry, wykresy i widoki alertów, dzięki czemu interfejs poszedł za modelem danych, zamiast powstawać drugi raz.
MySQL
Dwadzieścia pięć tabel, w większości dzienna historia — to ona zamienia pojedynczy odczyt w trend.
Google Search Console API
OAuth per użytkownik, Search Analytics dla danych i pozycji, URL Inspection dla indeksacji.
PageSpeed Insights i CrUX
Core Web Vitals laboratoryjne i terenowe, mobile i desktop, trzymane w czasie zamiast próbkowane raz.




