Blog

Audyt SEO: jak robię audyt strony krok po kroku

Audyt SEO to decyzja, co na stronie poprawić najpierw, z dowodem przy każdym zaleceniu i ze sposobem sprawdzenia po wdrożeniu. Lista błędów z narzędzia jest dopiero materiałem do audytu. Audyt techniczny to ta jego część, która sprawdza, czy roboty wyszukiwarek i asystentów AI mogą stronę pobrać i odczytać, a wyszukiwarka zaindeksować.

Audyt robię w ośmiu krokach:

  1. Ustalam cel i sytuację strony, zanim uruchomię crawler, czyli program, który przechodzi stronę tak jak robot wyszukiwarki.
  2. Sprawdzam, czy roboty w ogóle dostają stronę.
  3. Zbieram dane z kilku źródeł i sprawdzam, czego każde z nich nie widzi.
  4. Badam frazy i wyniki Google, zanim zajmę się techniką.
  5. Przeglądam stronę według katalogu problemów z warunkami priorytetu.
  6. Przy każdym zagadnieniu pokazuję dowód.
  7. Ustalam kolejność, nakład pracy i warianty.
  8. Oddaję wynik do kontroli krzyżowej, a po wdrożeniu sprawdzam każde zagadnienie.

Liczby w tym tekście pochodzą z archiwum audytów, które od 2020 roku przygotowałem sam albo z zespołem. W archiwum jest 77 dokumentów audytowych z lat 2020-2026. Spośród nich 63 zawierają co najmniej jedno znalezisko, razem 938 znalezisk w 50 serwisach (każdą domenę liczę osobno). Z tych znalezisk w październiku 2026 zbudowałem katalog 256 typów problemów. „Problem w 24 z 63 audytów” znaczy, że autor audytu uznał go za wart zgłoszenia, a nie że ma go 38% stron w Polsce. To częstość zgłoszeń w tych audytach, a nie pomiar tego, jak często problem występuje na stronach.

Spis treści
  1. Czym jest audyt SEO i czym różni się audyt techniczny?
  2. Jak zrobić audyt SEO krok po kroku?
  3. Co sprawdzam w audycie technicznym?
  4. Jakie błędy najczęściej znajduję w audytach SEO?
  5. Co zmieniło się w audytach SEO od 2020 roku?
  6. Jak sprawdzić dostęp robotów AI w audycie?
  7. Czy darmowy audyt SEO wystarczy?
  8. Ile kosztuje audyt SEO?
  9. Najczęstsze pytania o audyt SEO
  10. Od czego zacząć?

Czym jest audyt SEO i czym różni się audyt techniczny?

Audyt SEO mówi, w jakim stanie jest strona i co ogranicza jej widoczność, a audyt techniczny sprawdza, czy wyszukiwarka może stronę pobrać, wyrenderować i zaindeksować. W pełnym audycie sprawdzam technikę, architekturę i treść na stronach, frazy, linki zewnętrzne i konkurencję, a na końcu układam kolejność działań. Audyt techniczny wystarcza wtedy, gdy pytanie jest techniczne: spadek po wdrożeniu, migracja, strony wypadające z indeksu.

Rodzaj audytuNa jakie pytanie odpowiadaSkąd biorę dane
TechnicznyCzy roboty pobierają, renderują i indeksują właściwe adresyCrawl z wykonaniem JavaScriptu i bez, Search Console, dane Chrome od użytkowników (CrUX), logi serwera
Architektury i treściCzy dla ważnych fraz istnieje strona i czy linkowanie wewnętrzne ją wspieraFrazy, wyniki Google, mapa linków wewnętrznych
Linków zewnętrznychCzy profil linków pomaga i czy niesie ryzykoAhrefs, Search Console
Dostępu dla AICzy roboty asystentów AI dostają stronę i co z niej widząTest robotów, robots.txt, HTML przed wykonaniem JavaScriptu

Audyt jest wejściem do strategii, a nie strategią. Strategia mówi, o jaki popyt walczysz i z czego rezygnujesz, a audyt mówi, co dziś stoi temu na przeszkodzie. W tekście o strategii SEO opisałem, jak jedno przechodzi w drugie.

Jak zrobić audyt SEO krok po kroku?

Kolejność kroków ma znaczenie, bo wcześniejsze kroki decydują, czy liczby z późniejszych są wiarygodne. W dwóch miejscach zatrzymuję proces na decyzję: po pierwszym kroku ustalam zakres, a po kontroli krzyżowej, przed wysyłką do klienta, sprawdzam priorytety i tezy.

