W skrócie: żeby zmienić stronę bez spadków w Google, trzeba zachować to, za co Google ją ceni — adresy podstron i treści, które już mają pozycje. Na globalbau.pl przenieśliśmy 110 podstron ze starego WordPressa na szybką stronę statyczną, zostawiając każdy adres 1:1, łącznie z ukośnikiem na końcu. Dzięki temu nie trzeba było ustawiać ani jednego przekierowania na nowe adresy.

Od czego zaczęliśmy

GlobalBAU to firma instalacyjna z Nowego Miasteczka w województwie lubuskim: pompy ciepła, fotowoltaika, rekuperacja, klimatyzacja i instalacje elektryczne. Stara strona działała na WordPressie i miała już dorobek w Google — szczególnie strony lokalne typu „pompy ciepła Żary” czy „klimatyzacja Głogów”.

Właściciel chciał szybszej strony, bez ciągłych aktualizacji wtyczek i bez ryzyka włamań. Warunek był jeden: nie stracić klientów, którzy dziś trafiają z Google.

Przed pierwszą linijką kodu zrobiliśmy inwentarz wszystkich adresów. Wyszło 110 podstron:

Rodzaj stronyLiczba
strony lokalne (miasto × usługa)72
strony usług i serwisu14
wpisy na blogu13
huby usługowe6
strony stałe (kontakt, polityka prywatności itd.)4
strona główna1

Zasada nr 1: adresy się nie zmieniają

Najczęstszy błąd przy zmianie strony to „porządkowanie” adresów przy okazji. Nowa struktura wygląda ładniej, ale każdy zmieniony adres to dla Google nowa strona, która musi od zera zapracować na pozycję. Przekierowanie 301 przenosi większość sygnałów, ale wymaga mapy przekierowań. Każdy pominięty adres kończy się błędem 404.

Dlatego w projekcie globalbau.pl adresy były nienaruszalne. Lista wszystkich 110 adresów trafiła do jednego pliku z danymi, a generator strony buduje podstrony dokładnie pod tymi ścieżkami — razem z ukośnikiem na końcu, bo /pompy-ciepla-zary i /pompy-ciepla-zary/ to dla wyszukiwarki dwa różne adresy. Stare adresy bez ukośnika przekierowuje jedna reguła w .htaccess.

Zasada nr 2: treść, która ma pozycje, zostaje

Wszystkie 105 tekstów ze starej strony przenieśliśmy bez przepisywania. Poprawiliśmy literówki i formatowanie, ale żadnego akapitu nie napisaliśmy od nowa. To te teksty trzymały pozycje w Google. Gdyby zmienić je razem z technologią, nie dałoby się później ustalić, co spowodowało ewentualny spadek.

Zmieniaj jedną rzecz naraz. Najpierw technologia przy tych samych adresach i treściach, a dopiero po kilku tygodniach stabilnego indeksowania nowe treści.

Co zmieniło się technicznie

Zamiast WordPressa z bazą danych, motywem i wtyczkami strona jest teraz zbiorem gotowych plików HTML. Generuje je mały skrypt przy każdej zmianie. Menu i stopka istnieją w jednym miejscu, a skrypt wkleja je do wszystkich 110 podstron.

  • Szybkość: strona główna to 6,8 KB skompresowanego HTML-a, a serwer odpowiada w około 0,2 sekundy. Nie ma zapytań do bazy danych ani ładowania kilkunastu wtyczek.
  • Bezpieczeństwo: nie ma panelu logowania, wtyczek ani bazy, więc typowe drogi ataku na WordPressa po prostu nie istnieją.
  • Formularz kontaktowy: jedyny element po stronie serwera to mały skrypt PHP wysyłający wiadomość przez skrzynkę firmową. Spam odcina ukryte pole dla botów i pułapka czasowa.
  • Google Analytics ładuje się dopiero po zgodzie w banerze cookies, a nie od razu przy wejściu na stronę.
  • Kontrola jakości przed każdym wdrożeniem: automatyczny test sprawdza martwe linki, brakujące obrazki, strony bez nagłówka H1 i powtórzone tytuły. Jeśli coś jest nie tak, wdrożenie się zatrzymuje.

Dzień przeprowadzki

Nowa strona najpierw działała na adresie testowym, gdzie sprawdziliśmy wszystkie podstrony i formularz. Potem, 27 sierpnia 2026 roku:

  1. zrobiliśmy pełną kopię starego WordPressa — plików i bazy danych,
  2. wgraliśmy nową stronę na ten sam serwer,
  3. usunęliśmy stary WordPress (kopia została),
  4. sprawdziliśmy losowe stare adresy i formularz na produkcji,
  5. zgłosiliśmy nową mapę strony w Google Search Console.

Od tamtej pory każda zmiana trafia na serwer automatycznie: po zapisaniu zmian w repozytorium GitHub Actions buduje stronę, uruchamia kontrolę jakości i wysyła pliki przez SFTP.

Co dała nowa architektura

Szybkość i bezpieczeństwo to jedno. Ważniejsze okazało się to, że na takiej podstawie łatwo rozwijać stronę dalej. Dla globalbau.pl przygotowaliśmy kalendarz wpisów na cały rok. Wpisy piszemy z wyprzedzeniem, a każdy publikuje się sam w swoim dniu, bez ręcznego wgrywania. Tak samo dodajemy brakujące strony lokalne w miastach, w których firma już pracuje.

Checklista: migracja strony bez utraty pozycji

  1. Wypisz wszystkie adresy starej strony (mapa strony, Search Console, crawler).
  2. Zdecyduj dla każdego adresu: zostaje 1:1, przekierowanie 301 na odpowiednik albo świadome usunięcie.
  3. Nie przekierowuj wszystkiego na stronę główną — Google traktuje to jak błąd 404.
  4. Przenieś treści bez przepisywania, zmiany treści zrób później.
  5. Zachowaj tytuły i opisy meta stron, które mają ruch.
  6. Testuj na adresie testowym, zrób kopię starej strony przed przełączeniem.
  7. Po starcie zgłoś mapę strony i obserwuj w Search Console raport indeksowania i błędy 404.

Najczęstsze pytania

Czy zmiana WordPressa na stronę statyczną zawsze ma sens?

Nie. Jeśli firma codziennie sama publikuje treści albo prowadzi sklep, WordPress zwykle będzie wygodniejszy. Strona statyczna wygrywa tam, gdzie treści zmieniają się rzadziej, a liczą się szybkość, bezpieczeństwo i niski koszt utrzymania. Więcej o obu wariantach piszemy na stronie Strony WWW.

Ile trwa taka migracja?

Zależy od liczby podstron i stanu treści. Najwięcej czasu zajmuje inwentarz adresów i przeniesienie treści, a nie sam kod.

Co, jeśli nowe adresy muszą być inne?

Wtedy potrzebna jest mapa przekierowań 301 — każdy stary adres na najbliższy tematycznie nowy. Bez łańcuchów przekierowań i bez kierowania wszystkiego na stronę główną.