Po migracji WordPress strona może działać pod nową domeną, a baza nadal zawierać stare adresy w treściach, ustawieniach lub danych wtyczek. Przed zamianą trzeba ustalić, które rekordy należą do tej witryny i jak odzyskać bazę, jeśli wynik okaże się nieprawidłowy.
Krótka odpowiedź
Better Search Replace uruchomisz w kokpicie WordPress w menu Narzędzia > Better Search Replace. Wpisz dokładny stary i nowy adres, wybierz tabele właściwe dla witryny i uruchom próbę z włączonym Dry Run.
Zapis wykonaj dopiero po sprawdzeniu raportu i utworzeniu kopii bazy, którą można odtworzyć.
Usługi KC Mobile
Potrzebujesz pomocy w tym temacie?
Czytasz poradnik „Better Search Replace w WordPress: jak bezpiecznie zmienić adresy w bazie”. Napisz, co chcesz zrobić i na jakim etapie jesteś. Ustalimy, czy możemy pomóc i jaki zakres prac będzie potrzebny.
Do czego służy Better Search Replace?
Better Search Replace wyszukuje wskazany tekst w wybranych tabelach bazy WordPress i może zastąpić go innym ciągiem. Najczęściej używamy go po zmianie domeny lub ścieżki instalacji, gdy część adresów pozostała w treści wpisów, ustawieniach motywu albo konfiguracji wtyczek. Wtyczka obsługuje serializowane dane, pozwala wskazać tabele i uruchomić próbę bez zapisywania zmian.
Narzędzie modyfikuje bazę, a nie pliki strony ani konfigurację serwera. Nie ustawi więc DNS, certyfikatu HTTPS, przekierowań ani adresów wpisanych na stałe w kodzie motywu. WordPress wymienia Better Search Replace i WP-CLI wśród narzędzi do aktualizacji danych podczas migracji. Jeśli przenosisz całą stronę, zacznij od planu migracji WordPress na nowy hosting, a wyszukiwanie i zamianę potraktuj jako jeden etap.
| Sytuacja | Better Search Replace | WP-CLI | Narzędzie hostingu |
|---|---|---|---|
| Masz dostęp do kokpitu i chcesz sprawdzić trafienia | Wybór tabel i Dry Run są dostępne w panelu | Wymaga terminala i zainstalowanego WP-CLI | Zależy od funkcji konkretnego hostingu |
| Chcesz powtarzać migrację w skrypcie | Można uruchomić ręcznie w panelu | Przydatne w automatyzacji, ma opcję `--dry-run` | Możliwości zależą od dostawcy |
| Dane zawierają serializację PHP | Wtyczka deklaruje obsługę serializowanych danych | Polecenie inteligentnie obsługuje serializację | Sprawdź dokumentację migratora |
| Nie działa kokpit WordPress | Nie uruchomisz jej z panelu | Możliwa praca przez SSH, jeśli WP-CLI jest dostępne | Panel hostingu może udostępniać własny migrator |
Wtyczka jest dostępna w menu Narzędzia po instalacji i aktywacji. Producent opisuje wybór tabel, obsługę serializacji oraz tryb próbny w katalogu Better Search Replace na WordPress.org.
Czytasz poradnik „Better Search Replace w WordPress: jak bezpiecznie zmienić adresy w bazie”. Napisz, co chcesz zrobić i na jakim etapie jesteś. Ustalimy, czy możemy pomóc i jaki zakres prac będzie potrzebny. Omów temat tego poradnika
Co sprawdzić przed zamianą w bazie WordPress?
Przed uruchomieniem przygotuj kopię bazy, środowisko testowe i dokładne wartości źródłową oraz docelową. Kopia powinna pochodzić bezpośrednio sprzed operacji i być możliwa do odtworzenia. Ustal, czy nowy adres zawiera HTTPS, `www` lub podkatalog, na przykład `/wordpress`, ponieważ każdy wariant może występować w bazie osobno.
Zapisz nazwę bazy, prefiks tabel, czas wykonania kopii i bieżące wartości `home` oraz `siteurl`. Te opcje najczęściej znajdują się w tabeli `wp_options`, ale prefiks może być inny. Porównaj listę tabel w Better Search Replace z tabelami tej instalacji i sprawdź, czy nie zaznaczasz tabel innej witryny lub aplikacji.
W multisite rozpoznaj najpierw, czy chcesz zmienić adres jednej witryny podrzędnej, czy całej sieci. Instalacja może zawierać tabele wspólne, takie jak tabele sieci, oraz zestawy tabel witryn z numerowanymi prefiksami, na przykład `wp_2_posts` i `wp_2_options`. Operacja obejmująca zaznaczone tabele może więc dotknąć kilku witryn, jeżeli zaznaczysz ich zestawy. Przed zamianą porównaj prefiksy z listą witryn w panelu sieci, wskaż wszystkie tabele, które rzeczywiście mają ulec zmianie, i sprawdź, czy zmiana domeny dotyczy witryny głównej, podrzędnej czy całej sieci. Przy wątpliwościach wykonaj próbę osobno dla właściwych zestawów tabel.
| Fraza wyszukiwania | Możliwy problem | Co sprawdzić przed zapisem |
|---|---|---|
| `http://stara-domena.pl` | Nie znajdzie wariantu HTTPS | Czy baza zawiera także `https://stara-domena.pl` |
| `stara-domena.pl` | Może trafić na adresy e-mail lub obce domeny z tym fragmentem | Czy wystarczy dokładny URL wraz z protokołem |
| `http` | Zbyt szeroki ciąg może zmienić wiele adresów | Użyj pełnego starego adresu zamiast samego protokołu |
| `www.stara-domena.pl` | Nie obejmie wariantu bez `www` | Czy oba warianty są zapisane w bazie i który jest docelowy |
| Domena w multisite | Zmiana może objąć kilka witryn sieci | Czy zaznaczone tabele odpowiadają wybranej witrynie lub całej sieci |
Perspektywa KC Mobile. W migracji najpierw weryfikujemy frazę i zakres, a dopiero potem wykonujemy zapis. Jeśli próba pokazuje trafienia w nieoczekiwanym zestawie tabel albo liczbę niezgodną z zakładanym zakresem, zatrzymujemy pracę i sprawdzamy rekordy zamiast traktować raport jako automatyczną zgodę na zamianę.
Jak wykonać próbę bez zapisywania zmian?
Dry Run wyszukuje dopasowania i wyświetla raport bez zapisywania zamian w bazie. Po aktywacji wtyczki przejdź do Narzędzia > Better Search Replace, wpisz starą wartość w polu wyszukiwania, a nową w polu zamiany. Zaznacz tabele należące do właściwej instalacji i pozostaw włączoną opcję Run as dry run?. Nazwy pól mogą różnić się zależnie od wersji tłumaczenia.
Odczytaj raport przed uruchomieniem kolejnych działań. Liczba w nim oznacza pola, w których wtyczka znalazła dopasowanie, a nie liczbę adresów URL, podstron czy zamówień. Jeżeli spodziewasz się dopasowań w treściach i ustawieniach, ale raport wskazuje tylko jedną tabelę albo niepowiązane tabele, nie zapisuj zmiany. Zawęź zakres lub doprecyzuj frazę, a następnie powtórz próbę.
Sprawdź osobno warianty adresu, które faktycznie występują, na przykład `http://domena.pl` i `https://domena.pl`. Nie łącz zmiany wariantu z `www` ze zmianą protokołu, jeśli nie wiesz, jak zapisano adresy. Przy pracy przez terminal WP-CLI udostępnia podobny test: `wp search-replace 'stary-adres' 'nowy-adres' --dry-run`. Opis zakresu tabel i opcji znajdziesz w referencji polecenia WP-CLI search-replace.