Jak robię audyt SEO: osiem kroków i dwie decyzje po drodzeOś z ośmioma krokami audytu: cel i sytuacja strony, dostęp robotów, dane z kilku źródeł, frazy przed techniką, przegląd według katalogu, dowód przy każdym zagadnieniu, kolejność i warianty, kontrola krzyżowa i sprawdzenie po wdrożeniu. Po pierwszym kroku zatrzymanie na decyzję o zakresie, po siódmym na decyzję o priorytetach i tezach.1Cel i sytuacja stronyCzy strona traci ruch, czy go nie buduje; co zarabia i kto wdroży zalecenia.Decyzja 1: zakres audytu i to, czego nie rozpisuję, bo nikt tego nie wdroży2Czy roboty dostają stronęTen sam adres jako przeglądarka i jako roboty Google, Bing i asystentów AI; robots.txt czytany parserem.3Dane z kilku źródełCrawl z wykonaniem JavaScriptu i bez, Search Console przez API, CrUX, linki, wyniki Google; każda liczba z drugimźródłem.4Frazy przed technikąMapa fraz i stron: najpierw szanse, potem naprawa błędów.5Przegląd według katalogu256 typów problemów, każdy z regułą wykrycia, wymaganym dowodem i priorytetem zależnym od miejsca błędu.6Dowód przy zagadnieniuZrzut, kod skopiowany ze strony, wykres; bez dowodu tylko status „do sprawdzenia”.7Kolejność i wariantyTabela priorytetów i nakładu pracy na początku dokumentu, wariant pełny i minimalny.Decyzja 2: priorytety i tezy, zanim audyt trafi do klienta8Kontrola i wdrożenieDwie rundy kontroli krzyżowej, a po wdrożeniu sprawdzenie każdego zagadnienia na działającej stronie.Każde zalecenie w katalogu ma pole aktualności, więc praktyka, która przestała działać, nie wraca do kolejnego audytu.Jak robię audyt SEO: osiem kroków i dwie decyzje po drodzeOś z ośmioma krokami audytu: cel i sytuacja strony, dostęp robotów, dane z kilku źródeł, frazy przed techniką, przegląd według katalogu, dowód przy każdym zagadnieniu, kolejność i warianty, kontrola krzyżowa i sprawdzenie po wdrożeniu. Po pierwszym kroku zatrzymanie na decyzję o zakresie, po siódmym na decyzję o priorytetach i tezach.1Cel i sytuacja stronyCzy strona traci ruch, czy go nie buduje; cozarabia i kto wdroży zalecenia.Decyzja 1: zakres audytu i to, czego nierozpisuję, bo nikt tego nie wdroży2Czy roboty dostają stronęTen sam adres jako przeglądarka i jakoroboty Google, Bing i asystentów AI; robots.txtczytany parserem.3Dane z kilku źródełCrawl z wykonaniem JavaScriptu i bez, SearchConsole przez API, CrUX, linki, wyniki Google;każda liczba z drugim źródłem.4Frazy przed technikąMapa fraz i stron: najpierw szanse, potemnaprawa błędów.5Przegląd według katalogu256 typów problemów, każdy z regułąwykrycia, wymaganym dowodem ipriorytetem zależnym od miejsca błędu.6Dowód przy zagadnieniuZrzut, kod skopiowany ze strony, wykres; bezdowodu tylko status „do sprawdzenia”.7Kolejność i wariantyTabela priorytetów i nakładu pracy napoczątku dokumentu, wariant pełny iminimalny.Decyzja 2: priorytety i tezy, zanimaudyt trafi do klienta8Kontrola i wdrożenieDwie rundy kontroli krzyżowej, a po wdrożeniusprawdzenie każdego zagadnienia nadziałającej stronie.Każde zalecenie w katalogu ma pole aktualności,więc praktyka, która przestała działać, nie wracado kolejnego audytu.
W dwóch miejscach zatrzymuję proces i decyduję sam: po pierwszym kroku o zakresie, przed wysyłką o priorytetach i tezach.

Krok 1. Cel i sytuacja strony, zanim uruchomię crawler

Pierwsze pytanie brzmi, czy strona traci ruch, czy go nie buduje, bo od odpowiedzi zależy cały audyt. Strona bez widoczności potrzebuje najpierw mapy fraz i stron, które mają na nie odpowiadać. Strona, która ma widoczność, potrzebuje najpierw ochrony tego, co już zajmuje pozycje, zanim ktoś zacznie ją poprawiać.

Przed startem pytam o rzeczy, których nie pokaże żadne narzędzie. Które produkty albo usługi zarabiają, czy planowana jest zmiana systemu zarządzania treścią albo przebudowa, kto wdroży zalecenia i ile ma na to czasu. Z odpowiedzi wynika zakres audytu i lista rzeczy, których nie rozpisuję, bo nikt ich nie wdroży.

Ten etap trzeba przejść samodzielnie, choć wielu specjalistów oddaje go dziś modelowi językowemu. Model językowy bywa pomocny, ale nie zrozumie biznesu klienta. Nie wniesie też kreatywnego, unikalnego spojrzenia, które ma doświadczony specjalista SEO.

Krok 2. Czy roboty w ogóle dostają stronę

Zanim przeczytam jakąkolwiek liczbę z narzędzia, sprawdzam, czy serwer wpuszcza roboty, bo zablokowany robot daje dane, które wyglądają jak problemy SEO. W jednym tygodniu lipca 2026 trzy „problemy SEO” w trzech różnych serwisach okazały się blokadą robotów:

  1. Serwis „tracił” ponad 2 200 linków, bo strony, z których prowadziły, stały za zaporą, która odbijała robota narzędzia do analizy linków.
  2. Sklep miał w narzędziu wynik zdrowia strony 0 przy prawie 42 tys. błędów, bo zamiast stron robot narzędzia dostawał odpowiedzi zapory Cloudflare.
  3. Na trzecim serwisie blokada zatrzymywała crawler na pierwszym adresie i przez trzy tygodnie nikt tego nie odnotował.

Ten sam adres pobieram jako zwykła przeglądarka i jako roboty Google, Bing, OpenAI, Perplexity i Anthropic, a potem porównuję kody odpowiedzi i rozmiar strony. Różnica między przeglądarką a robotem to pierwsza rzecz do wyjaśnienia, zanim zacznę cokolwiek liczyć. Taki test wysyła zapytania z mojego adresu IP pod nazwą robota, a zapory rozpoznają prawdziwe roboty Google i Bing po adresie, z którego przychodzą. Blokada „Googlebota” w teście nie dowodzi więc blokady prawdziwego Googlebota. Search Console, bezpłatny panel Google dla właścicieli stron, pokazuje, jak stronę widzi prawdziwy Googlebot.

