Co to jest techniczne SEO i jak zoptymalizować stronę?

Techniczne SEO to warstwa, o której przypomina się zwykle za późno – gdy strona ma dobre teksty, kilka linków i nadal nie rośnie. Optymalizacja techniczna nie polega na dopieszczaniu wyników w testach, tylko na usuwaniu przeszkód: blokad w indeksacji, duplikatów, wolnego renderowania. Poniżej znajdziesz to, co realnie sprawdzić na własnej witrynie, w jakiej kolejności to naprawiać i kiedy problem jest na tyle poważny, że wymaga audytu technicznego SEO.

Grafika przedstawiająca techniczne SEO oraz najważniejsze elementy optymalizacji strony internetowej pod wyszukiwarki i modele AI.

Techniczne SEO decyduje, czy Google w ogóle zobaczy Twoją treść

Techniczne SEO to zbiór działań dotyczących infrastruktury strony – nie treści i nie linków zewnętrznych, ale architektury oraz sposobu, w jaki serwis komunikuje się z robotami wyszukiwarek. Jego zadanie jest proste: umożliwić Googlebotowi dotarcie do każdej podstrony, poprawne jej wyrenderowanie i zrozumienie kontekstu.

To rozróżnienie ma praktyczne konsekwencje. Content odpowiada na pytanie, co mówi strona. Link building buduje jej autorytet. Techniczne SEO sprawia, że Google w ogóle może ją ocenić. Można mieć artykuł idealnie dopasowany do intencji i nie rankować, bo plik robots.txt blokuje katalog, canonical wskazuje na wersję staging, a treść generuje się dopiero po wykonaniu JavaScriptu.

Kolejność ma znaczenie. Optymalizacja treści i linki działają dopiero na fundamencie, który przepuszcza roboty. Odwrotnie to nie działa. Jeśli te trzy filary układają Ci się w głowie w jedną całość, warto cofnąć się o krok i sprawdzić, czym właściwie jest SEO i z czego się składa.

Jak sprawdzić stan techniczny strony w Google Search Console i PageSpeed Insights?

Nie potrzebujesz pełnego audytu, żeby znaleźć najpoważniejsze problemy. Cztery kroki poniżej zwykle wystarczą, żeby wiedzieć, czy masz do czynienia z awarią, czy z kosmetyką.

  • Google Search Console → Indeksowanie → Strony. Sprawdź, ile adresów jest w indeksie, a ile zostało odrzuconych i z jakiego powodu. Wzrost kategorii „Wykluczone” po wdrożeniu to najczęstszy sygnał alarmowy.

  • PageSpeed Insights. Przetestuj po jednym URL z każdego typu podstrony – nie tylko stronę główną. Patrz na dane terenowe (Field Data), bo to rzeczywiste doświadczenie użytkowników, a nie symulacja.

  • Plik robots.txt. Otwórz twojadomena.pl/robots.txt i przeczytaj go linijka po linijce. Po migracjach potrafi tam zostać Disallow: / ze środowiska testowego.

  • Screaming Frog (bezpłatnie do 500 adresów URL). Przeskanuj witrynę i sprawdź błędy 404, łańcuchy przekierowań oraz zduplikowane meta title.

Do tego dochodzi narzędzie „Sprawdź adres URL” w Search Console, które pokaże wyrenderowaną wersję strony. To najbliższe temu, co widzi robot. Cały zestaw do samodzielnej analizy technicznego SEO zmieści się w darmowych narzędziach SEO – płatne crawlery przydają się dopiero przy większych serwisach.

Schemat przedstawiający cztery kroki analizy stanu technicznego strony: Google Search Console, PageSpeed Insights, kontrolę pliku robots.txt oraz audyt w Screaming Frog.

Dlaczego Google nie indeksuje części Twoich podstron?

Brak indeksacji rzadko oznacza karę. Zwykle to jedna z czterech przyczyn: blokada techniczna, duplikacja, brak ścieżki dotarcia albo niska ocena wartości strony. Raport „Strony” w GSC podaje powód wprost – warto go przeczytać dosłownie, zanim zaczniesz zgadywać.

