Spis treści
Wprowadzenie
Technical SEO to fundament, na którym stoi cała widoczność Twojej strony w Google. Możesz mieć najlepszy content, najmocniejsze linki i dopracowaną strategię słów kluczowych – ale jeśli Google nie potrafi tej strony porządnie zcrawlować, zaindeksować i zrenderować, to wszystko jest nic niewarte. Naprawdę nic.
Przez 18 lat pracy w SEO widziałem setki witryn, które traciły ruch przez problemy techniczne – a ich właściciele nie mieli o tym zielonego pojęcia. I nie mówię tu o jakichś egzotycznych przypadkach na granicy nerda. Mówię o banalnych błędach, które wracają jak bumerang, strona po stronie.
W tym artykule pokażę Ci 10 najczęstszych błędów Technical SEO, które realnie kosztują Cię pozycje. Przy każdym z nich znajdziesz:
- Czym jest problem i dlaczego jest groźny
- Jak go zdiagnozować (narzędzia + komendy)
- Jak go naprawić – krok po kroku
- Realny przykład z mojej praktyki
Dla kogo jest ten artykuł? Dla właścicieli stron, marketerów i developerów, którzy łapią się za głowę, czemu strona z dobrym contentem nie rankuje. Spokojnie – nie musisz być programistą, żeby zdiagnozować większość z tych problemów.
Blokowanie crawlowania przez robots.txt
Dlaczego to problem?
robots.txt to pierwsza rzecz, po którą sięga Googlebot, gdy wpada na Twoją stronę. Zablokujesz tu przez przypadek ważne zasoby – i Google ich po prostu nie zobaczy.
A czego Google nie widzi, tego dla wyszukiwarki nie ma. Koniec, kropka.
Najczęstsze scenariusze, na które się natykam:
-
Disallow: /– zablokowana cała strona (klasyk zostawiony po etapie deweloperskim) - blokada katalogów CSS/JS – Google nie ma jak zrenderować strony
- blokada katalogów ze zdjęciami – obrazy nie wpadają do Google Images
- reguły z wildcardami, które łapią więcej, niż się komukolwiek śniło
Jak zdiagnozować?
Zacznij od najprostszego: wpisz w przeglądarce twojadomena.pl/robots.txt i zobacz, co tam siedzi.
Potem zajrzyj do Google Search Console → Ustawienia → Plik robots.txt – pokaże dokładnie to, co widzi sam Google, a nie to, co Ci się wydaje.
W Screaming Frog puść crawl i rzuć okiem na kolumnę „Indexability" – strony ucięte przez robots.txt od razu rzucą się w oczy.
# Przykład prawidłowego robots.txt
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /cart/
Disallow: /checkout/
Disallow: /search?
Sitemap: https://twojadomena.pl/sitemap.xml Jak naprawić?
- Sprawdź aktualny plik robots.txt
- Upewnij się, że nie blokujesz CSS, JS ani obrazów
- Usuń regułę
Disallow: /, jeśli strona jest gotowa do indeksacji - Dodaj ścieżkę do sitemap.xml
- Przetestuj w Google Search Console → Tester robots.txt
Z mojej praktyki: Klient odezwał się trzy miesiące po redesignie – ruch organiczny w dół o 90%. Zgadniesz, co znalazłem? Developer zostawił Disallow: / w robots.txt po przeniesieniu ze stagingu na produkcję. Naprawa zajęła trzy minuty. Strata – trzy miesiące. Aż boli.
Brak lub błędna mapa witryny (sitemap.xml)
Dlaczego to problem?
Mapa witryny (sitemap.xml) to po prostu lista adresów, które chcesz mieć w indeksie Google. Bez niej Googlebot musi sam wydeptać ścieżki do Twoich podstron przez linkowanie wewnętrzne. W praktyce wygląda to tak: nowe albo słabo podlinkowane strony lądują w indeksie z potężnym opóźnieniem – albo nie lądują wcale.
Częste wpadki w mapach witryny:
- adresy zwracające 404, 301 albo z tagiem
noindex - adresy z innej domeny lub protokołu (http zamiast https)
- przekroczony limit 50 000 adresów / 50 MB na jeden plik
- mapa, której nikt nie zgłosił w Google Search Console
Jak zdiagnozować?
Wejdź na twojadomena.pl/sitemap.xml i zobacz, czy w ogóle istnieje i czy są w niej aktualne adresy. Potem w Google Search Console → Mapy witryn sprawdzisz status przetwarzania i liczbę wykrytych adresów.
Jak naprawić?
- Wygeneruj mapę automatycznie – wtyczką SEO, frameworkiem albo generatorem
- Zostaw w niej wyłącznie kanoniczne adresy 200 OK, indeksowalne
- Duże serwisy podziel na mapy tematyczne i spnij je przez sitemap index
- Wskaż mapę w
robots.txti zgłoś ją w Search Console
Mapa witryny to nie śmietnik na wszystko, co masz. To krótka lista stron, które naprawdę chcesz widzieć w Google.
Z mojej praktyki: Sklep miał w mapie 12 tysięcy adresów, a w indeksie ledwie 800. Okazało się, że generator wrzucał tam wszystko jak leci – strony filtrów, koszyki, wyniki wyszukiwania. Wyczyściliśmy mapę do realnych kategorii i produktów i w kilka tygodni indeksacja ruszyła z miejsca. Czasem mniej naprawdę znaczy więcej.
Zduplikowany content i brak tagów canonical
Dlaczego to problem?
Wyobraź sobie, że ta sama treść siedzi pod kilkoma adresami naraz – z parametrami filtrowania, w wersji z www i bez, ze slashem na końcu i bez niego. Google staje wtedy przed pytaniem: którą wersję w ogóle pokazać? I zamiast jednej mocnej strony masz kilka słabszych – rozproszona moc linków, kanibalizacja, przepalony budżet crawlowania.
Canonical to Twój sposób, żeby powiedzieć Google wprost: „ta wersja jest tą właściwą". Bez tego zgaduje za Ciebie – i nie zawsze trafia.
Jak zdiagnozować?
W Search Console → Strony wypatruj statusów „Duplikat" oraz „Alternatywna strona z właściwym tagiem kanonicznym". Screaming Frog z kolei wyłapie zdublowane tytuły i treści oraz brakujące canonical.
<!-- Tag canonical w sekcji <head> -->
<link rel="canonical" href="https://twojadomena.pl/produkt" /> Jak naprawić?
- Ustaw self-referencing canonical na każdej kanonicznej stronie
- Wybierz jedną wersję domeny (https z www lub bez) i przekieruj resztę przez 301
- Ujednolić adresy z parametrami – canonical kieruj do wersji bazowej
- Nie mieszaj canonical z
noindexna tej samej stronie – to sprzeczne sygnały
Wolne ładowanie strony (Core Web Vitals)
Dlaczego to problem?
Szybkość to czynnik rankingowy, ale – szczerze? – jeszcze bardziej jest czynnikiem konwersji. Wolna strona traci klientów, zanim Google w ogóle wejdzie do gry. Core Web Vitals opisują realne odczucia użytkownika trzema liczbami:
- LCP (Largest Contentful Paint) – czas wczytania głównej treści, cel < 2,5 s
- INP (Interaction to Next Paint) – responsywność, cel < 200 ms
- CLS (Cumulative Layout Shift) – stabilność układu, cel < 0,1
Jak zdiagnozować?
Sięgnij po PageSpeed Insights (dane laboratoryjne i polowe), raport Core Web Vitals w Search Console oraz zakładkę Lighthouse w Chrome DevTools. Moja rada: patrz głównie na dane polowe – to one pokazują, jak stronę odbierają realni użytkownicy, a nie laboratorium.
Jak naprawić?
- Kompresuj i serwuj obrazy w formatach WebP/AVIF, dodaj
width/height - Włącz lazy-loading dla treści poniżej linii zgięcia
- Minifikuj i odraczaj zbędny JavaScript, ogranicz zewnętrzne skrypty
- Włącz cache i CDN, zarezerwuj miejsce na elementy (eliminacja CLS)
Brak responsywności mobilnej
Dlaczego to problem?
Google ocenia strony w modelu mobile-first – czyli pod lupę bierze przede wszystkim wersję mobilną. Jeśli na telefonie tekst jest nieczytelny, przyciski mikroskopijne, a treść wyłazi poza ekran, tracisz i pozycje, i klientów. A mówimy o ponad połowie ruchu.
Dla Google Twoja strona to przede wszystkim ta na telefonie. Desktop jest dziś dodatkiem, nie odwrotnie.
Jak zdiagnozować?
Odpal Chrome DevTools w trybie urządzenia, przejdź test optymalizacji mobilnej i zerknij na raport „Obsługa na urządzeniach mobilnych" w Search Console. I najważniejsze – weź telefon do ręki i poklikaj po stronie jak normalny człowiek. Żadne narzędzie tego nie zastąpi.
Jak naprawić?
- Stosuj responsywny layout (RWD) zamiast osobnej domeny mobilnej
- Dodaj poprawny
<meta name="viewport"> - Cele dotykowe min. 48×48 px, czytelna typografia (≥16 px)
- Ta sama treść i dane strukturalne na mobile i desktop
Błędy indeksacji (noindex, nofollow w złych miejscach)
Dlaczego to problem?
Tag noindex to dla Google jasny komunikat: „tej strony nie pokazuj w wynikach". Problem w tym, że potrafi wskoczyć na ważne podstrony przez przypadek – po migracji albo globalnie z poziomu motywu – i po cichu wymiata je z indeksu. nofollow z kolei zakręca kurek z mocą linków.
Jeden zabłąkany noindex potrafi narobić więcej szkód niż dziesięć słabych tekstów. I jest cichy – nic nie wybucha, ruch po prostu znika. Jak zdiagnozować?
W Search Console szukaj statusu „Wykluczona przez tag noindex", a w Screaming Frog odpal filtr Directives → Noindex. Nie zapomnij o nagłówku HTTP X-Robots-Tag – działa dokładnie tak samo jak meta, a łatwo go przeoczyć, bo nie widać go w kodzie strony.
Jak naprawić?
- Usuń
noindexze stron, które mają rankować - Zostaw go świadomie tylko na koszyku, logowaniu, podziękowaniach itp.
- Sprawdź ustawienia CMS „odradzaj wyszukiwarkom indeksowania"
- Po poprawce użyj „Sprawdź URL → Poproś o zindeksowanie"
Łańcuchy przekierowań i błędy 301/302
Dlaczego to problem?
Każde przekierowanie to dodatkowy skok i ciut utraconej mocy. A teraz wyobraź sobie łańcuch: A → B → C → D. Strona zwalnia, crawlowanie się męczy, a moc rozmywa się po drodze. Do tego użycie 302 (tymczasowe) tam, gdzie powinno stać 301 (trwałe), sprawia, że Google nie przekazuje pełnej mocy na nowy adres.
Jak zdiagnozować?
Screaming Frog → raport Redirect Chains rozrysuje Ci całe łańcuchy i pętle jak na dłoni. Warto też zerknąć na kody odpowiedzi w logach serwera albo w narzędziu typu Redirect Path.
Jak naprawić?
- Skróć łańcuchy do jednego skoku – z A prosto na D
- Stosuj 301 przy zmianach trwałych, 302 zostaw na to, co naprawdę tymczasowe
- Podmień linki wewnętrzne tak, żeby celowały od razu w docelowy adres
- Wytęp pętle przekierowań i przekierowania prowadzące do 404
Z mojej praktyki: Po dwóch migracjach z rzędu jeden serwis miał łańcuchy po cztery–pięć skoków na starych adresach. Każda kolejna ekipa dorzucała swoje przekierowanie na wierzch poprzednich. Spłaszczenie wszystkiego do jednego skoku i podmiana linków wewnętrznych przyspieszyły crawlowanie tak, że Google zaczął odwiedzać nowe podstrony zauważalnie częściej.
Brak danych strukturalnych (Schema Markup)
Dlaczego to problem?
Dane strukturalne (Schema.org) pomagają Google rozszyfrować kontekst Twojej treści – i odblokowują rich snippets: gwiazdki ocen, ceny, FAQ, breadcrumbs, przepisy. Brzmi banalnie? A jednak to one robią różnicę: wynik w SERP staje się większy i bardziej klikalny, więc przy tej samej pozycji wyciągasz wyższy CTR.
<!-- Przykład JSON-LD dla artykułu -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Technical SEO – 10 błędów",
"author": { "@type": "Person", "name": "Sebastian Baryś" }
}
</script> Jak naprawić?
- Dobierz typy schema do treści (Article, Product, FAQPage, LocalBusiness…)
- Wdróż je w formacie JSON-LD – to format rekomendowany przez Google
- Sprawdź wynik w teście elementów rozszerzonych i w Schema Markup Validator
- Nie oznaczaj treści, której na stronie nie ma – to prosta droga do kary
Problemy z renderowaniem JavaScript
Dlaczego to problem?
Gdy kluczowa treść albo linki pojawiają się dopiero po odpaleniu JavaScriptu – co jest chlebem powszednim w SPA na React, Vue czy Angularze – Google musi przejść przez kosztowny etap renderowania. I bywa różnie: czasem treść nie trafia do indeksu w ogóle, a czasem ląduje tam z solidnym opóźnieniem.
Jeśli treść widać dopiero po wykonaniu JS, to dla Google jest ona w najlepszym razie „na później". A „na później" w SEO często znaczy „nigdy".
Jak zdiagnozować?
W Search Console wejdź w Sprawdź URL → Przetestuj URL na żywo → Zrzut ekranu / HTML i zobacz, co Google naprawdę wyrenderował. Dobry trik: wyłącz JavaScript w przeglądarce i porównaj surowy kod źródłowy z wyrenderowanym DOM. Różnice powiedzą Ci wszystko.
Jak naprawić?
- Stosuj SSR lub SSG (np. Astro, Next.js) dla treści krytycznej dla SEO
- Alternatywnie dynamic rendering / prerendering dla botów
- Linki jako prawdziwe
<a href>, nie zdarzenia onClick - Nie blokuj plików JS/CSS w robots.txt
Brak HTTPS i problemy z bezpieczeństwem
Dlaczego to problem?
HTTPS to potwierdzony czynnik rankingowy i po prostu podstawa zaufania. Strona bez certyfikatu SSL dostaje od przeglądarki łatkę „niezabezpieczona" – a to skutecznie odstrasza odwiedzających i podbija współczynnik odrzuceń. Na dokładkę treści mieszane (mixed content) psują i bezpieczeństwo, i wygląd strony.
Jak zdiagnozować?
Spójrz na kłódkę w pasku adresu i sprawdź ważność certyfikatu. W DevTools → Console wyskoczą ostrzeżenia o mixed content. I upewnij się, że http przekierowuje przez 301 na https – to częsty pominięty detal.
Jak naprawić?
- Zainstaluj certyfikat SSL – często jest darmowy, choćby Let's Encrypt
- Wymuś 301 z http na https i ujednolić wersję z www / bez www
- Przestaw wszystkie zasoby na https i pożegnaj się z mixed content
- Zaktualizuj canonical, sitemap oraz adres w Search Console
FAQ – najczęstsze pytania
Czym właściwie jest Technical SEO?
To optymalizacja technicznych aspektów strony – tych, które decydują o tym, czy wyszukiwarka w ogóle da radę ją zcrawlować, zaindeksować i zrenderować. Mieści się tu sporo rzeczy: robots.txt, mapy witryn, szybkość ładowania, HTTPS, dane strukturalne i czysty kod. Mówiąc wprost – to wszystko, co przesądza o tym, czy Google „zobaczy" i zrozumie Twoją stronę.
Jak często robić audyt techniczny?
Pełny audyt raz na kwartał w zupełności wystarczy – plus zawsze po większej zmianie: migracji, redesignie, podmianie CMS-u. Ale dwie rzeczy trzymam pod stałą obserwacją: błędy indeksacji i Core Web Vitals. Te potrafią się popsuć z dnia na dzień, więc zerkam na nie w Search Console regularnie, a nie raz na trzy miesiące.
Czy muszę umieć programować, żeby to naprawić?
Sporo poprawek ogarniesz sam, z poziomu CMS-u albo wtyczki SEO – robots.txt, sitemap, noindex, proste przekierowania. Schody zaczynają się przy renderowaniu JavaScriptu, Core Web Vitals czy przekierowaniach serwerowych. Tu zwykle przyda się developer albo ktoś, kto siedzi w tym na co dzień.
Które błędy techniczne są najgroźniejsze?
Najszybciej bolą te, które wyrzucają stronę z indeksu: błędny robots.txt blokujący całą witrynę i przypadkowy noindex. Taki drobiazg potrafi skasować ruch organiczny w kilka dni – widziałem to nieraz. Reszta (szybkość, duplikaty, schema) działa wolniej, ale w dłuższej perspektywie ciągnie pozycje w dół równie skutecznie.
Czy samo Technical SEO wystarczy, żeby wysoko rankować?
Nie – to fundament, nie cały dom. Technical SEO usuwa bariery i pozwala Google rzetelnie ocenić stronę, ale o pozycjach przesądza też jakość treści, intencja użytkownika i profil linków. Traktuj je jak warunek konieczny: bez niego cała reszta pracuje na pół gwizdka.
Czym sprawdzę Technical SEO za darmo?
Bazę ogarniesz bez wydawania złotówki: Google Search Console (indeksacja, Core Web Vitals, mapy witryn), PageSpeed Insights (szybkość), test wyników z elementami rozszerzonymi (dane strukturalne) oraz Chrome DevTools z Lighthouse. Screaming Frog w darmowej wersji przejedzie 500 adresów – dla mniejszego serwisu w zupełności starczy.
Podsumowanie
Technical SEO to nie akcja „napraw i zapomnij". To proces, który toczy się cały czas i wymaga regularnego doglądania. Każda zmiana na stronie – nowa podstrona, aktualizacja CMS-u, redesign – potrafi po cichu wprowadzić świeży problem techniczny. Dlatego nie pytaj, czy coś się zepsuje, tylko kiedy to wyłapiesz.
Najtańszy błąd techniczny to ten, który złapiesz, zanim Google zdąży go zauważyć.
Checklista Technical SEO
Źródła i materiały
Oficjalne dokumentacje i narzędzia, na których warto opierać decyzje techniczne:
Nie wiesz, które błędy ma Twoja strona?
Zamów audyt Technical SEO – zdiagnozuję wszystkie problemy i przygotuję priorytetyzowaną listę napraw.
Zamów audyt Technical SEOSebastian Baryś
Freelancer SEO z Częstochowy. 18 lat doświadczenia, 200+ projektów. Specjalizacja: SEO, Google Ads, Technical SEO.