Plik robots.txt czytam do końca parserem, czyli programem, który stosuje reguły tak jak robot, a nie wzrokiem. Robot Google stosuje tylko jedną grupę reguł, tę z najbardziej dopasowaną nazwą robota, i pomija pozostałe. Reguła Disallow: bez ścieżki niczego nie blokuje (Google Search Central). W sierpniu 2026 z fragmentu robots.txt jednej ze stron wynikało, że blokuje ona Google. Parser pokazał, że Googlebot miał pełny dostęp, a zablokowane były roboty Bing i asystentów AI. Diagnoza była więc inna: problem dotyczył Bing i robotów AI, a nie Google.

Brak pliku robots.txt nie blokuje Google, ale po każdym wdrożeniu sprawdzam, czy plik nie zniknął. Google traktuje błąd 4xx przy robots.txt (poza 429) tak, jakby pliku nie było, czyli bez ograniczeń (Google Search Central). Moja strona zwracała w sierpniu 2026 błąd 404 na robots.txt, zanim to poprawiłem.

Krok 3. Dane z kilku źródeł i to, czego każde nie widzi

Każda liczba z crawlera jest hipotezą, dopóki nie potwierdzi jej drugie źródło. Zbieram crawl z wykonaniem JavaScriptu i bez niego oraz dane o szybkości od prawdziwych użytkowników z raportu CrUX. Dodaję do tego profil linków i wyniki Google dla ważnych fraz z dnia pomiaru. W tekście o link buildingu opisałem, jak sprawdzam profil linków przed planem kampanii. Przy każdym pliku zapisuję źródło, datę i zakres, żeby po miesiącu dało się odtworzyć każdą liczbę.

Dane z Search Console pobieram przez API, czyli interfejs do automatycznego pobierania danych, bo eksport z panelu ucina listę do 1 000 wierszy. API oddaje do 50 tys. wierszy dziennie na każdy typ wyników, na przykład osobno dla wyników stron, grafik i wideo (Google, Pomoc Search Console). W tekście o narzędziach AI w SEO pokazałem, jak obcięty eksport zawyżył CTR w jednym serwisie.

Crawler potrafi zaniżyć wielkość serwisu, więc liczby stron i produktów sprawdzam w drugim źródle. W dwóch sklepach crawler doszedł do pierwszej strony listy produktów w kategorii i dalej nie poszedł, choć kolejne strony listy działały i nie były zablokowane. W jednym sklepie znalazł mniej niż połowę produktów, w drugim mniej niż jedną trzecią. Gdybym podał te liczby jako stan sklepów, audyt opisywałby braki w ofercie, których nie było.

Nagłe zmiany w danych dziennych opisuję, zanim przypiszę im przyczynę. Robię to dla kliknięć, wyświetleń, pozycji, sesji i żądań robota Google. Szukam dni, od których mediana z siedmiu kolejnych dni różni się o co najmniej 25% od mediany z czternastu dni przed nimi. Przy każdej takiej dacie zapisuję wyjaśnienie: wdrożenie, aktualizacja Google, awaria, zmiana pomiaru albo „przyczyna nieznana”. Opis dat daje hipotezy, a przyczynę wskazuję dopiero po sprawdzeniu innych możliwych wyjaśnień.

Krok 4. Frazy i wyniki Google przed techniką

Najpierw szukam szans, potem naprawiam błędy. Część problemów technicznych da się ocenić tylko na tle fraz: czy filtr w sklepie powinien się indeksować, czy tag zasługuje na osobną stronę, czy dwie strony naprawdę konkurują o to samo. W katalogu 32 typy problemów mają oznaczenie, że bez analizy fraz i wyników Google nie da się ich ocenić.

Brak strony pod ważną frazę to jeden z częstszych problemów w moich audytach: 15 z 63 audytów, w 14 z 50 serwisów. Crawler sam tego nie zgłosi, bo pobiera tylko strony, które istnieją. Widać to dopiero wtedy, gdy zestawię popyt z listą adresów i z tym, które strony konkurencji pojawiają się w wynikach.

Krok 5. Przegląd według katalogu z warunkami priorytetu

Ten sam błąd ma wysoki albo niski priorytet zależnie od tego, gdzie występuje. Link wewnętrzny do adresu z przekierowaniem w szablonie, który powtarza się na tysiącach stron, ma priorytet wysoki. Ten sam link w treści jednego wpisu ma priorytet średni, a w archiwalnych wpisach niski.

Każdy typ problemu w katalogu ma regułę wykrycia, warunek zgłoszenia, wymagany dowód, priorytet z warunkami i sposób sprawdzenia po wdrożeniu. Z 256 typów 86 zaczyna regułę priorytetu od „wysoki”, ale prawie zawsze z warunkiem: gdy fraza ma popyt, gdy strona ma ruch, gdy błąd jest w szablonie.

Dlatego wynik zdrowia strony z narzędzia nie wyznacza priorytetów. Narzędzie liczy błędy, a nie ruch, który od nich zależy. Zalecenie dotyczące stron o nieznanym ruchu nie dostaje wysokiego priorytetu, dopóki nie sprawdzę danych.

Krok 6. Dowód przy każdym zagadnieniu

Zagadnienie bez dowodu zostaje w audycie jako „do sprawdzenia”, a nie jako zalecenie. Dowodem jest zrzut miejsca w kodzie albo HTML z serwera obok wersji po wykonaniu JavaScriptu. Może nim być też wykres z Search Console albo pomiar szybkości z nazwą elementu, który ją psuje. Element, który pogarsza wczytywanie albo przesuwa układ strony, nazywam tak, jak wskazuje pomiar, a nie tak, jak pasuje do mojej hipotezy.

Każde zagadnienie opisuję w czterech częściach, od problemu do sprawdzenia naprawy. Piszę, na czym polega problem, dlaczego szkodzi i na co wpływa, jak go naprawić krok po kroku i jak sprawdzimy, że naprawa zadziałała. Kod do poprawy kopiuję ze strony dosłownie, żeby programista widział dokładnie to miejsce, które ma zmienić.

