Wordpress

Migracja WordPress bez utraty SEO — w skrócie:
Migracja strony WordPress to jeden z tych momentów gdy jedna zła decyzja może kosztować miesiące pracy SEO. Widziałem strony które po migracji domeny straciły 60% ruchu organicznego — i strony które przeszły przez ten sam proces bez mierzalnego spadku pozycji.
Różnica? Przygotowanie i systematyczność. Ten przewodnik pokazuje jak to zrobić poprawnie.
Migracja WordPress to przeniesienie strony internetowej z jednego środowiska do drugiego — zmiana serwera, domeny, protokołu (HTTP→HTTPS) lub struktury URL. Z perspektywy SEO każda zmiana adresu URL to potencjalne ryzyko — Google musi odnaleźć nowe adresy, powiązać je ze starymi i przenieść autorytet linków.
| Rodzaj migracji | Ryzyko SEO | Czas re-indeksacji | Główne wyzwanie |
|---|---|---|---|
| Zmiana hostingu (ta sama domena) | Niskie | 1–2 tygodnie | Propagacja DNS, czas przestoju |
| HTTP → HTTPS | Niskie–średnie | 2–4 tygodnie | Redirecty 301, mixed content |
| Zmiana struktury URL | Średnie | 4–8 tygodni | Mapowanie i przekierowanie każdego URL |
| Zmiana domeny | Wysokie | 6–16 tygodni | Transfer autorytetu domeny |
| Zmiana CMS (np. Joomla → WordPress) | Bardzo wysokie | 3–6 miesięcy | Pełne mapowanie struktury, migracja treści |
Każdy rodzaj migracji wymaga innego podejścia, ale fundament jest zawsze ten sam: zachowanie ciągłości URL-i lub bezbłędne przekierowanie 301 ze starych na nowe adresy.
Zrobić to razem?
Wdrażam takie rzeczy w firmach na co dzień. Umów 30 minut, pogadamy konkretnie o Twoim przypadku. Bez prezentacji sprzedażowej.
Umów bezpłatną rozmowę →
Większość problemów SEO po migracji wynika z braku przygotowania. Ten etap zajmuje 2–4 godziny, ale oszczędza tygodnie problemów.
Zanim cokolwiek ruszysz — backup. Pełny. Pliki + baza danych. Zapisany poza serwerem.
Jak zrobić backup przed migracją:
Backup to Twoja polisa ubezpieczeniowa. Bez niego każda migracja jest skokiem w ciemność.
Przed migracją musisz wiedzieć dokładnie, jakie URL-e indeksuje Google. To Twój punkt odniesienia.
Jak wykonać crawl strony:
Ten plik CSV to Twoja mapa — każdy URL ze statusem 200 (działa) musi mieć swojego odpowiednika po migracji lub przekierowanie 301.
Przed migracją zapisz dane o pozycjach dla kluczowych fraz:
Po migracji porównasz te dane z nowymi — to jedyny obiektywny sposób oceny wpływu migracji na SEO.
Linki z innych stron (backlinki) wskazują na konkretne URL-e. Jeśli zmienisz domenę lub strukturę, musisz wiedzieć które URL-e mają backlinki — to one są najważniejsze do przekierowania.
Narzędzia do sprawdzenia backlinków: Ahrefs, SEMrush, Majestic (płatne) lub Google Search Console → Linki (darmowe, ale niepełne).
Nowe środowisko WordPress powinno być gotowe zanim zaczniesz przenosić dane. Chodzi o minimalizację czasu przestoju.
Jeśli migrujesz na nowy hosting:
/etc/hosts do testów lokalnych)phpinfo())Lista kontrolna nowego serwera:
memory_limit = 256M)To serce całego procesu. Masz dwa główne podejścia: plugin migracyjny lub ręczna migracja.
All-in-One WP Migration — najłatwiejsza opcja dla stron do 512MB. Zaufało mu ponad 60 milionów stron. Darmowa wersja obsługuje nieograniczony rozmiar eksportu, import może wymagać rozszerzenia premium ($69–$99/rok) jeśli plik jest duży.
Duplicator Pro — lepsza opcja dla większych stron i bardziej zaawansowanych migracji. Ponad 1 milion aktywnych instalacji, ocena 4,9/5. Cena od $49,50/rok. Proces: stwórz "paczke" na starym serwerze, pobierz ją, wgraj na nowy serwer z instalatorem.
Migrate Guru — darmowe dla stron do 200GB. Migruje bezpośrednio między serwerami (nie przechodzi przez Twój komputer), automatycznie zastępuje URL-e w bazie danych. Idealne dla dużych stron.
Krok po kroku z All-in-One WP Migration:
.wpress na komputerRęczna migracja daje pełną kontrolę i jest niezawodna dla dużych stron:
.sqlJeśli zmieniasz domenę lub protokół (HTTP→HTTPS), musisz zaktualizować URL-e w bazie danych. To częsty punkt błędów — pominięcie go powoduje mixed content (zasoby ładowane po HTTP na stronie HTTPS), błędy w linkach wewnętrznych i zduplikowane treści.
Plugin Better Search Replace (darmowy, ponad 1 milion instalacji):
http://stara-domena.pl)https://nowa-domena.pl)Ważne: zamień zarówno http://domena.pl jak i https://domena.pl jeśli poprzednia strona miała mieszane linki. Zamień też //domena.pl (wersja bez protokołu).
Przekierowania 301 to najważniejszy element migracji z perspektywy SEO. Informują Google: "ten URL przeniósł się na stałe pod nowy adres". Google przenosi autorytet (PageRank) ze starego na nowy URL — ale nie od razu i nie w 100%.
/blog/artykul → /artykuly/artykul).html → bez rozszerzenia)Nie potrzebujesz redirectów 301 jeśli: zmieniasz tylko hosting (ta sama domena, te same URL-e).
Plik .htaccess to najszybsza metoda dla serwerów Apache (większość hostingów shared w Polsce):
Redirect całej domeny (stara → nowa):
RewriteEngine On
RewriteCond %{HTTP_HOST} ^stara-domena.pl$ [OR]
RewriteCond %{HTTP_HOST} ^www.stara-domena.pl$
RewriteRule ^(.*)$ https://nowa-domena.pl/$1 [R=301,L]
Redirect HTTP → HTTPS (na tej samej domenie):
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Redirect www → non-www (lub odwrotnie):
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domena.pl$ [NC]
RewriteRule ^(.*)$ https://domena.pl/$1 [R=301,L]
Pojedynczy redirect (konkretny URL):
Redirect 301 /stary-adres/ https://nowa-domena.pl/nowy-adres/
Jeśli nie chcesz edytować .htaccess ręcznie, użyj pluginu Redirection (darmowy, 2+ miliony instalacji):
Plugin tworzy listę redirectów którą możesz łatwo edytować, eksportować i importować. Idealny jeśli masz kilkadziesiąt URL-i do przekierowania.
Dla migracji z wieloma zmianami URL-i (np. restrukturyzacja kategorii):
Zasada priorytetu: najpierw przekieruj URL-e z największą liczbą backlinków i ruchu organicznego.
Migracja bez weryfikacji to migracja w ciemno. Ten etap trwa 1–2 godziny, ale jest absolutnie niezbędny.
Lista kontrolna "dzień 0":
noindex — sprawdź w nagłówkach HTTP lub Yoast SEO/sitemap.xml lub /sitemap_index.xml/robots.txt i nie blokuje indeksacjiTo krok który większość właścicieli stron pomija — i potem dziwi się że Google nie indeksuje nowych URL-i:
Po 24–48 godzinach od migracji:
Migracja to nie jednorazowe wydarzenie — to proces. Plan monitoringu:
| Tydzień | Co sprawdzić | Narzędzie |
|---|---|---|
| Tydzień 1–2 | Błędy crawla, pokrycie indeksacji, redirecty | Google Search Console → Pokrycie |
| Tydzień 3–4 | Pierwsze dane o pozycjach, ruch organiczny | GSC → Wyniki wyszukiwania, Google Analytics |
| Tydzień 5–8 | Stabilizacja pozycji, identyfikacja strat | GSC, Ahrefs/SEMrush, Search Console Compare |
| Po 8 tygodniach | Pełna ocena wpływu migracji na SEO | Porównanie z danymi sprzed migracji |
To pytanie które słyszę najczęściej — i odpowiedź jest mniej optymistyczna niż większość agencji przyznaje.
Realistyczne oczekiwania:
Kiedy martwić się powinien: jeśli po 12 tygodniach od migracji (zmiana domeny) pozycje nie wróciły do poprzednich poziomów, szukaj błędów technicznych: pętle redirectów, błędy indeksacji w GSC, przypadkowy noindex.
Symptom: strony wracają status 404 po migracji, Google Search Console pokazuje błędy "Nieznaleziono (404)".
Rozwiązanie: przed migracją zrób crawl (Screaming Frog) i miej pełną listę URL-i. Każdy URL ze starego serwera który zmienił adres musi mieć redirect 301.
Symptom: ERR_TOO_MANY_REDIRECTS w przeglądarce, Google nie może zaindeksować stron.
Skąd się biorą: redirect A→B, B→C, C→A tworzy pętlę. Albo mix HTTP/HTTPS i www/non-www w .htaccess tworzy łańcuch 3+ redirectów.
Rozwiązanie: każdy redirect powinien być bezpośredni (A→C, nie A→B→C). Sprawdź redirecty narzędziem online "Redirect Checker" lub Screaming Frog → Mode → List → wklej stare URL-e.
Symptom: strona działa po HTTPS, ale zasoby (obrazy, skrypty, CSS) ładują się po HTTP. Przeglądarka pokazuje "Niezabezpieczone" lub blokuje zasoby.
Skąd się bierze: URL-e zasobów w bazie danych WordPress nie zostały zaktualizowane po migracji HTTP→HTTPS.
Rozwiązanie: Better Search Replace — zamień http://twoja-domena.pl na https://twoja-domena.pl we wszystkich tabelach bazy danych.
Symptom: Google Search Console pokazuje "Wykluczone przez tag 'noindex'" dla większości stron.
Skąd się bierze: WordPress na środowisku testowym ma włączoną opcję "Zniechęcaj wyszukiwarki do indeksowania tej witryny" (Ustawienia → Czytanie). Po migracji na produkcję zapomina się ją wyłączyć.
Rozwiązanie: natychmiast po migracji sprawdź Ustawienia → Czytanie → odznacz "Zniechęcaj wyszukiwarki do indeksowania tej witryny". Sprawdź też w Yoast SEO → SEO → Zaawansowane czy włączona jest opcja noindex.
Symptom: kliknięcie w linki wewnętrzne prowadzi na stare URL-e (które może być niedostępne), powodując dodatkowe łańcuchy redirectów.
Rozwiązanie: Better Search Replace — zamień stary URL we wszystkich tabelach. Po migracji wykonaj crawl i sprawdź czy są linki do starych domen.
Symptom: Google nie indeksuje nowych URL-i mimo braku noindex.
Sprawdź: nowa-domena.pl/robots.txt — upewnij się że nie blokuje /wp-content/ ani kluczowych katalogów. Poprawny robots.txt dla WordPress:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://nowa-domena.pl/sitemap_index.xml
| Narzędzie | Typ | Cena | Dla kogo |
|---|---|---|---|
| Screaming Frog SEO Spider | Crawl URL-i | Darmowy (do 500 URL) / £259/rok | Audyt przed i po migracji |
| All-in-One WP Migration | Plugin migracyjny | Darmowy / $69–99/rok (rozszerzenia) | Małe i średnie strony |
| Duplicator Pro | Plugin migracyjny | $49,50/rok | Średnie i duże strony, zaawansowani |
| Migrate Guru | Plugin migracyjny | Darmowy (do 200GB) | Duże strony, migracja serwer-serwer |
| Better Search Replace | Zamiana URL w bazie | Darmowy / $49/rok (Pro) | Zmiana domeny, HTTP→HTTPS |
| Redirection | Plugin do redirectów | Darmowy | Zarządzanie przekierowaniami 301 |
| Google Search Console | Monitoring indeksacji | Darmowy | Weryfikacja po migracji, nowa sitemap |
Odpowiedź zależy od kilku czynników: autorytetu domeny, rozmiaru strony, poprawności implementacji i aktywności Googlebota na Twojej stronie.
Orientacyjne czasy re-indeksacji:
Co przyspiesza re-indeksację:
Co spowalnia re-indeksację:
Zmiana hostingu przy tej samej domenie i tych samych URL-ach ma minimalny wpływ na SEO. Google po prostu zaindeksuje nowy serwer. Główne ryzyko to czas przestoju podczas migracji i zmiana czasu ładowania strony — jeśli nowy serwer jest wolniejszy, może to negatywnie wpłynąć na pozycje. Czas stabilizacji: 1–2 tygodnie.
Po zmianie domeny z poprawnymi przekierowaniami 301 i użyciem funkcji „Zmiana adresu” w Google Search Console czas stabilizacji pozycji wynosi realistycznie 4–16 tygodni. Małe strony mogą odbudować pozycje szybciej, duże serwisy z tysiącami podstron potrzebują czasem 6 miesięcy. Błędy w redirectach mogą wydłużyć ten czas wielokrotnie.
Redirect 301 przenosi większość autorytetu SEO — szacunki mówią o 85–99% PageRank. Google oficjalnie potwierdza że 301 przekazuje „większość” sygnałów rankingowych. W praktyce zawsze jest minimalny chwilowy spadek widoczności po migracji, który zazwyczaj ustępuje po kilku tygodniach gdy Google przetworzy nowe URL-e.
Najszybsza metoda: wpisz stary URL w przeglądarce i sprawdź czy trafia na nowy adres. Dla masowego sprawdzenia użyj Screaming Frog w trybie „List mode” — wklej listę starych URL-i i sprawdź kody odpowiedzi HTTP (powinny być 301, nie 302 ani 404). Możesz też użyć bezpłatnego narzędzia „Redirect Checker” online.
Mixed content (mieszana zawartość) to sytuacja gdy strona działa po HTTPS, ale część zasobów (obrazy, skrypty, pliki CSS) jest ładowana po HTTP. Powoduje ostrzeżenia przeglądarki i może blokować zasoby. Naprawia się to przez zaktualizowanie URL-i w bazie danych WordPress — najłatwiej pluginem Better Search Replace, zamieniając http://twoja-domena.pl na https://twoja-domena.pl we wszystkich tabelach.
Nie jest to obowiązkowe, ale zdecydowanie przyspiesza re-indeksację. Po migracji należy: (1) przesłać nową sitemapę XML w Google Search Console, (2) przy zmianie domeny użyć funkcji „Zmiana adresu” w ustawieniach GSC, (3) użyć narzędzia „Inspekcja URL” i wysłać prośbę o indeksację dla kluczowych podstron. Google i tak znajdzie nowe URL-e przez redirecty, ale może to potrwać kilka miesięcy bez aktywnego powiadomienia.
Przekierowania 301 po zmianie domeny warto utrzymywać minimum 12 miesięcy, a najlepiej bezterminowo jeśli koszt utrzymania starej domeny jest akceptowalny. Redirecty zapewniają że użytkownicy ze starych linków i zakładek trafią na właściwą stronę, a Google ma czas na pełne przetworzenie zmiany. Usunięcie redirectów przed pełną re-indeksacją może spowodować utratę autorytetu linków zewnętrznych.
Zostań w pętli
Nowe artykuły, narzędzia i case study prosto na maila. Bez spamu, bez sprzedaży.