Spis treści
Migracja to najbardziej ryzykowny moment w całym SEO — jedna źle zmapowana sekcja albo kod 302 zamiast 301 potrafi w tydzień skasować lata pracy nad widocznością. Przez lata przeprowadzałem zmiany domen, przejścia na HTTPS, wymiany CMS i redesigny, i za każdym razem o sukcesie decydował nie sam moment wdrożenia, lecz mapa przekierowań i monitoring po starcie. Ten przewodnik prowadzi przez statusy HTTP, różnicę między przekierowaniem 301 a 302, łańcuchy i pętle, oraz pełny plan migracji krok po kroku. To wiedza, którą wykorzystuję w każdym audycie SEO poprzedzającym dużą zmianę — uporządkowana tak, byś przeprowadził migrację praktycznie bez strat.
▍ Najważniejsze wnioski
- ✓ 301, nie 302. Przy migracji przekierowanie trwałe przekazuje moc rankingową; tymczasowe 302 zostawia stary adres w indeksie i gubi sygnały.
- ✓ Mapa 1:1 to fundament. Każdy wartościowy stary URL musi mieć dokładny odpowiednik, na który trafia jednym skokiem — bez łańcuchów i pętli.
- ✓ Statusy HTTP to język serwera. 200, 301, 302, 304, 404, 410 i 5xx mówią Google, co naprawdę dzieje się z adresem.
- ✓ Monitoring po starcie decyduje. Pierwsze dni po wdrożeniu to okno, w którym łapie się i naprawia błędy, zanim skasują widoczność.
Statusy HTTP — język, którym serwer mówi do Google
Zanim w ogóle pomyślimy o migracji, trzeba rozumieć kody odpowiedzi HTTP, bo to nimi serwer informuje przeglądarkę i Googlebota o tym, co naprawdę dzieje się z każdym adresem. To nie jest temat „dla programistów” — od poprawnych statusów zależy, czy strona zostaje w indeksie, czy z niego wypada. W audytach technicznych regularnie spotykam serwisy, które tracą widoczność wyłącznie dlatego, że ważne adresy zwracają zły kod: produkt, który powinien dawać 200, oddaje miękkie 404, a usunięta kategoria zamiast 410 zwraca 200 z pustą treścią. Pełny kontekst tej warstwy rozwijam w przewodniku po technicznym SEO.
Najważniejsze jest zrozumienie rodzin kodów. Kody z grupy 2xx oznaczają sukces — adres istnieje i zwraca treść (200 OK to stan docelowy każdej ważnej strony). Grupa 3xx to przekierowania — adres mówi „idź gdzie indziej”, a od tego, czy jest to 301 czy 302, zależy los sygnałów rankingowych. Grupa 4xx to błędy po stronie klienta — strony nie ma (404) lub została trwale usunięta (410). Grupa 5xx to awarie serwera — i to one są najgroźniejsze, bo gdy Googlebot trafia na masowe 5xx, zwalnia indeksowanie całego serwisu, traktując go jako niestabilny.
| Kod | Znaczenie | Co robi z SEO |
|---|---|---|
| 200 OK | Strona istnieje, treść poprawna | Stan docelowy każdego ważnego URL |
| 301 | Przeniesienie trwałe | Przekazuje moc — używaj przy migracji |
| 302 | Przeniesienie tymczasowe | Zostawia stary URL w indeksie — nie do migracji |
| 304 | Not Modified — treść bez zmian | Oszczędza crawl budget, przyspiesza indeksowanie |
| 404 | Not Found — strony nie ma | OK dla literówek; Google wraca sprawdzać |
| 410 | Gone — trwale usunięte | Szybsze wycofanie z indeksu niż 404 |
| 5xx | Awaria serwera | Spowalnia indeksowanie całego serwisu — gasić natychmiast |
Osobno warto zatrzymać się przy kodzie 304 Not Modified, bo jest często pomijany, a ma realne znaczenie dla dużych serwisów. Gdy serwer poprawnie odpowiada 304 na warunkowe żądanie Googlebota (strona nie zmieniła się od ostatniej wizyty), oszczędza crawl budget i pozwala robotowi szybciej dotrzeć do nowych treści. To detal, ale w serwisach z setkami tysięcy adresów ekonomia indeksowania robi różnicę — temat, który rozwijam w artykule o indeksacji i crawl budżecie. Każdy z tych kodów to konkretna instrukcja dla Google — a migracja to w istocie wielka, skoordynowana operacja na statusach HTTP.
301 vs 302 — kiedy które przekierowanie
To rozróżnienie jest sercem całego tematu, bo od wyboru między 301 a 302 zależy, czy Twoje sygnały rankingowe przeżyją migrację. Przekierowanie 301 oznacza przeniesienie trwałe — komunikuje Google: „ten adres już nie wróci, przenieś wszystko na nowy”. W efekcie wyszukiwarka stopniowo przepisuje moc, historię i pozycje na docelowy URL, a stary adres znika z indeksu. To jedyne sensowne przekierowanie przy migracjach, zmianach domeny, konsolidacji treści i przejściu na HTTPS.
Przekierowanie 302 oznacza przeniesienie tymczasowe — sugeruje, że oryginalny adres niedługo wróci. Dlatego Google zwykle zachowuje w indeksie stary URL i nie przenosi pełni sygnałów. To poprawne narzędzie do testów A/B, chwilowych akcji promocyjnych czy serwowania innej wersji ze względu na lokalizację — ale śmiertelnie groźne, gdy ktoś przez nieuwagę użyje go przy stałej zmianie adresu. Najczęstszy scenariusz katastrofy w moich audytach to migracja na nowy CMS, który domyślnie generuje przekierowania 302 i nikt tego nie sprawdził. Efekt: nowe adresy nie przejmują pozycji, stare wiszą w indeksie jako duplikaty, ruch spada.
Praktyczna reguła, którą stosuję bez wyjątków: jeśli zmiana adresu jest trwała — zawsze 301. Jeśli masz choćby cień wątpliwości, czy stary URL wróci, traktuj go jako trwały i daj 301. Koszt błędnego 302 przy migracji jest nieproporcjonalnie wysoki w stosunku do hipotetycznej korzyści. Po wdrożeniu warto każdy kluczowy stary adres ręcznie sprawdzić narzędziem pokazującym faktyczny zwracany kod — nie ufaj deklaracji panelu CMS, sprawdzaj realną odpowiedź serwera.
Zanim ogłosisz migrację za udaną, zrób prosty test, który łapie 90% błędów: weź listę 50 najmocniejszych starych adresów (najwięcej ruchu i linków według Search Console) i sprawdź każdy crawlerem. Szukasz trzech rzeczy — czy zwraca 301 (nie 302), czy trafia jednym skokiem na docelowy URL (nie przez łańcuch), oraz czy strona docelowa to faktycznie najbliższy odpowiednik tematyczny, a nie strona główna. Jeśli choć jeden z tych warunków nie jest spełniony, masz wyciek mocy, który trzeba domknąć natychmiast.
Łańcuchy i pętle przekierowań — ciche wycieki mocy
Łańcuch przekierowań to sytuacja, w której adres A przekierowuje na B, B na C, a dopiero C na docelowy D. Z perspektywy użytkownika i Google to seria zbędnych skoków, które spowalniają ładowanie i marnują crawl budget. Co gorsza, każdy skok rozmywa przekazywaną moc, a Googlebot bywa, że przerywa podążanie za łańcuchem, zanim dotrze do celu — wtedy strona docelowa nie przejmuje sygnałów wcale. Łańcuchy narastają niepostrzeżenie: jedna migracja dokłada warstwę przekierowań na poprzednią i po dwóch–trzech zmianach struktury masz adresy skaczące przez pięć pośredników.
Pętla przekierowań jest jeszcze groźniejsza — A przekierowuje na B, a B z powrotem na A. Przeglądarka zwraca wtedy błąd „zbyt wiele przekierowań”, a strona staje się całkowicie niedostępna dla użytkownika i robota. Pętle powstają najczęściej przy nieprzemyślanych regułach na poziomie serwera: jedna reguła wymusza HTTPS, druga wymusza www, a trzecia — bez www, i wpadają w konflikt. To klasyczny błąd przy łączeniu przekierowań HTTP→HTTPS z normalizacją domeny.
Lekarstwo na oba problemy jest to samo: spłaszczanie przekierowań do jednego skoku. Każdy stary adres, niezależnie od tego, ile migracji przeszedł, powinien w aktualnej konfiguracji przekierowywać bezpośrednio na finalny URL docelowy. Po każdej migracji robię osobny audyt łańcuchów: crawler wskazuje wszystkie adresy z więcej niż jednym skokiem, a ja przepisuję reguły tak, by każdy stary URL wskazywał wprost na cel. To nudna, mechaniczna praca, ale jedna z najbardziej opłacalnych w całej optymalizacji technicznej.
Mapa przekierowań 1:1 — fundament każdej migracji
Mapa przekierowań to dokument, od którego wszystko zależy — arkusz, w którym każdemu staremu adresowi przypisany jest dokładnie jeden nowy. Złota zasada brzmi: 1:1, na najbliższy odpowiednik tematyczny. Stary artykuł o przekierowaniach trafia na nowy artykuł o przekierowaniach, a nie na stronę główną czy ogólną kategorię „blog”. Masowe przekierowywanie wszystkiego na stronę główną to jeden z najkosztowniejszych błędów migracyjnych — Google traktuje takie przekierowania jak miękkie 404 i nie przenosi mocy.
Mapę buduję zawsze z pełnej inwentaryzacji adresów, łącząc kilka źródeł: crawl obecnego serwisu, eksport adresów z Search Console (te, które realnie dostają ruch), listę adresów z linkami zewnętrznymi (najcenniejsze) oraz sitemap. Dla każdego adresu zapisuję jego wartość — ruch, liczbę linków, pozycje — i na tej podstawie ustalam priorytety. Adresy bez ruchu, linków i wartości można świadomie wygasić kodem 410, zamiast na siłę szukać dla nich odpowiednika.
Kolumny mojej mapy to zwykle: stary URL, nowy URL, typ przekierowania (301), priorytet (na podstawie ruchu i linków), oraz status weryfikacji po wdrożeniu. Ten ostatni element bywa pomijany, a jest kluczowy — mapa to nie dokument do napisania i zapomnienia, lecz lista kontrolna, którą po starcie przechodzę adres po adresie, oznaczając każdy jako zweryfikowany. Dopiero zweryfikowana mapa 1:1 daje pewność, że migracja nie wycieka mocy.
Rodzaje migracji — pięć scenariuszy, jedna zasada
Pod hasłem „migracja” kryje się kilka bardzo różnych operacji, ale wszystkie łączy ta sama zasada: mapa przekierowań 1:1 i kontrola statusów HTTP. Warto je rozróżniać, bo każdy scenariusz ma własne pułapki. Poniżej najczęstsze typy, z którymi pracuję — od najprostszych technicznie po te, gdzie zmienia się jednocześnie wiele warstw.
Cały serwis przenosi się pod nowy adres. Wymaga 301 z każdego starego URL i zgłoszenia zmiany adresu w Search Console. Najwyższe ryzyko, ale przy mapie 1:1 do opanowania.
Pozornie prosta, ale wymaga 301 z http na https, eliminacji mixed content i jednej wersji kanonicznej (http/https, www/bez www).
Adresy często zmieniają strukturę. Pułapka: nowy system generujący domyślnie 302 i inną logikę URL. Sprawdzaj realne kody, nie ustawienia panelu.
Nowe wzorce adresów (np. usunięcie /kategoria/ z ścieżki). Wymaga reguł przekierowań i aktualizacji wszystkich linków wewnętrznych.
Najbardziej podstępna, bo „tylko zmieniamy wygląd”. W praktyce często zmienia treść, nagłówki, linkowanie i dane strukturalne. Wymaga zachowania semantyki i struktury treści, nie tylko adresów.
Najbardziej niedoceniany scenariusz to redesign, bo zespół zwykle myśli „zmieniamy tylko wygląd, adresy zostają”. Tymczasem nowy szablon często skraca treść, zmienia nagłówki H1/H2, przebudowuje menu i linkowanie wewnętrzne, a deweloper przy okazji upraszcza dane strukturalne. Dla Google to nie jest „ta sama strona w nowej skórce” — to istotnie inny dokument, który trzeba na nowo ocenić. Dlatego nawet redesign bez zmiany URL traktuję jak migrację i zabezpieczam pełnym planem oraz monitoringiem.
Planujesz migrację, zmianę domeny albo redesign?
Przeprowadzam migracje SEO od inwentaryzacji adresów po monitoring po wdrożeniu. Zobacz audyt SEO przed zmianą i optymalizację techniczną, albo zacznij od darmowego audytora AI.
Skonsultuj migracjęPlan migracji krok po kroku
Dobra migracja nie zaczyna się od wdrożenia — zaczyna się tygodnie wcześniej, od planu. Kolejność ma znaczenie: każdy etap zabezpiecza następny, a pominięcie któregokolwiek to zostawiona furtka dla błędu. Poniżej proces, który prowadzi przez zmianę praktycznie bez strat w widoczności.
Zbierz wszystkie adresy z crawla, Search Console, sitemap i listy linków zewnętrznych. Przypisz każdemu wartość: ruch, linki, pozycje.
Przypisz każdemu staremu URL nowy odpowiednik tematyczny i typ 301. Adresy bez wartości oznacz do wygaszenia kodem 410.
Zbuduj nowy serwis na stagingu z blokadą indeksacji. Sprawdź przekierowania, kody, dane strukturalne i render mobilny przed startem.
Uruchom w okresie niskiego ruchu. Zdejmij blokadę indeksacji, włącz przekierowania 301, zgłoś zmianę adresu i nową sitemap w Search Console.
Pierwsze dni i tygodnie pod stałą obserwacją: indeksacja, błędy 404 i 5xx, łańcuchy przekierowań, spadki pozycji i ruchu. Reaguj natychmiast.
Kluczowy jest krok pierwszy — inwentaryzacja, bo nie da się przekierować adresów, o których się nie wie. Spotykam migracje, w których zespół zmapował tylko aktualne menu, gubiąc tysiące starych wpisów blogowych i wygasłych adresów produktowych, które wciąż miały ruch i linki. Im pełniejsza lista wejściowa, tym mniejsze ryzyko. Dlatego łączę co najmniej cztery źródła adresów i dopiero ich suma daje rzetelny obraz tego, co trzeba ocalić.
Środowisko testowe — generalna próba przed startem
Środowisko testowe (staging) to miejsce, gdzie wyłapuje się błędy, zanim zobaczy je Google. Nowy serwis budujemy i testujemy na osobnym adresie, całkowicie odciętym od indeksacji — i tu czai się jeden z najgroźniejszych błędów migracyjnych, o którym osobno za chwilę. Na stagingu przechodzę pełną listę kontrolną: czy przekierowania zwracają 301, czy nie ma łańcuchów, czy dane strukturalne są poprawne, czy render mobilny pokazuje pełną treść, czy linki wewnętrzne wskazują na nowe adresy, a nie na stare przez przekierowanie.
Szczególną uwagę zwracam na blokadę indeksacji stagingu. Środowisko testowe musi być niedostępne dla Google — przez uwierzytelnianie (login i hasło) albo blokadę na poziomie serwera. Sam tag noindex bywa zawodny, bo to właśnie ten noindex potrafi przez nieuwagę pojechać na produkcję podczas wdrożenia. Najbezpieczniejsze jest twarde odcięcie stagingu logowaniem, a nie poleganie na meta-tagu, który łatwo zostawić w złym miejscu.
Monitoring po wdrożeniu — okno, w którym ratuje się migrację
Wdrożenie to nie koniec, lecz początek najważniejszej fazy. Pierwsze dni i tygodnie po migracji to okno, w którym łapie się i naprawia błędy, zanim trwale skasują widoczność. Google potrzebuje czasu na przepisanie sygnałów na nowe adresy, a w tym okresie obowiązuje zasada: obserwuj wszystko i reaguj natychmiast. Zaraz po starcie sprawdzam Search Console pod kątem nagłego wzrostu błędów indeksacji, skoków liczby stron z noindex oraz raportu zmiany adresu.
Codzienna lista kontrolna w pierwszym tygodniu obejmuje: statystyki indeksowania (czy Googlebot nie trafia masowo na 404 albo 5xx), raport stanu indeksacji (czy nowe adresy wchodzą do indeksu, a stare z niego wypadają), pozycje i ruch (naturalne wahania to norma, ale gwałtowny spadek na kluczowych frazach to alarm) oraz powtórny crawl wykrywający nowo powstałe łańcuchy przekierowań. Krótkie, przejściowe wahania pozycji są normalne — to objaw, że Google przetwarza zmianę. Niepokojące jest dopiero, gdy spadek nie odbija po dwóch–trzech tygodniach.
Im większy serwis, tym bardziej opłaca się analiza logów serwera po migracji — pokazuje wprost, na co Googlebot wydaje crawl budget i czy nie marnuje go na przekierowania zamiast indeksować nowe adresy. To ten sam mechanizm myślenia, co przy zwykłej higienie indeksacji, dlatego migracja i bieżąca kontrola crawl budgetu idą w parze. Migracja często odsłania też problemy wydajnościowe nowego serwisu — dlatego od razu sprawdzam Core Web Vitals na nowych szablonach, bo redesign potrafi pogorszyć LCP i CLS, co dokłada się do spadków.
Najczęstsze błędy migracyjne — jak nie stracić pozycji
Po latach prowadzenia migracji widzę, że te same błędy powtarzają się niemal w każdym nieudanym wdrożeniu. Świadomość tych pułapek to połowa sukcesu, bo wszystkie są do uniknięcia na etapie planowania. Najgroźniejszy i najczęstszy: pozostawiony tag noindex po środowisku testowym. Deweloper blokuje indeksację stagingu meta-tagiem, a podczas wdrożenia ten sam szablon z noindex ląduje na produkcji. Efekt jest dramatyczny — cały nowy serwis wypada z indeksu, choć technicznie „wszystko działa”. Dlatego pierwsze, co sprawdzam po starcie, to czy produkcja na pewno nie zwraca noindex.
Druga rodzina błędów to problemy z samymi przekierowaniami: masowe kierowanie wszystkiego na stronę główną zamiast 1:1, użycie 302 zamiast 301, łańcuchy narastające po kolejnych migracjach oraz brakujące przekierowania dla starych, ale wartościowych adresów (zwłaszcza wpisów blogowych i wygasłych produktów z linkami). Każdy z nich to wyciek mocy, który osobno wygląda niegroźnie, ale razem potrafią zsumować się w kilkudziesięcioprocentowy spadek ruchu.
Trzecia grupa to błędy „pozaadresowe”, o których łatwo zapomnieć: brak aktualizacji linków wewnętrznych (które wciąż wskazują na stare adresy przez przekierowanie), utrata danych strukturalnych po zmianie szablonu, zapomnienie o aktualizacji pliku sitemap i wskazaniu jej w robots.txt, oraz brak zgłoszenia zmiany adresu w Search Console przy zmianie domeny. Schema warto zweryfikować osobno — jej utrata przy redesignie to cichy spadek wyników rozszerzonych, dlatego trzymam się zasad z przewodnika o danych strukturalnych. Migracja jest jak operacja — udaje się wtedy, gdy każdy detal został odhaczony, a nie założony.
Lista kontrolna bezpiecznej migracji
- Pełna inwentaryzacja adresów. Crawl, Search Console, sitemap i lista linków zewnętrznych — minimum cztery źródła.
- Mapa przekierowań 1:1. Każdy wartościowy URL na najbliższy odpowiednik, typ 301, priorytet wg ruchu i linków.
- Staging odcięty od indeksacji. Blokada logowaniem, nie tylko noindex.
- Weryfikacja kodów na stagingu. 301 zamiast 302, brak łańcuchów i pętli, brak miękkich 404.
- Aktualizacja linków wewnętrznych. Wskazują wprost na nowe adresy, nie przez przekierowanie.
- Wdrożenie w niskim ruchu. Zdjęcie blokady, sitemap i zmiana adresu w Search Console.
- Monitoring 2–4 tygodnie. Indeksacja, błędy 404/5xx, pozycje, nowe łańcuchy — codziennie w pierwszym tygodniu.
Podsumowanie
Migracja nie musi być skokiem w ciemność — jest operacją, którą da się zaplanować tak, by przeszła praktycznie bez strat. Wszystko sprowadza się do trzech filarów: rozumienia statusów HTTP, mapy przekierowań 301 w relacji 1:1 oraz dyscyplinowanego monitoringu po starcie. Statusy mówią Google, co dzieje się z adresem; mapa przenosi moc na nowe URL; monitoring łapie błędy, zanim staną się trwałe. Pominięcie któregokolwiek z tych filarów to proszenie się o spadek, którego potem miesiącami się odrabia.
Jeśli przygotowujesz zmianę domeny, przejście na HTTPS, wymianę CMS albo redesign — najtaniej jest zabezpieczyć ją zawczasu, a nie ratować po fakcie. Potrzebujesz pary oczu na plan migracji albo pełnego prowadzenia procesu? Napisz do mnie przez formularz kontaktowy, a o moim doświadczeniu przy migracjach przeczytasz na stronie o autorze. Cały kontekst technicznej higieny, na której stoi udana migracja, znajdziesz w przewodniku po technicznym SEO.
Tematy poruszone w artykule:
Najczęściej zadawane pytania
Czym różni się przekierowanie 301 od 302?
Czy podczas migracji domeny stracę pozycje w Google?
Co to jest łańcuch przekierowań i dlaczego szkodzi?
Kiedy używać kodu 410 zamiast 404?
Jak długo utrzymywać przekierowania po migracji?