Tak wygląda w skrócie jedno zgłoszenie o linkach do przekierowań:

  • Problem: linki w menu prowadzą do adresów bez ukośnika na końcu, które przekierowują na wersję z ukośnikiem.
  • Dlaczego szkodzi: menu jest na każdej stronie, więc każde kliknięcie i każde pobranie przez robota przechodzi przez dodatkowe przekierowanie. W raportach narzędzi tysiące takich linków utrudniają znalezienie ważniejszych błędów.
  • Naprawa: w szablonie menu podmienić adresy na docelowe, z fragmentem kodu przed i po zmianie.
  • Sprawdzenie: po wdrożeniu crawl nie pokazuje w szablonie linków do adresów z przekierowaniem.

Krok 7. Kolejność, nakład pracy i warianty

Wynikiem audytu jest kolejność, a nie liczba znalezisk. Na początku dokumentu stoi tabela wszystkich zagadnień z priorytetem i nakładem pracy. Nakład opisuję w czterech kategoriach: kilka godzin, dzień lub dwa, tydzień albo cały projekt. Zespół z mniejszymi możliwościami dostaje wariant minimalny obok pełnego, z wyraźnym opisem, co traci, wybierając krótszą drogę.

Wdrożenie idzie dokładnie według audytu. Jeśli przy wycenie wdrożenia pojawia się tańszy wariant, wybiera go klient i zapisuję to wprost, a nie podmieniam zalecenia bez jego wiedzy.

Krok 8. Kontrola krzyżowa i sprawdzenie po wdrożeniu

Zanim audyt trafi do klienta, sprawdza go ktoś, kto go nie pisał. Robię dwie rundy kontroli: pierwszą na całym dokumencie, drugą tylko na tym, co zmieniło się po pierwszej. Kontrola przelicza liczby od zera i szuka tez, których nie da się obronić dowodem. Na końcu sam sprawdzam priorytety i tezy, które zależą od sytuacji klienta.

Po wdrożeniu każde zagadnienie sprawdzam na działającej stronie i oznaczam jako wdrożone poprawnie, w części albo niewdrożone. To sprawdzenie jest w cenie audytu. Bez tego kroku audyt kończy się na dokumencie, a nie na zmianie na stronie.

Co sprawdzam w audycie technicznym?

W audycie technicznym przechodzę przez kilkanaście obszarów, a problemy najczęściej zgłaszam w przekierowaniach, architekturze strony i treści. Ostatnia kolumna pokazuje, w ilu z 63 audytów z archiwum autor zgłosił co najmniej jeden problem z danego obszaru. Kolumna „Co sprawdzam” podaje przykłady, a nie pełny zakres obszaru. Tabela pokazuje wybrane obszary, a katalog dzieli problemy na 22.

ObszarCo sprawdzamAudyty z problemem (z 63)
Przekierowania i kody odpowiedziŁańcuchy przekierowań, linki do adresów 3xx i 404, przekierowania na stronę główną50
Architektura i linkowanie wewnętrzneStrony docelowe pod frazy, linki z bloga do stron kluczowych, głębokość kliknięć49
Treść na stronachKanibalizacja, strony z ubogą treścią i duplikaty47
Tytuły, opisy i nagłówkiTytuły stron, opisy i nagłówki H1 na szablonach44
Robots.txt i mapa witrynyBlokady, adresy inne niż 200 w mapie, data ostatniej zmiany41
Dane strukturalnePełny opis firmy i autorów, produkt i oferta w sklepach39
IndeksowanieWażne strony poza indeksem i strony, które nie powinny się indeksować34
Adresy kanoniczne i duplikatyAdres kanoniczny (canonical), czyli wskazana wersja strony, parametry, warianty adresów28
ObrazyWaga plików, formaty, obrazy zablokowane przed indeksowaniem27
Filtry i parametryFiltry w indeksie i w zasięgu robota25
PaginacjaLinki do kolejnych stron list, puste strony paginacji z kodem 20019
Szybkość i Core Web VitalsLCP, INP i CLS, czyli czas wczytania, czas reakcji i stabilność układu, z danych użytkowników16
Wersje językoweWzajemne znaczniki hreflang między wersjami językowymi, wersja domyślna14
Renderowanie JavaScriptuTreść i linki w HTML z serwera i po wykonaniu JavaScriptu12
AI i widoczność w czatachDostęp robotów AI, zapora, cel widoczności w czatach4

Problem rzadko zgłaszany nie musi rzadko występować. Szybkość i JavaScript mają w tej tabeli mało zgłoszeń, ale audyty z archiwum miały różny zakres. Niska liczba zgłoszeń nie mówi więc, jak często te problemy występują na stronach.

Jak sprawdzam indeksowanie strony?

Indeksowanie sprawdzam na trzech listach: co jest w mapie witryny, co Google zaindeksował i co crawler znajduje przez linki. Rozbieżność między tymi trzema listami pokazuje problem lepiej niż każda z osobna. Mapa witryny z adresami, które zwracają przekierowanie, błąd albo są wyłączone z indeksu, była zgłoszona w 20 z 63 audytów, w 18 z 50 serwisów. Dla pojedynczych adresów korzystam z inspekcji adresu w Search Console, która pokazuje także stronę po wykonaniu JavaScriptu.

Czy Core Web Vitals wpływają na pozycje?

