Migracja strony na WordPress to jeden z najczęstszych projektów, z jakimi zgłaszają się do nas firmy. Powody są różne: legacy PHP bez CMSa, Joomla albo Drupal z 2012 roku, własnoręcznie napisany panel, który „robi swoje, ale nikt już nie wie jak”. Wspólny mianownik: właściciel nie może sam aktualizować treści, a każda zmiana wymaga interwencji technicznej.
Dobra wiadomość: migracja jest wykonalna bez utraty pozycji w Google i bez tygodniowych przestojów. Zła wiadomość: wymaga przygotowania. Oto co powinieneś wiedzieć.
Co realnie tracisz podczas migracji (i jak tego uniknąć)
Największe ryzyko to utrata ruchu organicznego — pozycji w Google, które budowałeś latami. Dzieje się to, gdy zmieniają się URLe bez odpowiednich przekierowań 301. Jeśli strona miała /oferta.html, a po migracji to samo jest pod /oferta/, Google traktuje to jako dwie różne strony. Stara znika, nowa startuje od zera.
Rozwiązanie: przed migracją robimy pełną mapę URLi — skrypt, który przechodzi przez całą starą strukturę i tworzy tabelę: stary URL → nowy URL. Każde odejście od 1:1 to przekierowanie 301 do wdrożenia w WordPress (plugin Rank Math lub .htaccess). Po migracji weryfikujemy przez Google Search Console, czy nie pojawiły się błędy 404.
Etapy projektu migracyjnego
Faza 0: Audyt i backup
Przed dotknięciem czegokolwiek robimy pełny backup starej strony — pliki + baza danych, z datą i godziną. To nie jest opcja, to warunek konieczny. Robimy też zrzut aktualnych pozycji w Google (Rank Math, Ahrefs lub ręcznie przez GSC) — będzie punkt odniesienia po wdrożeniu.
Faza 1: Budowa WordPress off-site
Nowy WordPress budujemy na osobnym subdomenie lub lokalnym środowisku — nigdy na produkcji. Importujemy treści, konfigurujemy motyw, wtyczki, ustawiamy SEO (Rank Math), migrujemy formularze. Na tym etapie stara strona działa bez zmian.
Faza 2: Testy przed przełączeniem
Checklistę przed live sprawdzamy punkt po punkcie: wszystkie podstrony renderują się poprawnie, formularze wysyłają maile, certyfikat SSL gotowy, robots.txt odblokowany (staging często ma `Disallow: /`), sitemap generuje się poprawnie, GA4 i GSC skonfigurowane pod nową domenę.
Faza 3: Przełączenie (atomowy swap)
Preferowana metoda to atomowy swap: zmieniamy tylko wskazanie DNS lub document root serwera. Nowa strona od razu trafia pod docelową domenę. Czas przestoju: od kilku minut do maksymalnie godziny (propagacja DNS). Nie kopiujemy plików przez FTP godzinami na działającej produkcji.
Faza 4: Weryfikacja post-launch
W ciągu pierwszych 24–48 godzin monitorujemy: logi serwera pod kątem 404, GSC pod kątem nowych błędów indeksowania, czas ładowania strony. Po 2 tygodniach porównujemy pozycje z bazowym zrzutem z Fazy 0.
Najczęstsze problemy (i jak ich uniknąć)
Mojibake w meta tagach — stare systemy często mają dane zakodowane w ISO-8859-2 zamiast UTF-8. Polskie znaki zamieniają się w
Permalinki po migracji — WordPress po świeżej instalacji domyślnie używa ?p=123 zamiast przyjaznych URLi. Wymagane: Settings → Permalinks → Post name. Bez tego wszystkie linki są złe.
Elementor zapisuje ścieżki absolutne — jeśli strona była budowana na stagingu pod inną domeną, Elementor przechowuje ją w danych widgetów jako literal string. Wymaga: wyszukania i zamiany w bazie danych (WP-CLI: search-replace).
Sitemap zwraca 301 zamiast XML — częsty błąd, gdy Rank Math ma włączone cache sitemapa z poprzedniej instalacji. Rozwiązanie: skasować fizyczne pliki XML z wp-content/uploads/rank-math/.
Ile trwa dobrze przeprowadzona migracja?
Dla przeciętnej strony firmowej (20–50 podstron, bez e-commerce): 2–4 tygodnie robocze. Dla sklepu WooCommerce z migracją produktów: 4–8 tygodni. Wszystko poniżej tygodnia to albo bardzo mała strona, albo ktoś skraca narożniki.
Jeśli stoisz przed migrację — warto zacząć od bezpłatnej konsultacji. Przejrzymy aktualną strukturę URLi i powiemy, które elementy są krytyczne dla zachowania pozycji SEO.