O Autorze: Paweł Więcko
Ekspert SEO z 5-letnim doświadczeniem. Twórca strategii Data-Driven dla liderów E-commerce i B2B. Jego misją jest zamiana ruchu w przychód poprzez Topical Authority i SXO.
Czytaj dalej w temacie: techniczne-seo
Techniczne SEO 2026 — Fundamenty, Audyt i Optymalizacja
Kompletny przewodnik po technicznym SEO: indeksacja, crawl budget, Core Web Vitals, JavaScript, dane strukturalne i migracje. Zbuduj fundament, na którym stoi cała widoczność.
Indeksacja i Crawl Budget — Przewodnik
Jak działa crawl, render i index, czym jest crawl budget i kiedy ma znaczenie oraz jak czytać raport indeksacji w Search Console i optymalizować budżet sklepu.
Core Web Vitals — Jak Poprawić LCP, INP, CLS
Praktyczny przewodnik po Core Web Vitals: czym są LCP, INP i CLS, jak je mierzyć, dlaczego wypadają słabo i jak krok po kroku poprawić wyniki swojej strony.
Dane Strukturalne (Schema.org) — Przewodnik
Przewodnik po danych strukturalnych: formaty, JSON-LD, najważniejsze typy schema.org, wyniki rozszerzone, walidacja, graf @id oraz schema pod AI.