Core Web Vitals są częścią systemów rankingowych Google, ale nie wygrywają z trafnością treści. Google pisze wprost, że systemy rankingowe korzystają z Core Web Vitals. Pisze też, że zawsze stara się pokazać najbardziej trafną treść, nawet przy słabym doświadczeniu na stronie (Google Search Central). W audycie korzystam z danych od prawdziwych użytkowników z raportu CrUX, a nie z jednego testu w narzędziu laboratoryjnym. Tam, gdzie Google ma takie dane dla poszczególnych typów stron, podaję je osobno. Braki tych danych opisuję w audycie. Od 12 marca 2024 miarą reakcji strony jest INP, który zastąpił FID (web.dev).

Jakie błędy najczęściej znajduję w audytach SEO?

Najczęściej powtarzają się błędy porządkowe, czyli takie, które narzędzia łatwo wykrywają: linki do przekierowań i do błędów 404, mapy witryny z niewłaściwymi adresami i zduplikowane tytuły i opisy stron. Linki wewnętrzne do adresów z przekierowaniem pojawiły się w 24 z 63 audytów, w 20 z 50 serwisów. Narzędzia wykrywają je dobrze, a koszt naprawy zależy od szablonu i systemu strony.

Najczęściej zgłaszam linki do przekierowań i błędne mapy witrynyPoziome słupki dla dziesięciu najczęstszych problemów w archiwum audytów. Przy każdym dwa słupki: odsetek audytów (z 63) i odsetek serwisów (z 50), w których autor zgłosił problem. Linki wewnętrzne do przekierowań 38% i 40%, mapa witryny z adresami innymi niż 200 32% i 36%, linki do błędów 404 27% i 30%, brak stron pod ważne frazy 24% i 28%, blog bez linków do stron kluczowych 24% i 28%, zduplikowane tytuły i opisy 22% i 24%, za ciężkie grafiki 19% i 20%, brak H1 19% i 20%, kanibalizacja 17% i 18%, szablony tytułów bez fraz 16% i 20%.Odsetek audytów (z 63)Odsetek serwisów (z 50)Linki do adresów zprzekierowaniem38%40%Mapa witryny zadresami innymi niż20032%36%Linki do błędów 40427%30%Brak stron pod ważnefrazy24%28%Blog bez linków dostron kluczowych24%28%Zduplikowane tytuły iopisy22%24%Za ciężkie grafiki19%20%Brak H119%20%Kanibalizacja17%18%Szablony tytułów bezfraz16%20%Najczęściej zgłaszam linki do przekierowań i błędne mapy witrynyPoziome słupki dla dziesięciu najczęstszych problemów w archiwum audytów. Przy każdym dwa słupki: odsetek audytów (z 63) i odsetek serwisów (z 50), w których autor zgłosił problem. Linki wewnętrzne do przekierowań 38% i 40%, mapa witryny z adresami innymi niż 200 32% i 36%, linki do błędów 404 27% i 30%, brak stron pod ważne frazy 24% i 28%, blog bez linków do stron kluczowych 24% i 28%, zduplikowane tytuły i opisy 22% i 24%, za ciężkie grafiki 19% i 20%, brak H1 19% i 20%, kanibalizacja 17% i 18%, szablony tytułów bez fraz 16% i 20%.Odsetek audytów (z 63)Odsetek serwisów (z 50)Linki do adresów z przekierowaniem38%40%Mapa witryny z adresami innymi niż 20032%36%Linki do błędów 40427%30%Brak stron pod ważne frazy24%28%Blog bez linków do stron kluczowych24%28%Zduplikowane tytuły i opisy22%24%Za ciężkie grafiki19%20%Brak H119%20%Kanibalizacja17%18%Szablony tytułów bez fraz16%20%
63 audyty z lat 2020-2026 z co najmniej jednym znaleziskiem, 50 serwisów, każda domena osobno (katalog z 11.10.2026). Odsetek pokazuje, w ilu audytach autor zgłosił problem, a nie to, jak często problem występuje na stronach.

Rzadziej zgłaszane problemy struktury potrafią mieć większy wpływ na ruch niż błędy porządkowe. Brak stron pod ważne frazy zgłoszono w 15 z 63 audytów i tyle samo razy blog, który nie linkuje do stron oferty i kategorii. Katalog daje brakującej stronie wysoki priorytet, gdy fraza ma popyt, a konkurencja zajmuje pozycje osobnymi stronami. Blog bez linków dostaje wysoki priorytet, gdy strony docelowe mają ruch lub przychód, a blog ma autorytet. Te warunki sprawdzam na danych, zanim nadam priorytet.

  • 938znalezisk w 63 audytach w 50 serwisach, z których zbudowałem katalog 256 typów problemówArchiwum audytów 2020-2026, katalog z 11.10.2026
  • 38%audytów z linkami wewnętrznymi do adresów z przekierowaniem, najczęściej zgłaszanym problemem w archiwum (24 z 63)Katalog z 11.10.2026
  • 15 z 63audytów z brakiem stron pod ważne frazy, czego crawler sam nie zgłosiKatalog z 11.10.2026
  • 14typów zaleceń, które katalog oznacza dziś jako przestarzałe, a 30 kolejnych jako zmienioną praktykęKatalog z 11.10.2026

Co zmieniło się w audytach SEO od 2020 roku?

W audytach z lat 2023-2026 dane strukturalne i paginacja pojawiają się częściej niż w latach 2020-2022, a przekierowania, adresy kanoniczne i indeksowanie rzadziej. Problemy z danymi strukturalnymi zgłoszono w 23 z 33 nowszych audytów wobec 16 z 30 starszych. Przekierowania i kody odpowiedzi: 23 z 33 wobec 27 z 30. Blokady robotów AI pojawiają się dopiero w audytach z 2026 roku. Rok audytu to data pliku w archiwum, więc nie zawsze rok wykonania pracy.

