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 i Core Web Vitals 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.
  • 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ą.
Lista projektów — trzy strony obok siebie z liczbą linków, ile znaleziono przy ostatnim przejściu, ile utracono, interwałem sprawdzania i datą ostatniej kontroli

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.

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 — w każdym wierszu linkująca podstrona i jej domena, anchor, status Found, Not Found albo Blocked, atrybut rel, kod HTTP z ostatniego przejścia, informacja, czy linkująca strona jest w indeksie, i ocena jakości 0–100, z akcjami dodania linku, importu masowego i przejścia wszystkich na nowo

Jak to się utrzymuje aktualne

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

  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

    Indeksacja — codziennie, 06:00

    URL Inspection na najważniejszych podstronach, z limitem na przebieg, żeby dzienny przydział nigdy nie był tym, co się psuje.

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

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

Core Web Vitals jednej strony — trend wyniku wydajności dla mobile i desktopu przez pięć miesięcy, pod spodem dane laboratoryjne z PageSpeed Insights (mobile 87, desktop 70, SEO 92, dostępność 100, dobre praktyki 100, LCP 3,6 s, CLS 0,008) i dane terenowe z Chrome UX Report (LCP 1,9 s dobre dla 86,4% wizyt, INP 154 ms, CLS 0,070)

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

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.

Powrót do portfolio

Powiązane wpisy

Czytaj więcej