Typowy scenariusz w sklepie: kategoria istnieje, ma treść i produkty, ale prowadzi do niej jeden link z czwartej strony paginacji. Google odkrywa ją wolno i traktuje jako mało istotną. Drugi scenariusz: strona jest dostępna pod czterema wariantami adresu (z www i bez, http i https), więc wyszukiwarka widzi cztery kopie i indeksuje tę, którą sama uzna za główną. Jeśli problem dotyczy całego serwisu, a nie pojedynczych adresów, przyczyn bywa więcej niż techniczne – zebrałem je w osobnym materiale o tym, dlaczego strona nie jest widoczna w Google.

Plik robots.txt, meta robots i tag kanoniczny – co naprawdę robi każdy z nich

Te trzy mechanizmy są nagminnie mylone, a każdy robi coś innego. Pomylenie ich to najczęstsza przyczyna sytuacji, w której strona „ma noindex, a mimo to jest w Google” albo odwrotnie.

Mechanizm

Komunikat dla robota

Typowy błąd

robots.txt

„Nie skanuj tego adresu”

Blokowanie plików CSS i JS, przez co robot nie widzi strony tak jak użytkownik

meta robots / nagłówek X-Robots-Tag

„Nie umieszczaj tego w indeksie”

Zostawiony noindex na produkcji po wdrożeniu nowej wersji serwisu

rel=”canonical”

„To jest kopia – oryginał jest tutaj”

Tag kanoniczny wskazujący na stronę główną lub na środowisko testowe

Kluczowa zależność: strona zablokowana w robots.txt nie zostanie przeskanowana, więc Google nigdy nie odczyta z niej dyrektywy noindex. Jeśli chcesz coś usunąć z indeksu, potrzebujesz meta robots i dostępu robota do tej strony.

Mapa strony XML i linkowanie wewnętrzne, czyli jak doprowadzić roboty do ważnych stron

Mapa strony XML pomaga w odkrywaniu adresów, ale niczego nie gwarantuje. To spis treści, nie przepustka. Jeśli URL jest w sitemapie, a mimo to nie trafia do indeksu, przyczyna leży gdzie indziej – w blokadzie, duplikacji lub ocenie jakości.

Realną pracę wykonuje linkowanie wewnętrzne. Ono decyduje o dwóch rzeczach: czy robot dotrze do strony i jak wysoko oceni jej ważność w hierarchii serwisu. Strona podlinkowana z głównej nawigacji i kilku powiązanych artykułów jest traktowana zupełnie inaczej niż ta zakopana na czwartym poziomie.

  • Zgłoś mapę strony w GSC. Google znajdzie ją sam, ale nie ma powodu liczyć na przypadek – to dwa kliknięcia.

  • Wyeliminuj strony sieroty. To adresy bez żadnego linku wewnętrznego. Screaming Frog porównany z sitemapą pokaże je od ręki.

  • Spłaszcz strukturę. Ważne podstrony powinny być w zasięgu trzech kliknięć od strony głównej.

  • Zadbaj o nawigację i breadcrumbs. Sam układ menu strony internetowej przenosi więcej sygnałów, niż się wydaje – i jednocześnie mówi użytkownikowi, gdzie jest.

Crawl budget – kiedy Google marnuje zasoby na Twoje nieistotne adresy URL

Crawl budget to pula zasobów, jaką Google przeznacza na skanowanie Twojej witryny. Dla strony wizytówkowej z trzydziestoma podstronami to problem teoretyczny. Dla sklepu z filtrami – jak najbardziej realny.

Mechanizm jest prosty. Każda kombinacja filtrów (kolor, rozmiar, cena, producent) generuje osobny adres URL. Przy kilkuset produktach i kilku filtrach powstają tysiące adresów z niemal identyczną treścią. Robot przegląda je zamiast nowych kart produktowych. Efekt: świeże produkty wchodzą do indeksu tygodniami.

Wyjątkiem są filtry celowo zaprojektowane pod indeksację, na przykład osobne strony dla wariantów kolorystycznych o realnym potencjale wyszukiwania. To jednak świadoma decyzja strategiczna, a nie efekt uboczny działania szablonu.

Przyjazne adresy URL i struktura strony, którą rozumieją użytkownicy i roboty

Dobry adres URL opisuje zawartość i odzwierciedla hierarchię serwisu. Porównaj: domena.pl/blog/techniczne-seo/ kontra domena.pl/index.php?id=1247&cat=3. Pierwszy niesie informację dla robota i użytkownika, drugi tylko dla bazy danych.