Nowsze audyty częściej dotyczą danych strukturalnych i paginacji, rzadziej przekierowańPoziome słupki dla dziewięciu obszarów. Przy każdym dwa słupki: odsetek audytów z lat 2020-2022 (z 30) i z lat 2023-2026 (z 33), w których zgłoszono problem z obszaru. Przekierowania i kody 90% i 70%, robots.txt i mapa witryny 77% i 55%, adresy kanoniczne 63% i 27%, architektura i linkowanie wewnętrzne 73% i 82%, indeksowanie 70% i 39%, dane strukturalne 53% i 70%, linki zewnętrzne 27% i 33%, paginacja 20% i 39%, AI i widoczność w czatach 0% i 12%.Audyty z lat 2020-2022 (30)Audyty z lat 2023-2026 (33)Przekierowania i kodyodpowiedzi90%70%Robots.txt i mapawitryny77%55%Adresy kanoniczne iduplikaty63%27%Architektura ilinkowaniewewnętrzne73%82%Indeksowanie70%39%Dane strukturalne53%70%Linki zewnętrzne27%33%Paginacja20%39%AI i widoczność wczatach0%12%Nowsze audyty częściej dotyczą danych strukturalnych i paginacji, rzadziej przekierowańPoziome słupki dla dziewięciu obszarów. Przy każdym dwa słupki: odsetek audytów z lat 2020-2022 (z 30) i z lat 2023-2026 (z 33), w których zgłoszono problem z obszaru. Przekierowania i kody 90% i 70%, robots.txt i mapa witryny 77% i 55%, adresy kanoniczne 63% i 27%, architektura i linkowanie wewnętrzne 73% i 82%, indeksowanie 70% i 39%, dane strukturalne 53% i 70%, linki zewnętrzne 27% i 33%, paginacja 20% i 39%, AI i widoczność w czatach 0% i 12%.Audyty z lat 2020-2022 (30)Audyty z lat 2023-2026 (33)Przekierowania i kody odpowiedzi90%70%Robots.txt i mapa witryny77%55%Adresy kanoniczne i duplikaty63%27%Architektura i linkowanie wewnętrzne73%82%Indeksowanie70%39%Dane strukturalne53%70%Linki zewnętrzne27%33%Paginacja20%39%AI i widoczność w czatach0%12%
Odsetek audytów, w których zgłoszono co najmniej jeden problem z obszaru; rok to data pliku w archiwum. Zmienił się skład audytów i sposób pracy, więc wykres pokazuje, czym zajmowały się audyty, a nie zmianę stanu stron.

Spadek nie dowodzi, że problemy z przekierowaniami zniknęły. Zmienił się skład audytów: nowsze częściej dotyczyły danych strukturalnych, treści i widoczności w AI, a zmienił się też sposób pracy. Z tego wykresu wynika, czym zajmowały się audyty, a nie to, jak zmieniły się strony w Polsce.

Jakie zalecenia SEO są dziś nieaktualne?

Niektóre zalecenia wciąż pojawiają się w audytach i poradnikach, choć dziś nie warto ich wdrażać. Część z nich działała kilka lat temu, a część Google odradzał albo pomijał od dawna. W tabeli przy każdej praktyce podaję powód i to, co robić zamiast niej.

Nieaktualna praktykaDlaczego dziś nieCo robić zamiast
Canonical ze wszystkich stron paginacji na pierwszą stronęGoogle odradza to od 2013 roku i zaleca każdej stronie paginacji własny canonicalKażda strona paginacji z własnym canonical i indeksowalna
Znaczniki FAQPage i HowTo dla wyników rozszerzonychOd 8 sierpnia 2023 Google pokazuje wyniki FAQ tylko dla znanych serwisów rządowych i medycznych, a od 13 września 2023 nie pokazuje wyników HowToSekcja pytań w treści, gdy wyniki Google pokazują pytania użytkowników
Wewnętrzny nofollow, żeby skierować moc linków na ważne stronyOd 2009 roku moc, która przypada na link z nofollow, nie przechodzi na pozostałe linki na stronieUsunięcie zbędnych linków z szablonu
Przekierowanie na stronę główną, gdy brak odpowiednikaGoogle traktuje masowe przekierowania na stronę główną jak soft 404, czyli jak brak stronyNajbliższy odpowiednik tematyczny albo kod 410
Crawl-delay w robots.txtGoogle nigdy nie obsługiwał tej dyrektywyTempo pobierania ustawione na serwerze albo w CDN
Pola changefreq i priority w mapie witrynyGoogle ich nie używa, co potwierdził w 2023 rokuPoprawna data ostatniej zmiany i tylko adresy kanoniczne z kodem 200
FID jako kryterium szybkościOd 12 marca 2024 zastąpił go INPINP z danych użytkowników
WebSite z SearchAction dla pola wyszukiwania w wynikachGoogle wyłączył to pole od 21 listopada 2024Znacznik WebSite tylko do nazwy witryny

Źródła do tabeli: Google o paginacji, Google o pięciu błędach z rel=canonical, Google o wynikach FAQ i HowTo, Matt Cutts o nofollow i rozdziale mocy linków, John Mueller o przekierowaniach na stronę główną, za Search Engine Roundtable, Google o robots.txt, Google o nieobsługiwanych regułach w robots.txt, Google o mapach witryny, Google o polach lastmod, changefreq i priority, web.dev o INP, Google o polu wyszukiwania w wynikach.

Dlatego każde zalecenie w moim katalogu ma pole aktualności z uzasadnieniem. Katalog oznacza dziś 14 typów zaleceń jako przestarzałe i 30 jako zmienioną praktykę. Zalecenie, które było poprawne kilka lat temu, nie trafi do audytu tylko dlatego, że kiedyś działało.

Jak sprawdzić dostęp robotów AI w audycie?

