Pół roku temu napisał do mnie Marek - prowadzi warsztat blacharsko-lakierniczy pod Katowicami. Jego stara strona wyglądała jak z 2011 roku, ale przez osiem lat zdążyła zebrać porządne pozycje na frazy typu "naprawa powypadkowa Katowice". Zlecił redesign lokalnej agencji. Nowa strona poszła na produkcję w piątek wieczorem, a w poniedziałek telefon przestał dzwonić. Po trzech tygodniach ruch z Google był niżej o 71%, a formularz przynosił jedno zapytanie tygodniowo zamiast ośmiu.
Diagnoza zajęła mi czterdzieści minut. Nowa strona miała inne adresy podstron, zero przekierowań ze starych, a w pliku robots.txt wisiał wpis skopiowany żywcem z serwera testowego - ten, który mówi Google "nie indeksuj tu niczego". Trzy błędy, każdy do naprawienia w kilkanaście minut, ale zanim ktokolwiek to zauważył, minął miesiąc. Odbudowa zajęła kolejne dwa.
Ten artykuł to plan, którego zabrakło. Jeśli planujesz nową stronę, przeczytaj go, zanim ktoś zacznie cokolwiek kodować. A jeśli już jesteś po nieudanej migracji - sekcja o wycofaniu jest na dole.
Dlaczego po redesignie ruch spada i dlaczego to nie przypadek
Największe nieporozumienie brzmi tak: "Google zna moją firmę, więc pozna też moją nową stronę". Nie zna. Google nie ma w bazie pojęcia "strona Marka". Ma listę konkretnych adresów. Każdy adres to osobny rekord z własną historią: kiedy powstał, jakie ma treści, kto do niego linkuje, na jakie frazy się wyświetla, ile osób w niego klika. Ta historia buduje się latami i jest przypisana do adresu, nie do firmy.
Kiedy zmieniasz adres z /naprawa-powypadkowa na /uslugi/blacharstwo i nie zostawiasz żadnego śladu, dla Google dzieje się jedno: stary adres przestaje istnieć, a nowy pojawia się jako zupełnie świeża podstrona bez historii. Cały dorobek zostaje po drugiej stronie. Nie ma tu kary ani algorytmicznego spisku - jest po prostu zerwana ciągłość.
Do tego dochodzą trzy rzeczy, które w praktyce widzę najczęściej. Po pierwsze, zmienione adresy bez przekierowań. Po drugie, wycięte teksty - grafik projektuje piękny, przewiewny layout i pyta klienta, czy da się skrócić ten "ciężki blok tekstu". Klient się zgadza, bo tekst faktycznie wygląda ciężko. Tylko że to właśnie ten blok odpowiadał za pozycje. Po trzecie, blokady techniczne przeniesione z serwera testowego. Każdy z tych trzech problemów sam w sobie potrafi ściąć ruch o połowę. Razem robią to, co u Marka.
Warto też powiedzieć rzecz, która brzmi brutalnie: sam fakt, że nowa strona ładniej wygląda, nie jest dla Google sygnałem rankingowym. Google widzi szybkość, stabilność układu, treść, linki i zachowanie użytkowników. Estetyka wpływa na wyniki pośrednio - przez konwersję i przez to, że ludzie zostają dłużej. Ale nie liczy się jako punkt dodatni sam z siebie. Dlatego migracja jest operacją, w której możesz tylko stracić pozycje albo je utrzymać. Zysk przychodzi później, z lepszej treści i szybszego kodu.
Co musisz zebrać zanim ktokolwiek zacznie projektować
Migracja bez danych wyjściowych to lot bez przyrządów. Nie będziesz nawet wiedzieć, że spadłeś, dopóki nie usłyszysz ciszy w telefonie. Zbieranie danych zajmuje jedno popołudnie i jest najtańszą polisą, jaką możesz sobie kupić.
Zrób jeden arkusz - nazwij go "migracja" - i wrzuć do niego sześć rzeczy:
| Co zebrać | Skąd | Po co |
|---|---|---|
| Pełna lista adresów | Screaming Frog (do 500 adresów za darmo), sitemap.xml, raport "Strony" w Search Console | To fundament mapy przekierowań |
| Frazy i pozycje | Search Console, eksport za 16 miesięcy | Punkt odniesienia, bez niego nie ocenisz strat |
| Ruch po podstronach | GA4, ostatnie 12 miesięcy | Zobaczysz, które 20 adresów daje 80% ruchu |
| Linki zwrotne | Search Console, zakładka Linki | Te konkretne adresy muszą przetrwać za wszelką cenę |
| Title i description | Eksport z crawlera | Nie odtworzysz ich z pamięci, a często były dobre |
| Szybkość i Core Web Vitals | PageSpeed Insights, raport w Search Console | Porównanie przed i po, bez kłótni o wrażenia |
Do tego zrób jedną rzecz, o której prawie nikt nie pamięta: zapisz kopię starej strony. Nie tylko bazę danych i pliki, ale też zwykłe PDF-y albo zrzuty ekranu najważniejszych podstron z widocznym tekstem. Kiedy za trzy miesiące okaże się, że opis usługi na nowej stronie ma 180 słów zamiast 1200, będziesz mieć skąd odzyskać treść. Sam kilka razy ratowałem klientów wyłącznie dzięki archiwum web.archive.org, ale ono nie zapisuje wszystkiego i nie zawsze w tym momencie, w którym chcesz.
Mapa przekierowań 301 - główne narzędzie całej operacji
Przekierowanie 301 to komunikat serwera: "ten adres przeprowadził się na stałe pod nowy adres". Dla użytkownika jest niewidoczne - wpisuje stary link, ląduje pod nowym. Dla Google to instrukcja, żeby przenieść historię starego adresu na nowy. To jedyny mechanizm, który pozwala zmienić strukturę strony i nie zaczynać od zera.
Mapa przekierowań to zwykły arkusz z dwiema kolumnami: stary adres i nowy adres. Jeden wiersz na jeden adres. Nie "wszystkie /uslugi/* na /uslugi", tylko konkretnie: /uslugi/lakierowanie-samochodu prowadzi do /uslugi/lakiernictwo. Reguły ogólne stosuj tylko tam, gdzie faktycznie odwzorowują strukturę jeden do jednego, na przykład przy zmianie samej domeny.
Zasada wyboru celu jest prosta i nie ma od niej wyjątków: przekieruj na podstronę o najbliższej treści. Jeśli takiej nie ma, bo usługi już nie świadczysz - przekieruj na kategorię nadrzędną, a nie na stronę główną. Jeśli nie ma nawet sensownej kategorii, zostaw uczciwy błąd 404 z dobrą stroną błędu, która proponuje alternatywy. Uczciwy 404 jest dla Google mniej szkodliwy niż tysiąc przekierowań na stronę główną.
Google potwierdza w dokumentacji dla webmasterów, że przekierowania po przeprowadzce trzeba utrzymać przez co najmniej 180 dni, a praktyka branżowa mówi o minimum roku - bo systemy Google muszą zobaczyć to przekierowanie kilka razy, zanim uznają zmianę za trwałą. U siebie zostawiam je na zawsze. To kilka kilobajtów konfiguracji, a chroni przed sytuacją, w której ktoś klika w link sprzed pięciu lat w starym artykule branżowym.
Siedem błędów w przekierowaniach, które widzę najczęściej
Łańcuchy. Adres A prowadzi do B, B do C, C do D. Każdy skok to dodatkowe zapytanie, dodatkowy czas ładowania i większa szansa, że robot się po drodze zgubi. Łańcuchy powstają same, jeśli robisz drugą i trzecią migrację na tej samej stronie. Lekarstwo: po każdej zmianie przepisz stare reguły tak, żeby wskazywały bezpośrednio na aktualny cel. Zawsze jeden skok.
Wszystko na stronę główną.Najpopularniejszy skrót programisty, który nie chce robić mapy. Google traktuje masowe przekierowanie na stronę główną jak zwykły błąd 404 - nazywa to nawet "soft 404". Efekt jest identyczny jak brak przekierowań, tylko trudniej to zdiagnozować, bo w przeglądarce wszystko wygląda w porządku.
Pętle. A prowadzi do B, B z powrotem do A. Użytkownik widzi błąd przeglądarki i wychodzi. Zdarza się przy mieszaniu reguł dla www i https.
Zapomniane warianty adresu. Twoja strona ma cztery wersje: z http i https, z www i bez. To cztery różne adresy dla Google. Wszystkie trzy niepoprawne muszą prowadzić do jednej wybranej wersji, jednym skokiem. Do tego dochodzi ukośnik na końcu - /kontakt i /kontakt/ to formalnie dwa adresy. Wybierz jeden wariant i trzymaj się go w całym serwisie.
Przekierowanie 302 zamiast 301.302 znaczy "tymczasowo", więc Google zostawia stary adres w indeksie i nie przenosi sygnałów. Wiele wtyczek i paneli hostingowych domyślnie ustawia 302. Sprawdź to, nie zakładaj.
Przekierowanie w JavaScripcie albo meta refresh. Działa dla człowieka, ale jest wolniejsze i słabiej interpretowane. Przekierowanie ma być po stronie serwera - w nginx, w .htaccess albo w konfiguracji frameworka.
Pominięte pliki. Migrujesz podstrony, ale zapominasz o PDF-ach z cennikiem, zdjęciach z galerii i starych adresach obrazków, do których ktoś linkował. Jeśli w Search Console widzisz ruch na plik /cennik-2024.pdf, ten plik też potrzebuje przekierowania.
Czego nie wolno zgubić po drodze
Przekierowania to połowa roboty. Druga połowa to pilnowanie, żeby nowa strona nie była uboższa od starej. Lista rzeczy, które giną najczęściej:
- Title i description. Nowy CMS potrafi wygenerować title typu "Strona główna - Nazwa Firmy" na każdej podstronie. Przenieś stare, potem ewentualnie poprawiaj.
- Nagłówek H1. Jeden na stronę, z frazą, na którą ta strona się pozycjonowała. Zdarza się, że w nowym projekcie H1 to logo albo hasło marketingowe bez żadnej frazy.
- Teksty. Cichy zabójca numer jeden. Porównaj liczbę słów na starej i nowej wersji każdej ważnej podstrony. Jeśli spadła o połowę, wiesz już, dlaczego ruch też spadnie.
- Struktura adresów. Jeśli nie musisz jej zmieniać - nie zmieniaj. O tym za chwilę osobno.
- Wpisy blogowe. Przy zmianie CMS blog bywa "na później". To zwykle 40-70% całego ruchu organicznego. Migruj go razem z resztą albo w ogóle nie startuj.
- Dane strukturalne. Schema LocalBusiness, opinie, FAQ, produkty. Zniknięcie schematu to zniknięcie gwiazdek i dodatkowych informacji z wyników wyszukiwania.
- Teksty alternatywne obrazków. Przy przenoszeniu galerii alt-y odpadają praktycznie zawsze.
- Linkowanie wewnętrzne. Stara strona miała 300 linków między podstronami, nowa ma 40, bo "menu jest czystsze". Google używa tych linków, żeby zrozumieć, co jest ważne.
Kiedy adresów nie warto ruszać w ogóle
Najbezpieczniejsza migracja to taka, w której adresy zostają bez zmian. Nazywam to "wymianą skóry": nowy design, nowy kod, nowa szybkość, te same adresy i te same, ewentualnie rozbudowane, teksty. Ryzyko spadku jest wtedy bliskie zeru, bo Google widzi po prostu, że znane mu podstrony zmieniły wygląd i przyspieszyły.
Zostaw adresy w spokoju, jeśli są czytelne, opisowe i zgodne z treścią. /uslugi/lakierowanie jest w porządku i nie ma żadnego powodu, żeby robić z tego /oferta/lakiernictwo-samochodowe. Zysk SEO z takiej zmiany jest w praktyce zerowy, a ryzyko realne.
Zmiana adresów ma sens w czterech sytuacjach: gdy są nieczytelne i techniczne, w stylu /index.php?p=127; gdy masz duplikaty i ta sama treść wisi pod trzema adresami; gdy wchodzisz w wersje językowe i potrzebujesz prefiksów; gdy przebudowujesz strukturę serwisu, bo obecna nie da się rozbudować. We wszystkich innych przypadkach zmiana adresów to koszt bez przychodu.
Zmiana domeny - osobny gatunek problemu
Zmiana domeny to migracja w trybie hard. Przenosisz nie tylko adresy podstron, ale całą tożsamość serwisu. Wszystko z powyższych sekcji obowiązuje, plus kilka rzeczy dodatkowo.
Po pierwsze, narzędzie "Zmiana adresu" w Search Console. Obie domeny muszą być zweryfikowanymi usługami na tym samym koncie. Zgłoszenie sprawia, że Google priorytetowo indeksuje nową domenę i przekazuje sygnały ze starej. Ważne: to działa przez 180 dni. Po tym okresie Google przestaje widzieć jakikolwiek związek między domenami i traktuje starą jak obcy serwis. Zgłoszenia nie trzeba ponawiać, ale przekierowania muszą przeżyć znacznie dłużej niż te 180 dni.
Po drugie, przekierowania jeden do jednego z każdej podstrony starej domeny na jej odpowiednik. Nie z domeny na domenę.
Po trzecie, cała reszta świata poza Twoją stroną. Wizytówka Google Moja Firma, profile w mediach społecznościowych, katalogi branżowe, faktury, stopka w mailu, wizytówki papierowe, podpisy w formularzach. Zrób listę wszystkich miejsc, gdzie stara domena jest wpisana, i odhacz je po kolei. Osobno napisz do 10-20 najważniejszych stron, które do Ciebie linkują, z prośbą o podmianę adresu. Bezpośredni link jest wart więcej niż link przez przekierowanie.
Po czwarte, starej domeny nie wolno pozwolić wygasnąć. Opłacaj ją przez minimum trzy lata po przeprowadzce. Domena bez przedłużenia trafia na rynek, ktoś ją kupuje pod treści niskiej jakości, a Twoje przekierowania znikają razem z historią.
I po piąte - nie łącz zmiany domeny ze zmianą projektu i zmianą systemu w jeden dzień. Jeśli coś pójdzie nie tak, nie będziesz wiedzieć, co. Rób to etapami, w odstępie 4-6 tygodni. Zdaję sobie sprawę, że to wydłuża projekt. Ale kiedy Anna, właścicielka biura rachunkowego z Gdańska, robiła u nas rebranding, rozłożyliśmy to na dwa etapy - najpierw nowa strona pod starą domeną, po sześciu tygodniach przeprowadzka na nową. Spadek ruchu w szczycie wyniósł 12% i wrócił po pięciu tygodniach.
Techniczny checklist dnia uruchomienia
To lista, którą przechodzę osobiście przed każdym startem. Zajmuje 30-40 minut i uratowała już kilka projektów.
- robots.txt. Klasyczna katastrofa: wpis "Disallow: /" skopiowany z serwera testowego. Otwórz twojadomena.pl/robots.txt w przeglądarce i przeczytaj go oczami. To dosłownie 10 sekund pracy, a to najczęstsza pojedyncza przyczyna zniknięcia strony z Google po migracji.
- Meta noindex. Druga wersja tej samej katastrofy. Wiele CMS-ów ma przełącznik "odstrasz wyszukiwarki", włączony na czas budowy. Sprawdź kod źródłowy strony głównej i dwóch podstron.
- Nagłówek X-Robots-Tag. Trzecia wersja, najbardziej podstępna, bo w kodzie HTML nic nie widać. Ustawia się go na poziomie serwera. Sprawdź w narzędziach deweloperskich, w zakładce z nagłówkami odpowiedzi.
- Hasło HTTP na serwerze. Jeśli strona testowa była chroniona hasłem i ta ochrona zostanie po starcie, robot Google dostanie błąd 401 i nie zobaczy niczego.
- Znaczniki canonical. Bardzo częsty błąd: canonical wskazuje na adres serwera testowego. Sprawdź na kilku podstronach.
- Nowa mapa witryny. Wygeneruj sitemap.xml z aktualnymi adresami, bez starych i bez przekierowanych.
- SSL. Certyfikat na nowej domenie, przekierowanie z http na https, brak mieszanej treści.
- Strona 404. Musi zwracać kod 404, nie 200. Jeśli zwraca 200, Google będzie indeksować nieskończoną liczbę nieistniejących adresów.
- Analytics i Search Console. Kody śledzenia trzeba wgrać od nowa. Zapomnienie o tym oznacza, że przez pierwsze tygodnie nie masz danych - czyli lecisz na ślepo dokładnie wtedy, gdy najbardziej ich potrzebujesz.
- Formularz kontaktowy. Wyślij testowe zapytanie z zewnętrznego adresu i sprawdź, czy doszło. Także w spamie.
Search Console w dniu startu i w pierwszych tygodniach
Search Console jest jedynym miejscem, gdzie zobaczysz świat oczami Google. Po migracji zaglądaj tam częściej niż zwykle, ale według planu, a nie z nerwów.
| Kiedy | Co robisz |
|---|---|
| Dzień 0 | Sprawdzasz robots.txt i noindex. Zgłaszasz nową mapę witryny. Przy zmianie domeny wysyłasz zgłoszenie "Zmiana adresu". Testujesz 10 najważniejszych adresów przez narzędzie sprawdzania adresu URL na żywo. |
| Dzień 1-3 | Przepuszczasz całą starą listę adresów przez crawler i sprawdzasz, czy każdy oddaje 301 i ląduje pod właściwym celem, jednym skokiem. |
| Tydzień 1 | Raport "Indeksowanie stron". Rośnie liczba "Nie znaleziono (404)"? Sprawdzasz, które adresy wypadły z mapy przekierowań. |
| Tydzień 2-4 | Raport "Wyniki wyszukiwania". Porównujesz frazy i strony docelowe z eksportem sprzed migracji. Szukasz fraz, które zniknęły całkowicie. |
| Miesiąc 2-3 | Core Web Vitals - dane zbierają się z 28 dni, więc dopiero teraz mają sens. Sprawdzasz, czy nowa strona faktycznie jest szybsza. |
Jedna uwaga o narzędziu "Usunięcia": nie używaj go do starych adresów. Ludzie próbują w ten sposób "posprzątać indeks", a w efekcie ukrywają adres, który miał przekazać swoją historię dalej. Przekierowania zrobią to za Ciebie, tylko wolniej i lepiej.
Ile trwa spadek i kiedy naprawdę się martwić
Nawet przy poprawnie przeprowadzonej migracji zobaczysz wahania. Google musi przeskanować wszystkie stare adresy, zobaczyć przekierowania, przeliczyć sygnały i zaktualizować indeks. Przy kilkudziesięciu podstronach to kwestia dni. Przy kilku tysiącach - tygodni.
Realistyczne widełki, które podaję klientom: przy zmianie adresów w obrębie tej samej domeny wahania trwają 2-6 tygodni, powrót do poziomu sprzed migracji następuje zwykle w 4-12 tygodniu. Przy zmianie domeny licz 1-3 miesiące, przy dużych serwisach nawet do pół roku. Chwilowy spadek o 10-25% w pierwszych dwóch tygodniach jest normalny i nie wymaga żadnej reakcji.
Kiedy zapalić czerwoną lampkę:
- Spadek przekracza 40% i po trzech tygodniach nie widać trendu wzrostowego.
- Liczba zaindeksowanych stron w Search Console spadła gwałtownie i nie odbija.
- W raporcie indeksowania rośnie kategoria "Zablokowana przez plik robots.txt" albo "Wykluczona przez tag noindex".
- Wpisujesz w Google zapytanie z operatorem site i widzisz kilka adresów zamiast kilkuset.
- Konkretne frazy, na które byłeś w pierwszej trójce, zniknęły z raportu całkowicie, a nie spadły o kilka pozycji.
Zanim jednak wpadniesz w panikę, sprawdź sezonowość. Warsztat samochodowy ma inne lipce niż listopady, biuro rachunkowe żyje styczniem i kwietniem. Porównuj rok do roku, a nie miesiąc do miesiąca. Widziałem klienta, który przez trzy tygodnie był przekonany, że migracja go zabiła, a po prostu skończyły się wakacje.
Jak się wycofać, jeśli wszystko poszło nie tak
Plan wycofania robi się przed startem, nie w trakcie pożaru. Składa się z czterech elementów.
Kompletna kopia zapasowa.Pliki i baza danych starej strony, pobrane na dysk lokalny, nie tylko "gdzieś na serwerze". Zweryfikuj, że kopia się rozpakowuje. Kopia, której nikt nie sprawdził, statystycznie w połowie przypadków jest uszkodzona.
Obniżony TTL w DNS. Dzień przed migracją ustaw czas życia rekordów DNS na 300 sekund. Dzięki temu ewentualny powrót zadziała w kilka minut, a nie w dobę. Po tygodniu spokojnie podnieś z powrotem.
Ustalone kryteria.Zapisz na kartce, co dokładnie oznacza "wycofujemy się". Na przykład: strona nie działa dłużej niż dwie godziny, albo formularz nie działa i nie umiemy tego naprawić w cztery godziny. Bez kryteriów decyzję podejmujesz w emocjach.
Świadomość, że pełny powrót rzadko jest odpowiedzią. W praktyce 90% problemów po migracji rozwiązuje się punktowo: poprawiasz robots.txt, dopisujesz 40 brakujących przekierowań, przywracasz wycięte teksty. Pełny powrót do starej strony ma sens tylko w pierwszych 48 godzinach, gdy nowa wersja jest funkcjonalnie zepsuta. Po dwóch tygodniach powrót to druga migracja, z tym samym ryzykiem co pierwsza - tyle że tym razem robiona w panice.
Checklista migracji - 20 punktów
Wydrukuj to i odhacz po kolei. Jeśli pracujesz z agencją, poproś o odhaczone kopie przed startem.
- 1. Pełna lista starych adresów wyeksportowana i zapisana.
- 2. Eksport fraz i pozycji z Search Console za 16 miesięcy.
- 3. Eksport ruchu po podstronach z GA4 za 12 miesięcy.
- 4. Lista stron, które do Ciebie linkują, z docelowymi adresami.
- 5. Eksport wszystkich title i description.
- 6. Kopia zapasowa plików i bazy, sprawdzona pod kątem rozpakowania.
- 7. Mapa przekierowań w formacie jeden do jednego, bez luk.
- 8. Mapa sprawdzona pod kątem łańcuchów i pętli.
- 9. Warianty www, bez www, http i https prowadzą do jednej wersji.
- 10. Ustalony wariant ukośnika na końcu adresu, spójny w całym serwisie.
- 11. Przekierowania dla plików PDF i obrazków, do których ktoś linkował.
- 12. Teksty przeniesione bez skracania, porównana liczba słów na kluczowych podstronach.
- 13. Nagłówki H1 na miejscu, po jednym na podstronę, z frazą.
- 14. Dane strukturalne i teksty alternatywne obrazków przeniesione.
- 15. robots.txt przeczytany na produkcji własnymi oczami.
- 16. Brak noindex w kodzie i w nagłówkach serwera, brak hasła HTTP.
- 17. Canonical wskazuje na docelową domenę, nie na serwer testowy.
- 18. Nowa mapa witryny wygenerowana i zgłoszona w Search Console.
- 19. Kody GA4 i weryfikacja Search Console wgrane na nową wersję, formularz przetestowany.
- 20. TTL w DNS obniżony przed startem, kryteria wycofania spisane.
Dwadzieścia punktów to około jednego dnia pracy dla osoby, która wie, co robi. Straty po nieudanej migracji liczy się w miesiącach przychodu. Marek policzył swoje na jakieś 30 tysięcy złotych utraconych zleceń - i to licząc tylko te, o których wiedział, bo klienci dzwonili z pretensjami, że nie mogą go znaleźć. Cała ta lista kosztowałaby go jeden dzień.
Najkrótsze możliwe podsumowanie
Google nie zna Twojej firmy, zna Twoje adresy. Migracja to operacja przenoszenia historii z jednych adresów na drugie, a jedynym narzędziem, które to potrafi, jest przekierowanie 301 jeden do jednego. Wszystko inne - teksty, nagłówki, dane strukturalne, linkowanie wewnętrzne - musi przeżyć przeprowadzkę w komplecie. A jeśli nie masz mocnego powodu, żeby zmieniać adresy, po prostu ich nie zmieniaj.
Nowa strona ma być krokiem naprzód, nie restartem od zera. Różnica między jednym a drugim to zwykle jeden arkusz kalkulacyjny i jedno popołudnie przygotowań.
Planujesz nową stronę i boisz się o pozycje?
Napisz do nas przed startem projektu. Przejdziemy przez Twoje obecne adresy, ruch i linki, przygotujemy mapę przekierowań i powiemy wprost, co warto zmieniać, a czego lepiej nie ruszać. Bez zobowiązań.
Porozmawiajmy o migracji