Zasady optymalizacji adresów URL są mało kontrowersyjne: małe litery, myślniki zamiast podkreśleń, brak polskich znaków i znaków specjalnych, sensowna długość, fraza w adresie. Znacznie ważniejsza jest jednak inna zasada.

Nie zmieniaj istniejących adresów bez powodu. Każda zmiana wymaga przekierowania 301, a każde przekierowanie to strata części sygnałów i ryzyko błędu. Powyższe wytyczne dotyczą projektowania nowych struktur, nie porządkowania starych na siłę. Dobrze zaplanowana struktura strony internetowej oszczędza większość takich decyzji na starcie.

Core Web Vitals – jakie progi musi spełnić szybkość ładowania strony

Core Web Vitals to trzy wskaźniki mierzące realne doświadczenie użytkownika podczas ładowania. Google podaje dla nich konkretne progi:

Wskaźnik

Co mierzy

Próg „dobry”

LCP

Czas wyświetlenia największego elementu (zwykle grafiki hero lub nagłówka)

do 2,5 s

INP

Czas reakcji strony na interakcję użytkownika

do 200 ms

CLS

Przesuwanie się elementów podczas ładowania

do 0,1

Dwie rzeczy, o których łatwo zapomnieć. Po pierwsze, progi obowiązują na każdym typie podstrony, nie tylko na stronie głównej – a ta jest zwykle najlżejsza i najbardziej zadbana. Problemy zaczynają się na kategoriach z dziesiątkami miniatur i na starych wpisach blogowych. Po drugie, przyspieszenie strony o ułamek sekundy nie przełoży się na skok pozycji. Wolna witryna szkodzi, szybka nie daje przewagi automatycznie – szybkość ładowania strony to jeden z wielu czynników rankingowych Google, a nie przełącznik.

Jak przyspieszyć ładowanie witryny – kompresja obrazów, lazy loading i kompresja kodu

W praktyce za wolne ładowanie odpowiada kilka powtarzalnych przyczyn. Zanim zaczniesz optymalizować kod, sprawdź, czy nie masz któregoś z klasyków.

  • Nieskompresowane obrazy. Pliki PNG ważące po kilka megabajtów to najczęstszy powód złego LCP. Kompresja obrazów i konwersja do WebP lub AVIF dają największy zysk przy najmniejszym nakładzie.

  • Lazy loading grafik poniżej pierwszego ekranu. Uwaga: nie stosuj go do obrazu odpowiadającego za LCP, bo pogorszysz wynik zamiast go poprawić.

  • Kompresja kodu i usunięcie zbędnych skryptów. Trzy widgety czatu i pięć wtyczek robiących to samo obciążają stronę bardziej niż nieoptymalny CSS – tu zaczyna się właściwa optymalizacja kodu strony internetowej.

  • Cache przeglądarki i serwera. Powracający użytkownik dostaje wersję statyczną, co zdejmuje obciążenie z serwera.

  • CDN. Ma sens przy ruchu z wielu regionów. Przy lokalnym sklepie z klientami z jednego kraju zysk bywa symboliczny.

Jeśli mimo poprawek czas odpowiedzi serwera pozostaje wysoki, problem leży poza kodem. Wtedy jedynym sensownym ruchem jest zmiana hostingu. Osobnego zestawu poprawek wymaga najpopularniejszy CMS – tam większość zysku daje przyspieszenie strony na WordPressie od strony wtyczek i cache’owania.

Kiedy JavaScript ukrywa treść przed Google?

Googlebot renderuje JavaScript, ale nie od razu. Najpierw skanuje surowy HTML, a renderowanie trafia do osobnej kolejki. Efekt: treść generowana po stronie klienta może czekać na indeksację od kilku godzin do kilku dni.

Problem dotyczy głównie aplikacji SPA i serwisów opartych na frameworkach, gdzie w źródle strony widać pustą strukturę HTML bez treści. Diagnoza jest prosta: porównaj widok źródła (Ctrl+U) z DOM po wykonaniu skryptów w narzędziach deweloperskich. Jeśli w surowym HTML brakuje nagłówka H1 i głównej treści, masz odpowiedź.

Rozwiązania są trzy: renderowanie po stronie serwera (SSR), generacja statyczna dla treści niepersonalizowanych albo renderowanie dynamiczne jako obejście na czas migracji.