Jak przeprowadzić właściwą zamianę krok po kroku?
Zapis wykonaj dopiero po sprawdzeniu próby i przygotowaniu kopii bazy. Potwierdź, że panel WordPress łączy się z właściwą bazą oraz że dokładnie te same frazy i tabele były objęte próbą. Przy stronie produkcyjnej zaplanuj czas na kontrolę witryny i ewentualne odtworzenie kopii.
1. Utwórz świeżą kopię bazy i potwierdź, że można ją przywrócić.
2. Otwórz Narzędzia > Better Search Replace i ponownie wpisz zatwierdzone frazy.
3. Wybierz ten sam zestaw tabel co w próbie. W multisite porównaj zaznaczenie z wybranym zakresem sieci lub witryny.
4. Odznacz Run as dry run? i uruchom zamianę.
5. Zapisz frazy, tabele, datę oraz raport, a następnie sprawdź witrynę według listy kontroli.
Nie zmieniaj frazy ani zestawu tabel po próbie bez ponownego uruchomienia Dry Run. Jeśli realizację powierzysz wykonawcy, opieka nad WordPressem może objąć kontrolę witryny po migracji i diagnozę problemów z bazą, adresami lub działaniem strony.
Dlaczego dane serializowane wymagają ostrożności?
Serializacja PHP zapisuje strukturę danych jako tekst, a obok wartości przechowuje informacje o długości ciągów. Adres może znajdować się wewnątrz ustawień widgetu lub motywu. Gdy zmieni się długość adresu, narzędzie musi prawidłowo zaktualizować także długość zapisaną w strukturze, inaczej WordPress może nie odczytać całego ustawienia.
Better Search Replace deklaruje obsługę serializowanych danych, ale nie sprawdza, czy wybrałeś właściwą frazę i tabele. Ręczna zamiana przez SQL, na przykład `UPDATE ... REPLACE()`, może zmienić tekst wewnątrz serializowanych wartości bez poprawienia ich struktury. Unikaj jej, jeśli nie masz pewności, jaki format przechowuje dana kolumna.
| Rodzaj danych | Przykład | Ryzyko przy ręcznej zamianie |
|---|---|---|
| Zwykły tekst | Link w treści wpisu | Zmiana niepowiązanego fragmentu, jeśli fraza jest zbyt krótka |
| Dane serializowane PHP | Widget lub opcje motywu z adresem | Nieaktualna długość ciągu może uniemożliwić odczyt ustawień |
| Dane JSON lub własny format wtyczki | Ustawienia komponentu strony | Nieprawidłowa zmiana może naruszyć strukturę oczekiwaną przez wtyczkę |
| Pole GUID wpisu | Identyfikator rekordu w tabeli wpisów | Zmiana może mieć skutki inne niż aktualizacja linków w treści |
Jeżeli migracja dotyczy zwykłej zmiany domeny, nie zmieniaj pól GUID bez konkretnego powodu. Dokumentacja WordPress ostrzega przed nieprzemyślaną zamianą wszystkich danych i omawia narzędzia, które uwzględniają serializację w instrukcji migracji WordPress.
Jak sprawdzić stronę po zamianie adresów?
Po zamianie sprawdź bazę i działanie funkcji, z których korzystają użytkownicy. Otwórz stronę główną i kilka różnych podstron, sprawdź obrazy, pliki, linki wewnętrzne i logowanie do kokpitu. Kontrola samej strony głównej nie wykryje problemów z formularzem, koszykiem albo podstroną zapisaną w innym zestawie tabel.
Przejdź przez testy w poniższej kolejności:
- Adres i certyfikat: otwórz docelową domenę z HTTPS i sprawdź, czy certyfikat jest ważny. Zweryfikuj przekierowania z HTTP oraz wariantów z `www` i bez `www`.
- Treść i pliki: otwórz kilka wpisów, stronę kontaktu, obrazy oraz pliki do pobrania. Sprawdź, czy odnośniki nie kierują na starą domenę.
- Funkcje: zaloguj się do kokpitu, wyślij testowy formularz, a w sklepie przejdź przez koszyk i test płatności, jeśli środowisko na to pozwala.
- Cache: wyczyść cache wtyczki, serwera i CDN, jeśli z nich korzystasz. Potem ponownie otwórz zasoby w oknie prywatnym.
- Przekierowania: sprawdź starą ścieżkę, adres z ukośnikiem na końcu i bez niego oraz obie wersje domeny.
Uruchom ponownie próbę wyszukania starego adresu po zakończeniu kontroli. Nie każde trafienie oznacza błąd: adres może być celowo zapisany w archiwum lub regule przekierowania. Otwórz rekord i ustal jego funkcję, zanim zdecydujesz o kolejnej zamianie.