Dostęp robotów AI sprawdzam w tym samym kroku co dostęp Googlebota, bo zablokować je potrafi to samo ustawienie zapory albo CDN. CDN to sieć serwerów pośredniczących, na przykład Cloudflare. We wrześniu 2026 sprawdziłem 12 domen moich klientów, które działają za Cloudflare. Sam plik robots.txt pokazał:

  • 3 domeny blokowały ten sam zestaw siedmiu robotów zbierających dane do trenowania modeli, z identyczną listą nazw. Identyczna lista sugeruje wspólne źródło, na przykład gotowe ustawienie w panelu Cloudflare. Z zewnątrz tego ustawienia nie widać, więc trzeba je potwierdzić w samym panelu.
  • 1 domena blokowała roboty, które pobierają strony do odpowiedzi ChatGPT, Perplexity i Claude. Nie robiła tego wprost, tylko ogólną regułą dla wszystkich robotów niewymienionych z nazwy. Ta sama domena pokazywała GPTBotowi stronę zabezpieczenia bez znacznika noindex, który wyłącza stronę z indeksu. Gdyby taką stronę dostał robot indeksujący, do indeksu mogłaby trafić strona blokady zamiast treści.
  • 8 domen nie miało blokad w robots.txt.

O robotach, które pobierają strony do odpowiedzi, i o robotach, które zbierają dane do trenowania, decydujesz osobno. W tekście o pozycjonowaniu w AI opisałem, jak je rozróżnić. Od 31 sierpnia 2026 jest też osobne ustawienie w Search Console, które wyklucza stronę z AI Overview, trybu AI i funkcji generatywnych w Discover. Według Google nie wpływa ono na resztę wyników wyszukiwania (Pomoc Search Console). Takie ustawienie sprawdzam w audycie tak samo jak robots.txt, bo ktoś mógł je włączyć bez wiedzy osoby odpowiedzialnej za SEO. Czy po otwarciu dostępu marka pojawia się w odpowiedziach, to już osobny pomiar, który opisałem w tekście o widoczności marki w AI.

Test z jednego adresu IP pokazuje tylko część sytuacji, a sam potrafi dać fałszywy alarm. W tym samym przeglądzie seria zapytań zgłosiła na dwóch domenach blokadę po przekroczeniu limitu. Tę blokadę wywołały moje własne wcześniejsze zapytania. Kontrola kilka minut później, z jednym identyfikatorem robota i pojedynczymi zapytaniami, dała pięć i siedem poprawnych odpowiedzi z rzędu. Gdyby nie ta kontrola, dwóch klientów dostałoby informację o blokadzie, której nie było. Dopiero logi serwera pokazują, czy ChatGPT faktycznie pobiera stronę. W tekście o pliku llms.txt pokazuję, co widać w logach mojej strony.

Kod 200 nie znaczy, że robot dostał treść. U jednego klienta z aplikacją w JavaScripcie Googlebot i Bingbot dostawały gotowy HTML z usługi prerenderu, a roboty asystentów AI pustą stronę. Usługa rozpoznawała roboty po nazwie i nie miała robotów AI na liście. Mój test dał wynik „w porządku”, bo mierzył kod odpowiedzi, a nie treść. Od tego czasu porównuję treść, którą dostaje robot, z treścią po wykonaniu JavaScriptu w przeglądarce.

Czy darmowy audyt SEO wystarczy?

Darmowe narzędzie pokaże listę błędów, ale z samego raportu nie wynika, które z nich kosztują Cię ruch. Na frazę „audyt seo” 7 z 9 wyników organicznych na pierwszej stronie Google to narzędzia albo oferty darmowego audytu (wyniki z 17 października 2026). Taki raport liczy błędy według reguł narzędzia, a nie według tego, ile ruchu i przychodu od nich zależy. Trzeba też sprawdzić, czy wynik nie pochodzi z blokady robota, jak w przypadku sklepu z wynikiem zdrowia 0.

Dużo zrobisz bezpłatnie, jeśli wiesz, gdzie patrzeć. Search Console pokazuje dane Google o indeksowaniu, Core Web Vitals i stronę po wykonaniu JavaScriptu. Darmowa wersja Screaming Frog przechodzi do 500 adresów w jednym crawlu (Screaming Frog), co wystarcza na małą stronę firmową. Audyt z konsultantem ma sens wtedy, gdy błąd dużo kosztuje (migracja, spadek ruchu, duży sklep) albo gdy nie masz czasu, żeby dane zestawić i ocenić.

Czy ChatGPT zrobi audyt SEO?

ChatGPT ani inny model AI nie zrobi pełnego audytu sam, bo nie widzi strony tak jak robot wyszukiwarki. Zwykle widzi ją przez narzędzie, które ją pobiera i zamienia na tekst. Model przeczyta dane, które mu dasz, i zaproponuje, co sprawdzić. Narzędzie pobierania potrafi jednak zgubić część strony: we wrześniu 2026 sprawdziłem, że narzędzie do pobierania stron w Claude Code wycina dane strukturalne przy zamianie strony na tekst. Model odpowiedział, że informacji nie ma, choć była w znaczniku na tej samej stronie. Audyt zrobiony w ten sposób zgłosiłby brak danych strukturalnych, których nie brakuje. W moim procesie AI jest narzędziem, przede wszystkim do agregacji danych z crawla, Search Console i innych źródeł. Zakres, ocenę i priorytety ustalam sam.

Ile kosztuje audyt SEO?