📊 Case study

Treść ukryta w JavaScripcie — jak techniczne SEO odblokowało widoczność w Google i zwiększyło ruch organiczny o 1000%

Firma z branży dekoracji ścian ze Skierniewic: z PageSpeed 15 na 75 i wzrostem widoczności o 1000% po naprawie warstwy technicznej.

PageSpeed mobile — przed
15
PageSpeed mobile — po
75

Problem: strona istniała, ale dla Google praktycznie jej nie było

Klient z branży dekoracji ścian ze Skierniewic zgłosił się z problemem, który brzmi znajomo: strona jest, treści są, a ruchu z Google nie ma. Serwis miał kilkadziesiąt podstron — ofertowych, realizacyjnych, blogowych — a mimo to duża ich część w ogóle nie trafiła do indeksu. Frazy związane z dekoracjami ścian nie generowały żadnych wejść, mimo lokalnej konkurencji, która nie była szczególnie silna.

Pierwsza hipoteza klienta brzmiała: „trzeba dopisać treści i dobrać lepsze słowa kluczowe”. Zanim jednak zaproponowałem cokolwiek na poziomie contentu, zrobiłem audyt techniczny. Kolejność ma tu znaczenie — pisanie tekstów na stronę, której Google nie potrafi odczytać, to wyrzucanie budżetu.

Wyniki pierwszych testów w PageSpeed Insights były jednoznaczne:

MetrykaMobileDesktop
Wynik PageSpeed15 / 10042 / 100
Czas ładowania (test ręczny, 4G)~8 s~4 s
Sam preloader przed treścią6 s6 s
Stosunek treści do koduponiżej 10%poniżej 10%
Podstrony poza indeksemwiększość serwisu
Score 15 na mobile to nie „jest do poprawy”. To poziom, przy którym część użytkowników zamyka stronę, zanim cokolwiek zobaczy a robot ma prawo uznać, że nie ma tam nic wartego zaindeksowania.

Diagnoza: problemem nie była treść, tylko dostęp do niej

Audyt pokazał coś, czego klient się nie spodziewał. Teksty na stronie były w porządku — merytoryczne, dopasowane do oferty, z sensownym doborem fraz. Problem polegał na tym, że Googlebot ich nie widział.

Treść zamknięta w blokach JavaScript

Kluczowe opisy usług zostały umieszczone wewnątrz komponentów obsługujących slidery i animowane przejścia. Efekt: w surowym kodzie HTML tych tekstów po prostu nie było. Pojawiały się dopiero po wykonaniu skryptów, na dodatek część z nich renderowała się dopiero po interakcji użytkownika ze sliderem.

Porównanie widoku źródła z DOM po wykonaniu JavaScriptu nie pozostawiało wątpliwości. Robot dostawał niemal pustą strukturę. Googlebot renderuje JS, ale robi to w drugiej fali i nie zawsze w całości. Crawlery AI zwykle nie robią tego wcale. Strona, na której cała wartość merytoryczna siedzi za skryptem, dla wyszukiwarki jest stroną bez treści. Stąd brak indeksacji i brak oceny jakości — nie było czego oceniać.

Preloader trzymający użytkownika 6 sekund przed pustym ekranem

Na starcie ładowała się animacja przejścia, która blokowała wyświetlenie czegokolwiek przez około 6 sekund. Dopiero po niej zaczynało się właściwe renderowanie treści. Do LCP dokładał się więc czas, który nie wnosił absolutnie nic poza efektem wizualnym.

Preloader nie przyspiesza strony. Ukrywa jej wolne działanie przed użytkownikiem i jednocześnie opóźnia moment, w którym pojawia się największy element treści. Z perspektywy Core Web Vitals to czysta strata.

Przeładowany DOM i brak minifikacji

Struktura strony składała się z dziesiątek zagnieżdżonych kontenerów — wiele z nich pustych lub pełniących funkcję odstępu. Do tego dochodziła cała biblioteka skryptów sliderów, animacji i efektów, ładowana na każdej podstronie niezależnie od tego, czy była tam używana. Pliki CSS i JavaScript szły do przeglądarki bez minifikacji, w kilkudziesięciu osobnych żądaniach.

