Migracja strony bez utraty pozycji - checklista przekierowan 301
Migracja strony bez utraty pozycji wymaga przed startem pelnej mapy URL, precyzyjnych przekierowan 301 i zgloszenia zmiany w Google Search Console. Bez tych trzech elementow ryzykujesz utrate ruchu organicznego nawet na kilka miesiecy.
Przez 13 lat robilem setki migracji - domen, redesignow, zmian struktury URL. Kazda z nich zaczyna sie tak samo: klient mowi "chcemy nowa strone" i nie wspomina ani slowem o SEO. A potem, 3 tygodnie po starcie, przychodzi panika, bo ruch z Google spada o 40%.
Migracja strony bez utraty pozycji to nie czary. To plan, arkusz Excela i lista rzeczy do sprawdzenia zanim nacisniesz "go live". W tym artykule pokazuje, jak to robie krok po kroku.
Dlaczego migracja niszczy SEO - i kiedy nie musi
Google indeksuje Twoje URL-e, a nie "strone jako calalosc". Jesli przez lata budowales widocznosc podstrony /oferta/serwis-laptopow/, a po redesignie ten adres po prostu znika (albo odpowiada kodem 404), Google traci kotwice. Moc rankingowa, ktora tam byla, nie przenosi sie automatycznie na /uslugi/naprawa-laptopow/. Dla Googlebota stary i nowy adres to dwie rozne strony.
Przekierowanie 301 jest tym mostem. Mowi przegladarce i robotowi Google: "ta strona przeniosla sie na stale pod inny adres". Przenosi niemal cala wartosc SEO - badania Moza i Semrush wskazuja transfer bliski 99%. Warunek jest jeden: przekierowanie musi byc bezposrednie, bez lancuchow i petli.
Rozrozniamy tez typy migracji pod katem trudnosci SEO. Najprostszy to redesign na tej samej domenie bez zmiany URL-i - ryzyko minimalne, zwykle zero spadan. Trudniejszy to zmiana struktury URL-i na tej samej domenie - wymaga pelnej mapy przekierowan. Najtrudniejszy to zmiana domeny - tu dolacza sie jeszcze przeniesienie sygnalu z zewnetrznych linkow i koniecznosc aktywowania narzedzia w Search Console.
Etap 1: Audyt starej strony przed jakakolwiek zmiana
Zanim nowy projekt ruszy, robia pelny crawl starej strony. Do tego celu uzywam Screaming Frog SEO Spider (licencja ok. 250 USD/rok, darmowa wersja dziala do 500 URL-i). Eksportuje liste wszystkich URL-i zwracajacych kod 200 i zapisuje ja jako urls-stara-strona.csv.
Rownoczesnie z Google Search Console pobieram:
- raport "Pokrycie" (ktore URL-e ma zaindeksowane Google),
- raport "Linki" (ktore podstrony maja najwiecej linkow zewnetrznych).
Podstrony z linkami zewnetrznymi to priorytet. Jezeli po migracji wpadna w 404, stracisz nie tylko pozycje, ale tez moc przekazywana przez zewnetrzne serwisy.
Nie zaczynaj prac deweloperskich zanim nie masz listy wszystkich aktywnych URL-i. To podstawa mapy przekierowan. Bez niej programista nie wie, czego nie wolno mu kasowac.
Etap 2: Mapa URL - rdzen calej migracji
Mapa URL to arkusz z dwiema kolumnami: stary adres i nowy adres. Kazdy wiersz to jedna para. Wyglada banalnie, a jest najtrudniejsza czescia projektu.
Co musi byc w mapie URL
- Wszystkie URL-e ze statusem 200 ze starej strony
- Strony z linkami zewnetrznymi (priorytet 1)
- Strony generujace ruch organiczny wg GSC (priorytet 2)
- URL-e z wbudowanymi linkami wewnetrznymi do innych czesci serwisu
- Stare adresy do plikow PDF, obrazkow, zasobow pobieranych bezposrednio
- Ewentualne warianty URL (z ukosnikiem i bez, http i https)
Przy typowej stronie firmowej z 50-200 podstronami mape przygotowuje razem z klientem w Google Sheets. Przy sklepach WooCommerce z tysiącami produktow uzywam skryptow - eksportuje produkty przez WP-CLI, dopasowuje stare i nowe slug-i automatycznie. Mapa powinna byc gotowa i zatwierdzona przez klienta ZANIM programista zacznie prace - zmiana struktury URL w trakcie developmentu to prosta droga do chaosu i luk w przekierowaniach.
Jeden praktyczny trik: kiedy mapa jest gotowa, sprawdzam czy kazdy stary URL ma przypisany JEDEN cel. Podstrony, dla ktorych nie ma sensownego nowego odpowiednika, przekierowuje na najblizszego tematycznie rodzica lub na glowna kategorie - nigdy na strone glowna (to tak zwane "soft 404" i Google tego nie lubi).
Etap 3: Wdrozenie przekierowan w WordPress
Na WordPressie uzywam wtyczki Redirection (darmowa, autor John Godley, ponad 2 mln instalacji). Pozwala importowac caly arkusz CSV jednym kliknieciem. Alternatywnie mozna wpisac reguly bezposrednio do .htaccess (serwery Apache) lub nginx.conf (nginx).
Najwazniejsza zasada: jeden hop, nie lancuch. Jesli przekierowujesz /stare-url/ na /srednie-url/, a /srednie-url/ na /nowe-url/, tracisz moc SEO na kazdym ogniwie. Wtyczka Redirection automatycznie wykrywa lancuchy i ostrzega - warto to sprawdzic przed startem.
Przy wiekszych projektach (sklepy e-commerce, portale) robie przekierowania po stronie serwera - reguly w .htaccess sa szybsze niz przekierowania PHP w WordPressie i mniej obciazaja baze danych.
Metody wdrozenia przekierowan 301 w WordPress
| Metoda | Szybkosc | Latwos wdrozenia | Kiedy uzywac |
|---|---|---|---|
| Wtyczka Redirection | Srednia | Bardzo latwa | Strony do 500 URL-i, klient bez technicznego doswiadczenia |
| .htaccess (Apache) | Bardzo szybka | Srednia | Serwery Apache, duze sklepy, migracje z tysiącami URL-i |
| nginx.conf | Najszybsza | Trudna | Nginx, servery VPS, projekty enterprise |
| WP-CLI + skrypt PHP | Bardzo szybka | Srednia | Automatyczna migracja produktow WooCommerce |
Etap 4: Aktualizacja linkowania wewnetrznego i sitemapy
Po wdrozeniu przekierowan idzie aktualizacja wszystkich linkow wewnetrznych w tresciach. Uzywam do tego:
- Better Search Replace (wtyczka WP) - podmienia stare URL-e w calej bazie danych jednym zapytaniem,
- lub WP-CLI:
wp search-replace "stara-domena.pl" "nowa-domena.pl" --all-tables.
Potem odswiezam siteme XML. W Rank Math wystarczy jedno klikniecie, zeby wygenerowac nowa mape i wyslac ja do Search Console.
Sprawdz canonical na nowych URL-ach. Zdarzalo mi sie, ze po migracji nowa strona miala canonical wskazujacy na stary adres - bo deweloper skopiowal szablon bez aktualizacji tagu. Google wtedy ignoruje nowy URL jako duplikat.
Warto tez wspomniec o tematyce zwiazanej - jesli planujesz jednoczesnie przebudowac architekture informacji, warto przeczytac o tym jak redesign strony wiaze sie z utrzymaniem pozycji oraz jak wdrozyc schema.org po migracji, zeby nie stracic rozszerzen w wynikach wyszukiwania.
Etap 5: Google Search Console - narzedzie zmiany adresu
Przy zmianie domeny (nie przy redesignie na tej samej domenie) aktywuje narzedzie "Zmiana adresu" w Google Search Console. Znajdziesz je w ustawieniach wlasnosci > Zmiana adresu.
Wazne: narzedzie dziala tylko przy zmianie domeny glownej. Przy samej zmianie struktury URL na tej samej domenie nie ma takiego narzedzia - Google sam odkrywa zmiany przez crawl. Dlatego po redesignie wysylam zaktualizowana sitmape i recznie prosze o indeksowanie kluczowych stron przez opcje "Sprawdz URL" w GSC.
Narzedzie "Zmiana adresu" aktywuje sie PO wdrozeniu przekierowan, nie przed. Jesli wlaczysz je zanim serwer zacznie odpowiadac przekierowaniami 301, Google dostanie sprzeczne sygnaly.
Plusy
- Przyspiesza crawl nowej domeny przez Google
- Przenosi sygnal rankingowy szybciej niz tylko przekierowania
- Bezplatne narzedzie wbudowane w GSC
- Latwe w obsludze (3 klikniecia)
Minusy
- Dziala tylko przy zmianie domeny, nie przy redesignie
- Wymaga wcześniejszego wdrozenia przekierowan
- Efekt widoczny po 180 dniach (tyle trwa pelne przetworzenie przez Google)
- Nie zastepuje przekierowan 301 - to tylko uzupelnienie
Etap 6: Monitoring po starcie
Pierwsze 2 tygodnie po migracji to najwazniejszy okres. Codziennie sprawdzam:
- GSC > Pokrycie - czy pojawily sie nowe bledy 404 albo URL-e zablokowane przez robots.txt,
- GSC > Skutecznosc - czy klikniecia i wyswietlenia nie spada drastycznie,
- Screaming Frog - szybki crawl po tygodniu, by wychwycic ewentualne lancuchy przekierowan.
Jesli ruch spada o wiecej niz 20% w ciagu pierwszego tygodnia, natychmiast szukam brakujacych przekierowan. Raz mialem klienta, u ktorego okazalo sie, ze hosting zmienil konfiguracje serwera i przekierowania z .htaccess przestaly dzialac po 48 godzinach od startu. Szybka reakcja uratowala sytuacje.
Warto miec tez pod reka narzedzie httpstatus.io lub podobne - pozwala sprawdzic pojedynczy URL, ile skokow robi przekierowanie i jakie statusy HTTP zwraca kazdy z nich. Przy lancuchu dluzszym niz 2 skoki tracisz moc SEO i spowalniasz ladowanie strony dla uzytkownikow. Dlatego po wdrozeniu robie przykladowy test 20-30 losowych URL-i ze starej strony i upewniam sie, ze kazdy odpowiada kodem 301 i laduje finalna strone w jednym skoku.
Checklista monitoringu po migracji (pierwsze 30 dni)
- Codziennie: raport Pokrycie w GSC (bledy 404)
- Codziennie: raport Skutecznosc w GSC (klikniecia, wyswietlenia)
- Po 7 dniach: pelny crawl Screaming Frog nowej strony
- Po 14 dniach: sprawdzenie najwazniejszych pozycji w Senuto, Semrush lub Ahrefs
- Po 30 dniach: porownanie ruchu organicznego rok do roku lub miesiac do miesiaca
- Przez 180 dni: nie usuwaj przekierowan 301
Kiedy migracja nie powoduje spadkow - i co na to wplywa
Mialem kilka migracji, ktore przeszly bez zadnych spadan. Wspolny mianownik:
- Struktura URL pozostala niezmieniona (tylko nowa szata graficzna),
- Lub tam gdzie sie zmienila, kazdy stary URL mial dokladne przekierowanie 1:1,
- Tresc na kluczowych podstronach nie zostala skrocona ani przepisana,
- Szybkosc strony (Core Web Vitals) nie pogorszyla sie po migracji.
Najgorsze przypadki, ktore widzialem u klientow, mieli jedno wspolne: zmiana domeny PLUS nowa struktura URL PLUS przepisanie tresci PLUS nowy hosting - wszystko naraz. Takie triple-play zawsze konczy sie 2-3 miesiacami walki o powrot do poprzednich pozycji.
Jesli planujesz duze zmiany, rozloz je w czasie. Zmiana domeny w lutym, nowa struktura URL w kwietniu, optymalizacja tresci w czerwcu. Kazdy etap osobno, z monitowaniem po kazdym.
Wiecej o calosciowym podejsciu do SEO technicznego znajdziesz w moich materialach na temat pozycjonowania SEO.
Przy poprawnie wdrozonych przekierowaniach 301 i zgloszonej zmianie w Search Console wiekszosc stron odzyskuje pozycje w ciagu 2-4 tygodni. Jesli jednak pominales przekierowania lub zmieniles rownoczesnie structure tresci, czas moze sie wydluzyc do 3-4 miesiecy. Duze sklepy e-commerce odczuwaja te wahania bardziej niz strony wizytowkowe. Praktycznie tak - Google przekazuje przez 301 niemal cala moc rankingowa. Wieloletnie testy SEO wskazuja na transfer rzadu 99%. Tracisz minimalne ulamki procentu, ale nie ma to istotnego wplywu na pozycje jesli lancuch przekierowan jest krotki (1 skok, nie 3-4). Tak, ale przy stronach powyzej 200 URL-i to ryzykowne. Darmowa wersja Screaming Frog skanuje do 500 URL-i, wiec przy mniejszych stronach mozesz sie zatrzymac na planie bezplatnym. Alternatywnie uzyj Ahrefs Site Audit lub Google Search Console - raport 'Pokrycie' pokaZe strony 404 po migracji. To najtrudniejszy scenariusz - Google musi przyswoic dwie zmiany naraz. Zalecam robic to etapami: najpierw zmien domene z identyczna struktura URL i poczekaj az Googlebot oswoi sie z nowa domena (ok. 4-6 tygodni). Dopiero potem reorganizuj strukture. Jesli musisz to zrobic jednoczesnie, przygotuj map URL z absolutna dokladnoscia i monitoruj GSC codziennie przez pierwsze 2 tygodnie. Uzywam trzech narzedzi rownolegle: Screaming Frog (pelny crawl nowej strony z opcja 'Always Follow Redirects'), raport 404 w Google Search Console oraz wtyczki Redirection w WordPress. Wazne jest tez sprawdzenie lancuchow - narzedzie httpstatus.io pozwala szybko zobaczyc ile skokow ma dane przekierowanie. To narzedzie to przyspieszacz, nie zamiennik przekierowan 301. Bez przekierowan na serwerze narzedzie GSC nic nie da. Z kolei jesli masz przekierowania, ale nie uzyjesz narzedzia GSC, i tak w koncu odbudujesz pozycje - tylko zajmie to dluzej. Narzedzie 'Zmiana adresu' warto aktywowac po pelnym wdrozeniu przekierowan, nie przed.Najczęstsze pytania
Ile czasu zajmuje odzyskanie pozycji po migracji strony?
Czy przekierowanie 301 przenosi caly PageRank na nowy adres?
Czy moge zrobic migracje strony bez narzedzia Screaming Frog?
Co zrobic gdy zmieniam jednoczesnie domene i przebudowuje strukture URL?
Jak sprawdzic po migracji czy przekierowania dzialaja poprawnie?
Czy narzedzie 'Zmiana adresu' w Google Search Console wystarczy przy migracji domeny?
Potrzebujesz pomocy z projektem?
Robię strony WordPress i sklepy Shoper od 2500 zł. Partner Shoper, 120+ projektów.
- Odpowiedź w 24h
- Certyfikowany Partner Shoper
- 120+ zrealizowanych projektów
- Zgodność z RODO, pełna ochrona danych