Co zrobić, jeśli zamiana zmieniła za dużo albo za mało?
Po nieoczekiwanym raporcie wstrzymaj kolejne zamiany i ustal, czy problem dotyczy bazy, cache czy konfiguracji serwera. Jeżeli operacja uszkodziła ustawienia lub witryna przestała działać, najpewniejszą metodą odzyskania stanu jest przywrócenie kopii sprzed zamiany. Zamiana nowego tekstu na stary nie zawsze odtworzy poprzednie dane, bo operacja mogła objąć rekordy, które wcześniej zawierały oba ciągi.
| Objaw | Możliwa przyczyna | Następny krok |
|---|---|---|
| W linkach nadal występuje stara domena | Pominięta tabela lub inny wariant protokołu | Uruchom próbę dla konkretnego wariantu i sprawdź listę tabel |
| Obrazy nie ładują się na części stron | Została stara ścieżka lub cache pokazuje poprzedni zasób | Sprawdź adres pliku, wyczyść cache i ponów wyszukiwanie w bazie |
| Widget lub kokpit pokazuje błędne ustawienia | Uszkodzona serializacja albo nieprawidłowa fraza | Wstrzymaj edycję i przywróć kopię sprzed operacji |
| Raport obejmuje nieoczekiwane tabele | Zaznaczono szerszy zestaw niż planowany | Nie zapisuj wyniku, ustal prefiksy i uruchom próbę ponownie |
| Domena działa tylko z `www` lub tylko bez niego | Brakuje przekierowania lub ustawienie adresu jest niespójne | Sprawdź `home`, `siteurl`, HTTPS i reguły serwera |
Jeśli nie masz dostępu do kokpitu, dalsza diagnoza może wymagać panelu hostingu lub WP-CLI. Materiał o zarządzaniu WordPressem przez WP-CLI opisuje pracę z terminalem i poleceniem wyszukiwania oraz zamiany.
Kiedy Better Search Replace nie jest najlepszym wyborem?
Wtyczka sprawdza się, gdy masz dostęp do kokpitu, potrafisz wskazać właściwe tabele i możesz skontrolować wynik w trybie próbnym. Przy dużej bazie, pracy automatycznej albo braku dostępu do panelu rozważ WP-CLI lub narzędzie migracyjne hostingu. Przed wyborem sprawdź, czy alternatywa obsługuje serializację i pozwala ograniczyć zakres tabel.
| Warunek | Rozważane rozwiązanie | Co zweryfikować |
|---|---|---|
| Masz SSH i potrzebujesz powtarzalnej procedury | WP-CLI `wp search-replace` | Tabele, `--dry-run` i opcje multisite |
| Panel hostingu obsługuje migrację | Migrator hostingu | Czy aktualizuje bazę, pliki i domenę w wymaganym zakresie |
| Dane zależą od własnego formatu wtyczki | Narzędzie zalecane przez jej dostawcę | Czy zachowuje wymagany format danych |
| Nie masz kopii, którą można odtworzyć | Najpierw przygotuj backup | Czy kopia obejmuje właściwą bazę i da się ją przywrócić |
Better Search Replace nie zastępuje migracji plików, zmiany DNS, konfiguracji HTTPS ani przekierowań. Materiały o wyszukiwarce w WordPress i ochronie danych oraz wtyczkach WordPress znajdziesz wśród powiązanych materiałów, jeśli te zagadnienia są częścią szerszego porządkowania witryny.
Powiązane materiały
Jeśli po migracji konfigurujesz wyszukiwanie produktów, zobacz Ajax Search Lite w WordPress. Plan kontroli zabezpieczeń opisuje bezpieczeństwo strony internetowej.
Więcej poradników w tym temacie
Wspomniane narzędzia
Najczęściej zadawane pytania
Jak używać Better Search Replace w WordPress?
Czy Better Search Replace działa w trybie próbnym?
Czy przed użyciem Better Search Replace trzeba zrobić kopię bazy?
Jak zmienić domenę WordPress po migracji?
Co zrobić, jeśli po zamianie adresów WordPress przestał działać?
Potrzebujesz pomocy w tym temacie?
Czytasz poradnik „Better Search Replace w WordPress: jak bezpiecznie zmienić adresy w bazie”. Napisz, co chcesz zrobić i na jakim etapie jesteś. Ustalimy, czy możemy pomóc i jaki zakres prac będzie potrzebny.