Stosunek treści do kodu spadł poniżej 10%. Google dostawał kilka tysięcy linii HTML, z których faktyczną wartością było kilkanaście zdań.


Zakres prac: techniczne SEO przed jakimkolwiek contentem

Wyciągnięcie treści z JavaScriptu do HTML

Najważniejsza zmiana w całym projekcie. Opisy usług i sekcje ofertowe przeniosłem ze sliderów do statycznego HTML — dostępnego w kodzie źródłowym od razu, bez konieczności wykonywania skryptów i bez interakcji użytkownika.

Tam, gdzie klient chciał zachować efekt wizualny, rozdzieliłem warstwy: treść jest w HTML i widoczna dla robota, a animacja to wyłącznie warstwa prezentacji. Weryfikacja przez „Sprawdź adres URL” w Google Search Console potwierdziła, że renderowana wersja zawiera komplet tekstu.

Usunięcie zapychaczy: preloader, slidery, zbędne efekty

Preloader wyleciał w całości. Slidery zastąpiłem statycznymi sekcjami — na stronie usługowej nie pełniły żadnej funkcji poza dekoracyjną, a kosztowały kilkaset kilobajtów skryptów i całą warstwę problemów z dostępnością treści. To samo dotyczyło animacji przewijania i efektów, które nikt poza autorem szablonu nie zauważał.

Uproszczenie znaczników i zwiększenie stosunku treści do kodu

Usunąłem puste kontenery i zagnieżdżenia służące wyłącznie jako podkładki pod pojedyncze elementy. Kilka poziomów divów zastąpił jeden kontener z marginesem. Uporządkowałem hierarchię nagłówków, żeby struktura treści była czytelna zarówno dla użytkownika, jak i dla robota.

Stosunek treści do kodu wrócił do zdrowego poziomu, a rozmiar DOM spadł na tyle, że przeglądarka przestała się nim krztusić na słabszych telefonach.

Minifikacja CSS i JavaScript oraz ograniczenie żądań

Minifikacja plików CSS i JS, łączenie zasobów tam, gdzie miało to sens, oraz wyłączenie skryptów na podstronach, które ich nie potrzebowały. Kompresja obrazów i konwersja do WebP z lazy loadingiem poniżej pierwszego ekranu. Grafika odpowiedzialna za LCP dostała priorytet ładowania zamiast leniwego.

Zgłoszenie serwisu do ponownego przeskanowania

Po wdrożeniu poprawek zgłosiłem aktualną mapę strony XML w Google Search Console i wysłałem kluczowe adresy URL do ponownego przeskanowania. Wcześniej nie miało to sensu — robot wracałby po tę samą pustą strukturę.

Po około tygodniu Google zaczął poprawnie wchodzić na stronę i indeksować podstrony, które wcześniej latami leżały poza indeksem.

Wyniki po optymalizacji technicznej

PageSpeed Mobile
15
75
PageSpeed Desktop
42
89
Czas ładowania (mobile)
~8 s
1,5–2 s
Szybciej o
~78%
Preloader
6 s
0 s
Wzrost widoczności
+1000%
MetrykaPrzed (mobile)Po (mobile)Przed (desktop)Po (desktop)
Wynik PageSpeed15754289
Czas ładowania (test ręczny)~8 s1,5–2 s~4 sponiżej 1,5 s
Treść w surowym HTMLnietaknietak
Preloader blokujący render6 susunięty6 susunięty
Minifikacja CSS / JSbrakwdrożonabrakwdrożona

Czas ładowania na komórkach spadł z około 8 sekund do 1,5–2 sekundy, czyli strona ładuje się o mniej więcej 78% szybciej — cztero- do pięciokrotnie krócej niż przed zmianami. Na desktopie różnica jest mniej dramatyczna tylko dlatego, że tam użytkownik miał mocniejszy sprzęt maskujący problem.

Wpływ na widoczność i wnioski

Najważniejszy wynik nie pochodzi z PageSpeed. Po ponownym zgłoszeniu serwisu w Search Console Google zaczął indeksować podstrony, które wcześniej były dla niego niedostępne. W ciągu kolejnych tygodni widoczność serwisu na frazy związane z dekoracjami ścian wzrosła nawet o 1000% — z poziomu bliskiego zeru, ale to właśnie pokazuje skalę problemu. Strona nie przegrywała z konkurencją. Ona po prostu nie brała udziału w grze.

