Panel monitoringu SEO

· 2 min czytania

Prywatny panel, który pilnuje backlinków, pozycji w Google, indeksacji i Core Web Vitals moich stron — w całości na darmowych API Google, z alertem, kiedy coś się ruszy.

Prywatny panel, który pilnuje backlinków, pozycji w Google, indeksacji i Core Web Vitals moich stron — w całości na darmowych API Google, z alertem, kiedy coś się ruszy.

W skrócie

Problem
Backlinki znikają, pozycje się osuwają, a podstrony wypadają z indeksu po cichu. Dowiadujesz się tygodnie później, a narzędzia, które powiedziałyby wcześniej, liczą sobie miesięcznie.
Co powstało
Panel pilnujący backlinków, danych z Search Console, pozycji słów kluczowych, indeksacji, Core Web Vitals, ruchu odwiedzających i błędów on-page na kilku stronach naraz, podnoszący alert, kiedy któraś z tych rzeczy idzie w złą stronę.
Moja rola
Całość — model danych, integracje z API Google, harmonogram i kolejki, panel w Filamencie i reguły alertów.
Co jest w tym ciekawego
Prawie wszystko, co sprzedaje płatny rank tracker, Google oddaje za darmo we własnych API. Produktem jest hydraulika: harmonogram, historia i zauważanie zmiany.
Efekt
Prywatne narzędzie, na którym ja i kilka bliskich mi osób prowadzimy własne strony, w darmowych limitach API, z historią pozwalającą datować spadek.

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

W jednym panelu
  • 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ą.
Widok zbiorczy wszystkich projektów — wykres kliknięć i wyświetleń z 30 dni dla wszystkich stron naraz, tabela backlinków utraconych w ostatnich siedmiu dniach z kodem HTTP każdego z nich oraz przegląd projektów z liczbą linków, ile jest znalezionych, ile utraconych, kliknięciami z siedmiu dni, średnią pozycją i liczbą alertów

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ę.

API Co daje i ile kosztuje
Search Console — Search Analytics
Kliknięcia, wyświetlenia, CTR, pozycja, w rozbiciu na podstrony, zapytania, urządzenia i kraje. 25 000 zapytań dziennie na projekt; jedna synchronizacja zjada od pięciu do piętnastu.
Search Console — URL Inspection
Czy dany adres jest zaindeksowany i dlaczego. 2 000 dziennie na usługę; harmonogram wydaje pięćdziesiąt na przebieg, na najważniejsze podstrony.
PageSpeed Insights
Laboratoryjne Core Web Vitals plus wyniki wydajności, dostępności, SEO i dobrych praktyk. 25 000 dziennie; dwa wywołania na stronę, mobile i desktop.
Chrome UX Report
Dane terenowe — to, czego doświadczyli użytkownicy Chrome, na origin i na adres. 150 na minutę, bez dziennego limitu.
Analytics Data API (GA4)
Sesje, użytkownicy, odsłony, współczynnik odrzuceń, źródła ruchu, najczęściej oglądane podstrony i odesłania. 200 000 tokenów dziennie na usługę — tu liczy się złożoność zapytania, a nie liczba wywołań; dzienna synchronizacja odpala cztery raporty z okna trzydziestu dni.

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.

Tabela backlinków jednej strony, 44 linki — w każdym wierszu linkująca podstrona i jej domena, podstrona u mnie, na którą prowadzi, anchor, status Found, atrybut rel, kod HTTP z ostatniego przejścia, informacja, czy linkująca strona jest w indeksie, ocena jakości 0–100 oraz daty ostatniego sprawdzenia i dodania, z akcjami dodania linku, importu masowego i przejścia wszystkich na nowo

Jak to się utrzymuje aktualne

Harmonogram
  1. 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.

  2. Zadanie 2

    Search Console — codziennie, 05:00

    Wczorajsze dane i śledzone frazy, zapisywane do tabel historii, z których czytają wykresy.

  3. 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ń.

  4. 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.

  5. 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.

  6. Zadanie 6

    Sitemapy — poniedziałki, 08:00

    Ponowne sparsowanie, ponowne porównanie z tym, co jest w indeksie, i pokazanie różnicy.

  7. 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.

Core Web Vitals i pokrycie sitemapą dla jednej strony — dane laboratoryjne z PageSpeed Insights (mobile 78, desktop 100, SEO 92, dostępność 100, dobre praktyki 100, LCP 3,5 s, CLS 0,010), dane terenowe z Chrome UX Report (LCP 1,9 s dobre dla 86,4% wizyt, INP 154 ms, CLS 0,070, FCP 1,7 s, TTFB 949 ms, LCP na mobile gorsze o 27% niż na desktopie), a pod spodem 7233 adresy w dziesięciu sitemapach, 155 w sitemapie, ale poza indeksem i 3 w indeksie, choć brakuje ich w sitemapie

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.
Lista alertów — 4250 pozycji, każda to utracony backlink z domeną linkującą i kodem HTTP, który go zabił, otagowany projektem i typem, ze stanem przeczytania, czasem, kiedy się pojawił, i akcją oznaczenia jako przeczytany

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.

Powrót do portfolio

Powiązane wpisy

Czytaj więcej