Najważniejsze wnioski
- Techniczne SEO sprawia, że wyszukiwarki mogą skanować, renderować i indeksować strony, które mają się pozycjonować, a pomijać te, które nie powinny.
- Zacznij od Google Search Console: raport Strony i narzędzie Sprawdzanie adresu URL pokazują wprost większość problemów z indeksowaniem.
- Robots.txt steruje skanowaniem, a nie indeksowaniem. Aby wykluczyć strony z indeksu, użyj
noindexalbo canonicali. - Łańcuchy przekierowań, niespójne canonicale i treści, które pojawiają się dopiero po wykonaniu JavaScriptu, to problemy, które najczęściej znajduję w większych serwisach.
Czym jest techniczne SEO i kiedy ma największe znaczenie
Techniczne SEO to praca nad tym, by wyszukiwarki mogły łatwo skanować, renderować i indeksować witrynę, a dobre treści mogły naprawdę konkurować w wynikach. Dotyczy infrastruktury stojącej za stronami, a nie samych tekstów.
Na małej stronie opartej na popularnym CMS-ie techniczne SEO to często krótka lista kontrolna. W dużych sklepach internetowych, serwisach wielojęzycznych i aplikacjach JavaScriptowych bywa głównym czynnikiem, który hamuje pozycje. Jedno błędne ustawienie może usunąć z Google tysiące stron.
Przechodź przez poniższą checklistę po kolei. Każda sekcja opiera się na poprzedniej: nie ma sensu poprawiać szybkości stron, których Google nie może zaindeksować.
Skanowanie: czy wyszukiwarki mogą dotrzeć do Twoich stron?
Skanowanie to pierwszy krok, a pytanie jest proste: czy Googlebot może pobrać Twoje ważne adresy URL i otrzymać poprawną odpowiedź? Jeśli nie, nic innego z tej listy nie ma znaczenia.
Checklista skanowania
- Przeskanuj witrynę narzędziem takim jak Screaming Frog lub Sitebulb i porównaj liczbę znalezionych adresów URL z liczbą, której się spodziewasz.
- Sprawdź, czy ważne strony zwracają kod
200, a nie404,5xxczy soft 404. - Upewnij się, że do kluczowych stron prowadzą zwykłe linki HTML
<a href>. Google nie podąża niezawodnie za linkami, które działają wyłącznie przez zdarzenia kliknięcia w JavaScripcie. - Wyszukaj strony osierocone, czyli takie, które istnieją, ale nie prowadzi do nich żaden link wewnętrzny.
- Przejrzyj raport Statystyki indeksowania w Search Console pod kątem skoków liczby błędów serwera lub długich czasów odpowiedzi.
Budżet indeksowania (crawl budget)
Budżet indeksowania staje się realnym problemem tylko w bardzo dużych serwisach albo takich, które automatycznie generują wiele adresów URL, na przykład przez filtry i parametry. Jeśli to Twój przypadek, celem jest to, by Google nie tracił czasu na mało wartościowe warianty adresów i szybciej docierał do ważnych stron.
Robots.txt
Robots.txt to zwykły plik tekstowy w katalogu głównym domeny, który informuje roboty, które ścieżki mogą skanować, a których nie. To narzędzie do kontroli skanowania, a nie indeksowania, i mylenie tych dwóch rzeczy to jeden z najczęstszych błędów technicznych.
- Sprawdź, czy plik znajduje się pod adresem
/robots.txtna każdym hoście i protokole, na przykładhttps://www.example.com/robots.txt. - Upewnij się, że nie blokuje ważnych sekcji ani plików CSS i JavaScript, których Google potrzebuje do renderowania stron.
- Dodaj linię
Sitemap:wskazującą mapę witryny XML. - Zmieść się w limicie 500 KiB określonym przez Google. Treść powyżej tego limitu jest ignorowana.
- Pamiętaj, że adres URL zablokowany w robots.txt nadal może zostać zaindeksowany, jeśli linkują do niego inne strony, zwykle bez opisu. Aby wykluczyć stronę z indeksu, zezwól na skanowanie i użyj
noindex.
Uważaj na pozostawione ze środowiska testowego Disallow: /. To zaskakująco częsty powód, dla którego nowa strona po starcie traci ruch.
Indeksowanie i mapy witryny XML
Indeksowanie decyduje o tym, które zeskanowane strony Google zapisuje i może pokazywać w wynikach. Celem jest, by każda strona, która ma się pozycjonować, była zaindeksowana, a mało wartościowe strony pozostały poza indeksem.
Checklista indeksowania
- Otwórz raport Strony w Search Console i przejrzyj każdy powód podany w sekcji „Dlaczego strony nie są indeksowane”.
- Użyj narzędzia Sprawdzanie adresu URL na kluczowych stronach, by zobaczyć, czy są zaindeksowane i który adres kanoniczny wybrał Google.
- Przeszukaj kod pod kątem
noindexw tagach meta robots i nagłówkach HTTPX-Robots-Tagi potwierdź, że każde wystąpienie jest celowe. - Trzymaj poza indeksem strony ubogie, zduplikowane lub pomocnicze, takie jak wyniki wyszukiwarki wewnętrznej.
Mapy witryny XML
Mapa witryny XML zawiera listę adresów URL, o których mają wiedzieć wyszukiwarki. Pomaga w ich odkrywaniu, zwłaszcza w dużych lub nowych serwisach, ale nie zmusza Google do zaindeksowania czegokolwiek.
- Umieszczaj w niej tylko kanoniczne, indeksowalne adresy URL zwracające kod
200. - Trzymaj każdy plik mapy w limitach protokołu: 50 000 adresów URL i 50 MB bez kompresji. W większych serwisach grupuj kilka map w pliku indeksu map witryny.
- Podawaj dokładne daty
lastmod. Google korzysta z tej wartości, gdy jest konsekwentnie poprawna, a ignorujepriorityichangefreq. - Prześlij mapę witryny w Search Console i sprawdź liczbę wykrytych adresów URL.
Canonicale i powielona treść
Tag canonical informuje Google, który adres URL jest wersją główną, gdy kilka adresów pokazuje tę samą lub bardzo podobną treść. Jasne sygnały kanoniczne sprawiają, że duplikaty nie rozpraszają sygnałów rankingowych.
Duplikaty powstają z wielu zwyczajnych powodów: wersje HTTP i HTTPS, z www i bez www, warianty z ukośnikiem na końcu i bez, parametry śledzące, parametry sortowania i filtrowania oraz wersje do druku.
- Dodaj samoodwołujący się tag
rel="canonical"na każdej indeksowalnej stronie, z pełnym, bezwzględnym adresem URL. - Upewnij się, że tagi canonical, linki wewnętrzne, mapy witryny i przekierowania wskazują tę samą preferowaną wersję.
- Nie kieruj canonicali na adresy, które przekierowują, zwracają błędy lub mają
noindex. - Pamiętaj, że canonical to silna wskazówka, a nie dyrektywa. Jeśli inne sygnały mu przeczą, Google może wybrać inny adres URL.
W serwisach wielojęzycznych każda wersja językowa powinna wskazywać canonicalem samą siebie i być powiązana tagami hreflang, a nie kanonikalizowana do głównego języka. Szczegółowo opisujemy to w poradniku o międzynarodowym SEO i hreflang.
Przekierowania i kody odpowiedzi
Przekierowania kierują użytkowników i wyszukiwarki ze starego adresu URL na nowy, a poprawne ich ustawienie chroni pozycje i linki, które zgromadziły stare adresy. Przy trwałych przenosinach stosuj przekierowania stałe.
| Kod odpowiedzi | Znaczenie | Kiedy go używać |
|---|---|---|
| 301 / 308 | Przekierowanie stałe | Strona przeniesiona na stałe, np. po zmianie adresu URL lub migracji |
| 302 / 307 | Przekierowanie tymczasowe | Krótkoterminowe przenosiny, np. tymczasowa strona promocji |
| 404 | Nie znaleziono | Strona już nie istnieje i nie ma bliskiego zamiennika |
| 410 | Usunięto | Strona usunięta celowo i nie wróci |
| 5xx | Błąd serwera | Nigdy celowo; naprawiaj szybko, bo powtarzające się błędy spowalniają skanowanie |
- Unikaj łańcuchów przekierowań, w których adres A przekierowuje na B, a B na C. Kieruj A bezpośrednio na C.
- Aktualizuj linki wewnętrzne tak, by wskazywały docelowe adresy, zamiast polegać na przekierowaniach.
- Nie przekierowuj wszystkich usuniętych stron na stronę główną. Google zwykle traktuje to jako soft 404.
- Przy migracjach przed startem przypisz każdemu staremu adresowi URL jego najbliższy nowy odpowiednik.
Renderowanie JavaScriptu
Google potrafi renderować JavaScript, ale treści od niego zależne są przetwarzane w dodatkowym kroku i mogą zawodzić w sposób, który nie dotyczy zwykłego HTML-a. Najbezpieczniej jest zadbać o to, by ważne treści i linki były obecne w HTML-u wysyłanym przez serwer.
- Porównaj surowy HTML z wyrenderowanym w narzędziu Sprawdzanie adresu URL. Kluczowe teksty, linki, tytuły i tagi canonical powinny być w obu wersjach.
- Dla stron, które mają się pozycjonować, wybieraj renderowanie po stronie serwera lub generowanie statyczne, zwłaszcza w serwisach na React, Vue czy Angular.
- Nie blokuj plików JavaScript ani CSS potrzebnych do renderowania treści.
- Unikaj treści ładowanych dopiero po działaniu użytkownika, np. kliknięciu zakładki lub przewinięciu, jeśli mają być zaindeksowane.
- Dla różnych widoków używaj prawdziwych adresów URL zamiast fragmentów po
#, które Google zazwyczaj ignoruje.
Pamiętaj też, że wiele robotów AI w ogóle nie wykonuje JavaScriptu. Jeśli Twoje treści istnieją dopiero po renderowaniu, mogą być dla nich niewidoczne.
Szybkość strony i Core Web Vitals
Szybkość strony wpływa zarówno na doświadczenie użytkownika, jak i na wyniki wyszukiwania, a Google mierzy ją wskaźnikami Core Web Vitals: Largest Contentful Paint, Interaction to Next Paint i Cumulative Layout Shift. Strona przechodzi ocenę, gdy co najmniej 75% rzeczywistych wizyt spełnia próg „dobry” dla każdego wskaźnika.
- LCP: główna treść powinna załadować się w ciągu 2,5 sekundy.
- INP: strona powinna reagować na interakcje w ciągu 200 milisekund.
- CLS: przesunięcie układu powinno wynosić 0,1 lub mniej.
Sprawdzaj dane z rzeczywistych wizyt w raporcie Podstawowe wskaźniki internetowe w Search Console oraz w PageSpeed Insights. Typowe poprawki to kompresja i skalowanie obrazów, ograniczenie skryptów blokujących renderowanie, użycie CDN, redukcja tagów zewnętrznych i rezerwowanie miejsca na obrazy i reklamy. Nasz pełny poradnik o Core Web Vitals wyjaśnia, jak diagnozować każdy wskaźnik.
Należą tu też inne podstawy: cała witryna powinna działać na HTTPS, a strony powinny dobrze działać na urządzeniach mobilnych, bo Google indeksuje mobilną wersję Twojej witryny.
Jak ustalić priorytety poprawek technicznych
Najpierw napraw to, co uniemożliwia skanowanie lub indeksowanie ważnych stron, potem zajmij się sygnałami, które rozpraszają lub marnują autorytet, a dopiero na końcu optymalizuj szybkość. Taka kolejność odpowiada temu, jak wyszukiwarki przetwarzają witrynę.
- Blokady: przypadkowe
noindex, blokady w robots.txt, błędy serwera i zepsute renderowanie kluczowych szablonów. - Konsolidacja: canonicale, łańcuchy przekierowań, zduplikowane warianty adresów URL i porządki w mapach witryny.
- Wydajność: Core Web Vitals i użyteczność mobilna szablonów o największym ruchu.
Tam, gdzie to możliwe, pracuj na poziomie szablonów. Jedna poprawka szablonu strony produktu naprawia tysiące adresów URL. Jeśli chcesz, by ta checklista została zastosowana do Twojej witryny wraz z ustalonymi priorytetami, nasza usługa technicznego SEO zaczyna się właśnie od takiego przeglądu.
Najczęściej zadawane pytania
Czy robots.txt blokuje indeksowanie strony?
Nie. Robots.txt steruje tylko skanowaniem, a zablokowany adres URL nadal może zostać zaindeksowany, jeśli linkują do niego inne strony. Aby wykluczyć stronę z indeksu, użyj tagu noindex na stronie dostępnej dla robotów.
Ile adresów URL może zawierać mapa witryny XML?
Jeden plik mapy witryny może zawierać do 50 000 adresów URL i mieć do 50 MB bez kompresji. Większe serwisy powinny rozdzielić adresy na kilka map i wymienić je w pliku indeksu map witryny.
Przekierowanie 301 czy 302?
Użyj 301 (lub 308), gdy strona została przeniesiona na stałe, co dotyczy większości zmian adresów URL i migracji. 302 (lub 307) stosuj tylko przy naprawdę tymczasowych przenosinach.
Czy Google indeksuje treści w JavaScripcie?
Tak, Google renderuje JavaScript, ale wymaga to dodatkowego kroku przetwarzania i coś może pójść nie tak. Renderowanie po stronie serwera utrzymuje ważne treści i linki w początkowym HTML-u, co jest bezpieczniejsze dla wyszukiwarek i robotów AI.