Wniosek z tego projektu jest prosty i powtarza się częściej, niż powinien. Zanim ktokolwiek zaproponuje Ci nowe teksty i listę fraz, sprawdź, czy Google ma do czego dotrzeć. Jeśli treść siedzi w JavaScripcie, a przed nią stoi sześciosekundowy preloader, żaden copywriter tego nie naprawi. Optymalizacja techniczna nie jest dodatkiem do pozycjonowania, na takich stronach jest jego pierwszym etapem.

Twoja strona ma dobre treści, a mimo to nie widać jej w Google? Sprawdzę, czy problem nie leży w warstwie technicznej.

Sprawdź ofertę → Pozycjonowanie Skierniewice

Co widzą boty AI, gdy wchodzą na Twoją stronę?

To pytanie, którego trzy lata temu nie było w żadnym audycie. Dziś ma bezpośrednie przełożenie na widoczność, bo część zapytań kończy się odpowiedzią AI, a nie kliknięciem w wynik.

Najważniejsza różnica techniczna: crawlery modeli językowych zachowują się inaczej niż Googlebot. Nie mają zaawansowanej kolejki renderującej, więc treść dostępna dopiero po wykonaniu JavaScriptu może być dla nich niewidoczna. Serwis, który poprawnie indeksuje się w Google dzięki drugiej fali renderowania, dla bota AI potrafi być pustą stroną.

Druga kwestia to blokady. Wiele witryn zablokowało crawlery treningowe AI, przy okazji odcinając crawlery odpowiedzialne za wyszukiwanie i cytowania. To dwie różne kategorie botów i warto podjąć wobec nich dwie osobne decyzje w pliku robots.txt, zamiast jednej ogólnej.

Praktyczny wniosek: jeśli zależy Ci na cytowaniach, treść musi być w surowym HTML, mieć jasne definicje i konkretne fakty, a kluczowe informacje nie mogą siedzieć za formularzem ani w rozwijanych sekcjach ładowanych na żądanie.

Dane strukturalne Schema.org – które typy dają rich snippets i cytowania w AI Overviews

Dane strukturalne to kod opisujący kontekst treści w formacie zrozumiałym dla maszyn. Nie są czynnikiem rankingowym, ale wpływają na wygląd wyniku i na to, jak systemy AI interpretują zawartość strony.

Nie wdrażaj wszystkiego, co znajdziesz w słowniku Schema.org. Sensowny zakres zależy od typu serwisu:

  • Product + AggregateRating – sklepy. Daje cenę, dostępność i gwiazdki w wynikach, co wyraźnie podnosi CTR.

  • Article + Person – blogi i serwisy eksperckie. Wiąże treść z autorem, co ma znaczenie przy ocenie doświadczenia i wiarygodności.

  • LocalBusiness – firmy z lokalizacją. Dane muszą być spójne z tym, co masz w wizytówce, dlatego warto je wdrażać razem z optymalizacją wizytówki Google.

  • Organization – każda marka. Porządkuje podstawowe fakty: nazwę, logo, kanały kontaktu.

Poprawność wdrożenia sprawdzisz w teście wyników z elementami rozszerzonymi. Błędna implementacja jest po prostu ignorowana – nie szkodzi, ale nie daje niczego.

Schemat przedstawiający najważniejsze typy danych strukturalnych Schema.org: Product, Article, LocalBusiness i Organization oraz ich zastosowanie w SEO i AI Overviews.

Optymalizacja mobilna i mobile-first indexing – co Google ocenia w wersji mobilnej

Google ocenia witrynę na podstawie wersji mobilnej. To znaczy, że wszystko, czego nie ma na telefonie, praktycznie nie istnieje dla wyszukiwarki – nawet jeśli świetnie wygląda na desktopie.

Sama responsywność to za mało, choć bez niej nie ma o czym rozmawiać – dlatego responsywną stronę traktuj jako punkt wyjścia, nie cel. Wersja mobilna powinna zawierać dokładnie tę samą treść, te same linki wewnętrzne i te same dane strukturalne co desktopowa. Typowe pułapki to skrócone opisy kategorii „dla czytelności”, ukryte sekcje ładowane dopiero po kliknięciu oraz uproszczone menu, które wycina połowę linkowania wewnętrznego.