Audyt rozliczam tak jak konsultację: 300 zł netto za godzinę pracy, z górną granicą godzin ustaloną przed startem. Liczba godzin zależy od tego, co trzeba sprawdzić:

  • audyt diagnostyczny, czyli jeden albo dwa konkretne problemy (spadek, migracja, indeksowanie), to zwykle 10-16 godzin, czyli 3 000-4 800 zł netto;
  • pełny audyt z kolejnością działań to zwykle 32-50 godzin, czyli 9 600-15 000 zł netto;
  • mała strona do 500 adresów jest bliżej dolnej granicy, a sklep z tysiącami adresów i filtrami bliżej górnej;
  • wersje językowe dodają zwykle 3-5 godzin, a trwający kryzys, który trzeba zdiagnozować, 4-8 godzin.

W cenie jest analiza, raport z zaleceniami, spotkanie, na którym go omawiamy, i sprawdzenie po wdrożeniu. Samo wdrożenie robi Twój zespół albo wyceniam je osobno.

Bez dostępu do Search Console, panelu CDN i hostingu części technicznej nie sprawdzę w pełni i mówię o tym przed wyceną. Wskazuję wtedy, czego bez tych dostępów nie zweryfikuję, i odpowiednio zawężam zakres. W tekście o konsultacji SEO opisałem, kiedy zamiast audytu wystarczy rozmowa o jednej decyzji.

Najczęstsze pytania o audyt SEO

Ile trwa audyt SEO?

Audyt diagnostyczny jednego albo dwóch problemów to zwykle 10-16 godzin pracy, a pełny audyt 32-50 godzin. Termin w kalendarzu zależy głównie od tego, jak szybko dostanę dostępy do Search Console, analityki i hostingu. Zależy też od wielkości strony, bo crawl z wykonaniem JavaScriptu i bez niego uruchamiam po kolei.

Jak samemu zrobić audyt strony internetowej?

Zacznij od robots.txt i sprawdź, czy plik istnieje i czy niczego ważnego nie blokuje. Potem w Search Console otwórz raport indeksowania stron i wybierz widok przesłanych stron z mapy witryny. Zobacz, które adresy nie są zaindeksowane i z jakiego powodu. Na koniec przepuść stronę przez darmową wersję Screaming Frog i poszukaj linków do przekierowań i błędów 404 oraz zduplikowanych tytułów i opisów stron. To najczęstsze problemy w moich audytach i wykryjesz je bez płatnych narzędzi.

Jak często robić audyt SEO?

Pełny audyt robię przed dużą zmianą (migracja, nowy system, przebudowa) i sprawdzam stronę po wdrożeniu. Między audytami wystarcza stały pomiar: alerty w Search Console i crawl z tą samą konfiguracją co poprzednio, żeby porównywać wyniki, a nie zaczynać od zera.

Co powinien zawierać raport z audytu SEO?

Raport powinien zaczynać się od tabeli wszystkich zagadnień z priorytetem i nakładem pracy. Przy każdym zagadnieniu potrzebny jest opis problemu, jego wpływ, rozwiązanie krok po kroku, dowód (zrzut, kod, wykres) i sposób sprawdzenia po wdrożeniu. Raport bez kolejności działań i bez dowodów to lista błędów, a nie audyt.

Czy audyt SEO poprawi pozycje w Google?

Sam audyt nic nie zmienia na stronie, efekt daje dopiero wdrożenie. Dlatego po wdrożeniu sprawdzam zmiany na działającej stronie, a efekt mierzę na frazach i stronach, których dotyczyły zmiany, a nie na ogólnym ruchu.

Czy audyt SEO obejmuje widoczność w AI?

Obejmuje dostęp robotów asystentów AI do strony: robots.txt, zaporę, CDN i to, co robot dostaje w HTML. Samą widoczność marki w odpowiedziach AI mierzę osobno, na zestawie pytań klientów, bo to inny pomiar niż audyt strony.

Od czego zacząć?

Zacznij od jednego pytania: czy strona traci ruch, czy go nie buduje. Od odpowiedzi zależy, czy najpierw chronisz strony, które mają pozycje, czy szukasz fraz, pod które brakuje stron. Potem zrób trzy darmowe sprawdzenia z odpowiedzi o samodzielnym audycie: robots.txt, raport indeksowania w Search Console i crawl darmową wersją Screaming Frog. Jeśli wynik Cię zaskoczy albo nie wiesz, co naprawić najpierw, to dobry temat na konsultację.

Źródła zewnętrzne (sprawdzone 18 października 2026):

  • Google Search Central: How Google interprets the robots.txt specification (developers.google.com)
  • Google Search Central: Build and submit a sitemap (developers.google.com)
  • Google Search Central Blog: A note on unsupported rules in robots.txt (developers.google.com)
  • Google Search Central Blog: Sitemaps ping endpoint is going away (developers.google.com)
  • Google Search Central: Pagination, incremental page loading, and their impact on Google Search (developers.google.com)
  • Google Search Central Blog: 5 common mistakes with rel=canonical (developers.google.com)
  • Google Search Central: Understanding page experience in Google Search results (developers.google.com)
  • Google Search Central Blog: Changes to HowTo and FAQ rich results (developers.google.com)
  • Google Search Central Blog: Farewell, sitelinks search box (developers.google.com)
  • web.dev: Interaction to Next Paint becomes a Core Web Vital on March 12 (web.dev)
  • Search Console API: Getting all your data (developers.google.com)
  • Search Console Help: Export data directly from a Search Console report (support.google.com)
  • Search Console Help: Search generative AI control (support.google.com)
  • Search Engine Roundtable: Google, 301 redirects to the home page are soft 404s (seroundtable.com)
  • Matt Cutts: PageRank sculpting (mattcutts.com)
  • Screaming Frog: SEO Spider (screamingfrog.co.uk)

Dane własne: archiwum 77 audytów z lat 2020-2026 i katalog 256 typów problemów (11 października 2026), przegląd dostępu robotów na 12 domenach (12 września 2026), wyniki Google i popyt DataForSEO (17 października 2026).