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.
- Co odwiedzający naprawdę zrobili Sesje, użytkownicy, odsłony, współczynnik odrzuceń i średni czas sesji przychodzą codziennie z Analytics, razem ze źródłami ruchu, najczęściej oglądanymi podstronami i odesłaniami — żeby to, co obiecuje wyszukiwarka, i to, co ludzie faktycznie zrobili, było na jednym ekranie.
- Audyt on-page Każda podstrona jest pobierana i sprawdzana według trzynastu reguł — title, meta description, H1, canonical, robots, teksty alternatywne obrazków, linki, długość treści, Open Graph, schema, hreflang, HTTPS i czas odpowiedzi — a potem punktowana 0–100, z każdym błędem ważonym według wagi.
- 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ę.
Audyt on-page jest wyjątkiem, który potwierdza regułę: nie korzysta z żadnego API Google. Pobiera moje własne podstrony i czyta HTML, więc kosztuje tyle, co samo zapytanie.
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 godzinę
Nie każdy link co godzinę: 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
Analytics — codziennie, 05:30
Ruchome okno trzydziestu dni: sesje, źródła ruchu, najczęściej oglądane podstrony i odesłania, pół godziny po Search Console, żeby oba zestawy liczb schodziły się na ten sam dzień.
- Zadanie 4
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 5
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 6
Sitemapy — poniedziałki, 08:00
Ponowne sparsowanie, ponowne porównanie z tym, co jest w indeksie, i pokazanie różnicy.
- Zadanie 7
Audyt on-page — poniedziałki, 09:00
Pięćdziesiąt podstron na przebieg, pobranych i ocenionych według trzynastu reguł. Tygodniowo, bo błędy on-page przyjeżdżają z wdrożeniem, a nie same z siebie.
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 — trzydzieści trzy tabele, w większości historia, a nie stan bieżący — przepływ OAuth obsługujący naraz Search Console i Analytics, cztery klienty API Google, własny crawler do backlinków i audytu on-page, 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. Nazbierało się ich cztery tysiące, a nieprzeczytanych wisi w każdej chwili około stu — i to jest osobna lekcja: 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.
MariaDB
Trzydzieści trzy tabele, 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.
Analytics Data API (GA4)
Sesje, źródła ruchu, najczęściej oglądane podstrony i odesłania na tym samym połączeniu OAuth, żeby zachowanie stało obok danych z wyszukiwarki.
PageSpeed Insights i CrUX
Core Web Vitals laboratoryjne i terenowe, mobile i desktop, trzymane w czasie zamiast próbkowane raz.