Certyfikat SSL i przekierowania 301 – jak nie stracić widoczności przy migracji

Certyfikat SSL jest dziś standardem, a HTTPS to słaby, ale realny sygnał rankingowy. Ważniejsze jest to, że przeglądarka oznacza strony bez szyfrowania jako niezabezpieczone, co skutecznie zniechęca użytkowników.

Ryzyko nie tkwi w samym certyfikacie, tylko w przekierowaniach. Najczęstszy błąd to niepełna konfiguracja: działa przekierowanie z http na https, ale wersje z www i bez www pozostają dostępne osobno. Powstają duplikaty i rozproszone sygnały.

Zasady, które ograniczają straty przy migracji:

  • Jedna kanoniczna wersja domeny – wszystkie pozostałe warianty przekierowane bezpośrednio na nią.

  • Przekierowanie 301, nie 302, jeśli zmiana jest trwała.

  • Brak łańcuchów typu 1 → 2 → 3. Każdy stary adres powinien prowadzić od razu do docelowego.

  • Mapowanie adres w adres, nie zbiorczo na stronę główną – to najszybszy sposób na utratę pozycji.

Bezpieczeństwo witryny to zresztą szerszy temat niż sam certyfikat. Zaniedbany serwis potrafi zostać oznaczony przez Google jako zagrożenie i wypaść z wyników w kilka dni – wtedy priorytetem przestaje być ranking, a staje się usunięcie wirusa ze strony internetowej.

Atrybut hreflang, czyli kierowanie międzynarodowe bez kanibalizacji

Hreflang jest potrzebny wtedy, gdy masz kilka wersji tej samej treści dla różnych języków lub rynków. Jego zadaniem nie jest poprawa pozycji, tylko pokazanie użytkownikowi właściwej wersji i powstrzymanie wersji językowych przed konkurowaniem ze sobą o te same zapytania.

Wdrożenie ma dwie żelazne zasady. Po pierwsze, odniesienia muszą być wzajemne – jeśli strona A wskazuje na B, to B musi wskazywać na A. Po drugie, każda wersja wskazuje także na samą siebie. Brak którejkolwiek z tych relacji sprawia, że Google zignoruje całą konfigurację. Warto dodać wpis x-default dla użytkowników spoza obsługiwanych rynków.

Techniczne SEO w sklepie: filtry, paginacja i duplikacja treści

W e-commerce techniczne SEO przestaje być teorią, bo skala odsłania każdy błąd szablonu. Trzy obszary generują większość problemów.

  • Filtry. Domyślnie zablokuj kombinacje parametrów w robots.txt i pozostaw indeksowalne tylko te, które mają realny potencjał wyszukiwania. Decyzja świadoma, nie automatyczna.

  • Paginacja. Każda strona listy powinna mieć tag kanoniczny wskazujący na siebie samą. Ustawienie canonicala z /page/2 na /page/1 sprawia, że robot przestaje odwiedzać kolejne strony – a wraz z nimi linki do produktów.

  • Duplikacja treści. Ten sam produkt dostępny pod kilkoma ścieżkami kategorii to klasyk. Rozwiązaniem są płaskie adresy produktowe w formacie domena.pl/nazwa-produktu.

Do tego dochodzą zduplikowane meta title i meta description generowane szablonowo dla całych kategorii. Nie jest to katastrofa rankingowa, ale kosztuje kliknięcia. Skala tych problemów zależy też od silnika – WooCommerce z poprawnie skonfigurowanym szablonem rozwiązuje część z nich natywnie, customowe wdrożenia potrafią zaskoczyć.

Infografika pokazująca trzy kluczowe obszary technicznego SEO w e-commerce: filtry, paginację i duplikację treści.

Błędy 404, błędy indeksowania i inne problemy, które wychodzą w niemal każdym audycie

Poniższa lista powtarza się niezależnie od branży i wielkości serwisu:

Wspólny mianownik: większość z nich powstaje przy wdrożeniach i wychodzi na jaw kilka miesięcy później, gdy widoczność spada bez wyraźnej przyczyny. Dlatego monitoring dostępności serwisu i cykliczny przegląd techniczny to nie paranoja, tylko ubezpieczenie.

Od czego zacząć naprawę strony?

Kolejność wynika z wpływu, nie z tego, co najłatwiej poprawić. Błąd w robots.txt blokujący połowę serwisu boli bardziej niż LCP na poziomie 3,2 sekundy zamiast 2,4.

  1. Blokady indeksacji wartościowych stron. Robots.txt, przypadkowy noindex, błędne canonicale. To awaria, nie optymalizacja.

  2. Duplikacja i warianty adresów. Jedna kanoniczna wersja domeny, spójne przekierowania 301, canonical na paginacji.

  3. Dostępność treści dla robotów. Renderowanie, linkowanie wewnętrzne, strony sieroty, crawl budget.

  4. Core Web Vitals. Zaczynając od LCP na szablonach generujących najwięcej ruchu.

  5. Dane strukturalne i elementy CTR. Meta title, meta description, rich snippets – to warstwa zysku, nie ratunku.

Pierwsze dwa punkty potrafią przynieść efekt w kilka dni po ponownym przeskanowaniu. Reszta działa w perspektywie tygodni i zależy od tempa wdrożeń. Efekty weryfikuj w danych, nie na wyczucie – najprościej sprawdzając, jak zmienia się ruch na stronie w rozbiciu na typy podstron.

Kiedy wystarczy Screaming Frog, a kiedy potrzebujesz audytu technicznego SEO

Podstawy ogarniesz sam. Darmowy Screaming Frog do 500 adresów, Google Search Console i PageSpeed Insights wystarczą, żeby wykryć blokady, błędy 404, duplikaty tytułów i najgorsze problemy z wydajnością na małej stronie usługowej.

Pełny audyt strony internetowej ma sens w kilku konkretnych sytuacjach: przy serwisach powyżej kilkuset adresów URL, przy sklepach z filtrami i wieloma szablonami, przed migracją lub po niej, oraz wtedy, gdy widoczność spada, a przyczyna nie jest oczywista. Wchodzi wtedy analiza logów serwera, porównanie renderowania i priorytetyzacja zadań, których nie da się zrobić czterema kliknięciami.

Optymalizacja techniczna sama w sobie rzadko jest celem – to punkt wyjścia. Uporządkowana witryna dopiero wtedy zaczyna zarabiać na treściach i linkach, dlatego pozycjonowanie stron www zaczynam od usunięcia barier technicznych, a nie od publikowania kolejnych artykułów. Kiedy lista błędów jest gotowa, ale brakuje rąk do wdrożenia, zostaje opcja pośrednia – zlecenie samych poprawek w ramach naprawy strony internetowej.

Niezależnie od skali obowiązuje jedna zasada. Techniczne SEO to nie projekt, który odhaczasz raz. Strony żyją: dochodzą funkcje, zmienia się CMS, deweloperzy poprawiają rzeczy, które nie były zepsute. Cykliczny przegląd działa cicho dopóki nie okaże się, że był bardzo potrzebny.

Jak przydatny był ten post?

Kliknij na gwiazdkę, aby ocenić!

Średnia ocena 4.8 / 5. Liczba głosów: 34

Na razie brak głosów! Oceń ten post jako pierwszy.

Potrzebujesz konsultacji marketingowej?

Umów się na krótką rozmowę i sprawdź, jak możemy rozwinąć Twój biznes online.
Spis treści

Michał Dąbrowski

Webdeveloper & Freelancer SEO

Michał Dąbrowski - specjalista SEO / SEM i twórca stron internetowych

Nazywam się Michał Dąbrowski i osobiście prowadzę każdy projekt – od strony internetowej, przez pozycjonowanie, po reklamę. Pracujesz ze mną bezpośrednio. sam analizuję Twoją firmę, sam wdrażam rozwiązania. Zaczynam od poznania Twojego biznesu i konkurencji, bo od tego, a nie od gotowego pakietu, zależy wynik. Jeśli coś nie jest dla Ciebie najlepszym wyborem, mówię o tym wprost, zamiast sprzedawać usługę na siłę.

lat doświadczenia
0 +
zrealizowanych projektów
0 +
wg. opinii z Google
0 / 5

10 minut, które wyjaśni Ci wszystko

Zadzwoń, pogadajmy na luzie 😉
Podczas bezpłatnej 10 minutowej konsultacji dowiesz się, co będzie dla Ciebie najlepsze i czy będę w stanie Ci pomóc.