Skip to content

Wszystko o WordPressie, tworzeniu stron — i nie tylko

🔄 Jak bezpiecznie zmienić motyw WordPress

🔄 Jak bezpiecznie zmienić motyw WordPress

З wyglądu, niewinna operacja. Parę kliknięć w panelu administracyjnym i strona zyskuje nowy wygląd. Co może pójść nie tak?

Wiele rzeczy. Strona na WordPressie z czasem obrasta wtyczkami, poprawkami w functions.php, niestandardowymi typami wpisów i ręcznie zbudowaną strukturą widgetów. Wszystko to opiera się na motywie jak wieża z klocków Jenga. Gdy wyciągną Państwo motyw, cała konstrukcja może runąć: strony tracą układ, shortkody przestają działać, ustawienia SEO się zerują, a wideo w widocznym miejscu zamienia się w goły adres URL.

Istnieje jednak sposób na zmianę motywu z zerowym ryzykiem. Bez paniki, bez nocnego przywracania z kopii zapasowej i bez telefonu do programisty. Wymaga dyscypliny, ale jest wykonalny nawet dla nowicjusza w phpMyAdmin. Poniżej pełna sekwencja: od wyboru motywu do aktywacji na działającej stronie.

💡 Szybki przegląd:

  • Proszę wykonać pełną kopię zapasową strony, pliki i bazę danych, przed jakimikolwiek działaniami z motywem
  • Proszę sklonować stronę na środowisku staging lub serwerze lokalnym i testować nowy motyw TAM, a nie na produkcji
  • Po aktywacji proszę sprawdzić wszystko: menu, widgety, niestandardowe typy wpisów, wyróżnione obrazy, konsolę przeglądarki
  • Proszę włączyć tryb WP_DEBUG na czas testowania, ukryte błędy PHP wyjdą od razu
  • Ustawienia SEO motywu nie migrują automatycznie, proszę przenieść je do wtyczki zawczasu

Krok 1. Proszę wybrać nowy motyw WordPress

Pierwsza granica: znaleźć motyw, który nie tylko podoba się wizualnie, ale jest też kompatybilny z Państwa obecnym stosem technologicznym. Jeśli nie są Państwo programistami, proszę nie gonić za „czystym płótnem", tylko wziąć motyw, który od razu po instalacji wygląda blisko pożądanego rezultatu. Mniej dostosowań, mniej szans, by coś zepsuć.

Miejsca do szukania: ThemeForest, największy marketplace motywów premium z filtrowaniem według niszy i oceny; WordPress.org Themes, oficjalne repozytorium darmowych motywów z otwartym kodem źródłowym. W darmowym katalogu jest obecnie ponad 12 tysięcy motywów, wybór jest ogromny, ale proszę sprawdzać datę ostatniej aktualizacji i liczbę aktywnych instalacji.

Wyszukiwanie motywów w repozytorium WordPress.org

Krytyczna lista kontrolna kompatybilności przed wyborem:

  • Czy motyw wspiera Państwa kluczowe wtyczki? Jeśli mają Państwo sklep na WooCommerce, motyw musi mieć wyraźne oznaczenie WooCommerce-ready. Dla kreatorów takich jak Elementor czy Beaver Builder obowiązuje ta sama logika.
  • Czy motyw używa niestandardowych typów wpisów dla portfolio, opinii, sliderów? Przy zmianie motywu bez wsparcia dla tych CPT treść „zniknie" z panelu administracyjnego, pozostanie w bazie, ale przestanie się wyświetlać.
  • Czy motyw ma wbudowane pola SEO? Jeśli Państwo je wypełniali, przy zmianie motywu znikną. Lepiej przenieść dane SEO do wtyczki (Rank Math, Yoast SEO) zawczasu.

Programiście jest łatwiej: nie szuka „idealnego" motywu, tylko bierze minimalny szkielet (GeneratePress, Kadence, Blockstarter) i dopisuje to, co potrzebne. Ale kopia zapasowa i testowanie są obowiązkowe również dla Państwa.

Krok 2. Proszę utworzyć kopię zapasową strony

Kopia zapasowa to nie „zalecenie", a twardy wymóg. Bez niej każda awaria przy zmianie motywu zmienia się z przykrej niedogodności w katastrofę. Dwie niezawodne ścieżki: automatyczna (wtyczka) i ręczna (pliki + baza).

Metoda 1: wtyczka do tworzenia kopii zapasowych

Najbezpieczniejsza droga dla nie-programisty: wtyczka, która automatycznie tworzy kopię w chmurze.

Sztandarowa opcja: Jetpack VaultPress Backup (dawniej VaultPress, obecnie część ekosystemu Jetpack). Działa w czasie rzeczywistym: każda zmiana to nowy snapshot w chmurze Automattic. Przywracanie jednym kliknięciem, 30-dniowe archiwum, 10 GB przestrzeni. Koszt: od 4,95 €/mies. (pierwszy rok, później 8,95 €/mies. przy płatności rocznej). Za tymi liczbami stoi infrastruktura, na której opiera się 32 miliony stron WordPress.com.

Interfejs wtyczki Jetpack VaultPress Backup

Wśród alternatyw z funkcjonalnością premium, WPvivid (szczegółowa analiza w naszym przeglądzie WPvivid). WPvivid potrafi nie tylko tworzyć kopie zapasowe, ale także migrować witrynę między domenami, co jest wygodne podczas przeprowadzki.

Opcja budżetowa, darmowy UpdraftPlus. Przesyła kopie do Google Drive, Dropbox, S3 i kilkunastu innych magazynów w chmurze. Przywracanie jednym kliknięciem. Szczegółowo omawialiśmy to w przeglądzie UpdraftPlus.

Główna zaleta podejścia wtyczkowego: nie muszą Państwo pamiętać o kopii zapasowej. Konfiguruje się raz i zapomina.

Metoda 2: ręczne tworzenie kopii zapasowej

Ręczna kopia zapasowa wygląda straszniej, niż jest w rzeczywistości. W istocie to cztery proste etapy.

1. Proszę zalogować się do panelu sterowania hostingiem. cPanel, Plesk lub panel niestandardowy, każdy dostawca ma swój, ale logika jest taka sama. Wejścia proszę szukać przez stronę dostawcy hostingu.

2. Proszę znaleźć dostęp FTP. W panelu sterowania proszę znaleźć sekcję „Konta FTP" lub „FTP Access". Jeśli nie ma hasła, proszę utworzyć nowego użytkownika i zapisać dane logowania.

Tworzenie konta FTP w panelu sterowania hostingiem

3. Proszę skopiować pliki witryny. Najprostszy sposób, bez klienta FTP. Proszę otworzyć Eksplorator Windows (lub Finder na macOS), wpisać w pasku adresu ftp://вашсайт.com i zalogować się danymi z poprzedniego kroku. Proszę skopiować cały folder witryny na komputer i spakować do ZIP.

Łączenie z FTP przez pasek adresu Eksploratora Windows

Po zalogowaniu zobaczą Państwo strukturę plików swojej witryny, dokładnie taką jak na serwerze. Proszę zaznaczyć wszystko (Ctrl+A) i skopiować do lokalnego folderu na komputerze.

Kopiowanie plików WordPress przez FTP w Eksploratorze

4. Proszę otworzyć phpMyAdmin. W panelu hostingu proszę znaleźć ikonę phpMyAdmin, zazwyczaj znajduje się w sekcji „Bazy danych".

Ikona phpMyAdmin w panelu sterowania hostingiem

5. Proszę wybrać właściwą bazę danych. Jeśli na hostingu jest kilka witryn, baz będzie kilka. Potrzebną można ustalić przez wp-config.php: proszę znaleźć wiersz define('DB_NAME', '...'), wartość w cudzysłowie to nazwa Państwa bazy. Można też otwierać bazy po kolei i znaleźć tę, w której tabela wp_posts zawiera Państwa treści.

Wybór bazy danych WordPress w phpMyAdmin

6. Proszę wyeksportować bazę. Proszę kliknąć „Custom" (lub „Eksport"), wybrać odpowiednią bazę, pozostawić format SQL i kliknąć „Go". Plik zostanie pobrany na komputer. Import działa tak samo, przyda się, jeśli będzie trzeba odtwarzać dane.

Eksport bazy danych WordPress przez phpMyAdmin

To wszystko. Mają Państwo w ręku ZIP z plikami oraz plik SQL bazy danych, pełną kopię zapasową, która nie zależy od żadnej wtyczki.

Krok 3. Proszę sklonować witrynę do testów

Zmieniać motyw od razu na produkcji to jak testować spadochron w powietrzu. Klon jest potrzebny, żeby zobaczyć: czy nie rozjechał się układ, czy nie zniknęły pola niestandardowe, czy nie zepsuł się kreator stron. Dwie opcje klonowania: staging przez dostawcę hostingu oraz serwer lokalny.

Klonowanie na witrynę stagingową

Wiele hostingów WordPress oferuje staging „od ręki": WP Engine, przycisk „Copy site from LIVE to STAGING" w panelu administracyjnym; SiteGround, narzędzie Staging Tool w panelu; Kinsta, Cloudways i inne, analogicznie. Proces trwa od kilku minut do pół godziny w zależności od rozmiaru witryny.

Kopiowanie strony na staging w WP Engine

Klon stagingowy działa online, można wejść z telefonu, sprawdzić układ responsywny, przesłać link koledze. Jedyny minus: dostępny tylko wtedy, gdy hosting ma staging w swoim abonamencie.

Klonowanie na serwer lokalny

Serwer lokalny jest bezpłatny, działa bez internetu i daje pełną kontrolę. Proszę zainstalować XAMPP, MAMP, WAMP lub Local by Flywheel, każda z tych aplikacji uruchamia Apache/MySQL/PHP na Pana/Pani komputerze za pomocą kilku kliknięć.

Metoda 1: wtyczka do migracji

Najprostsza droga: wziąć wtyczkę, która spakuje witrynę do jednego pliku.

Polecamy All-in-One WP Migration, jest bezpłatna, działa „od ręki". Proszę zainstalować ją na źródłowej witrynie, kliknąć „Export" i pobrać otrzymany plik. Alternatywa: Duplicator, również bezpłatny i z aktywną społecznością.

Eksport strony przez wtyczkę All-in-One WP Migration

Następnie na świeżym lokalnym WordPressie proszę zainstalować tę samą wtyczkę i kliknąć „Import". Proszę wskazać pobrany plik, wtyczka wdroży dokładną kopię.

Import strony przez wtyczkę All-in-One WP Migration

Proszę poczekać na zakończenie, na dużych witrynach import może potrwać kilka minut.

Metoda 2: klonowanie ręczne

Jeśli wykonał Pan/Pani ręczną kopię zapasową w Kroku 2, połowa pracy jest już zrobiona.

1. Proszę przygotować serwer. Proszę zainstalować XAMPP/MAMP i lokalnego WordPressa za pomocą standardowego instalatora.

2. Proszę skopiować pliki. Proszę rozpakować ZIP z kopią zapasową do folderu serwera lokalnego: dla XAMPP jest to htdocs/имя_папки/, dla MAMP, htdocs/имя_папки/.

3. Proszę zaimportować bazę przez phpMyAdmin. W lokalnym phpMyAdmin (zazwyczaj localhost/phpmyadmin) proszę kliknąć „Import", wybrać plik SQL z kopii zapasowej i kliknąć „Go".

Import bazy danych WordPress do lokalnego phpMyAdmin

4. Proszę odtworzyć dane dostępowe do bazy danych. Proszę otworzyć plik wp-config.php ze skopiowanych plików, znaleźć DB_USER i DB_PASSWORD. Proszę utworzyć użytkownika o tych samych wartościach w lokalnym phpMyAdmin (zakładka „Privileges" → „Add user").

Dane logowania do bazy danych w pliku wp-config.php

5. Proszę poprawić adres URL. W lokalnej bazie danych proszę otworzyć tabelę wp_options, znaleźć wiersze siteurl i home i zastąpić ich wartości adresem http://localhost/имя_папки. Bez tego witryna będzie próbowała otwierać się pod starą domeną.

Zamiana siteurl i home w tabeli wp_options

Gotowe, dokładny klon Państwa witryny działa lokalnie.

Krok 4. Proszę przetestować nowy motyw na klonie

Teraz proszę zainstalować i aktywować nowy motyw na klonie. Poniżej znajduje się lista kontrolna. Każdy z tych punktów zaoszczędzi Państwu godzin poprawek na produkcji.

Proszę włączyć WP_DEBUG. Proszę otworzyć wp-config.php i ustawić:

1define('WP_DEBUG', true);

Spowoduje to wyświetlenie wszystkich błędów i ostrzeżeń PHP bezpośrednio na ekranie. Nie każdy komunikat jest krytyczny, ale każdy warto poprawić, szczególnie te odnoszące się do funkcji motywu.

Błędy WordPress po włączeniu WP_DEBUG na ekranie strony

Niestandardowe typy wpisów (CPT). Stary motyw mógł rejestrować własne CPT: portfolio, referencje, slidery, zespół. Gdy zmieniają Państwo motyw na taki, który nie obsługuje tych CPT, treść przestaje się wyświetlać, choć z bazy danych nigdzie nie znika. Rozwiązanie: wtyczka Post Types Unlimited, która ponownie zarejestruje CPT w nowym motywie. Jeśli nie pamiętają Państwo dokładnych nazw, proszę znaleźć register_post_type w plikach starego motywu, nazwy CPT są podane w pierwszym argumencie.

Widżety. Proszę obejść wszystkie obszary widżetów: sidebar, stopkę, stronę główną. Proszę upewnić się, że: (a) wszystkie potrzebne widżety są wyświetlane; (b) ich kolejność i układ nie uległy rozjechaniu; (c) nie ma pustych obszarów tam, gdzie wcześniej była treść. Jeśli brakuje funkcjonalności, proszę używać wtyczek, a nie zaszywać jej w motywie.

Menu. Proszę sprawdzić wszystkie zarejestrowane obszary menu w nowym motywie: główne, mobilne, menu w stopce. Może się okazać, że nowy motyw obsługuje tylko jedno menu, a Państwo mają skonfigurowane trzy, to niemiła niespodzianka, którą lepiej wyłapać na klonie.

Formaty wpisów. Jeśli stary motyw używał formatów (video, gallery, audio) i wyświetlał je przez pola niestandardowe, nowy motyw może tego nie zrozumieć. Rozwiązuje się to przez motyw potomny z add_post_meta().

Wtyczki. Proszę przejrzeć krytyczne wtyczki: formularze kontaktowe, cache, SEO, WooCommerce. Proszę sprawdzić, czy każda spełnia swoją funkcję: formularz się wysyła, cache jest czyszczony, meta tagi są wyświetlane.

Konsola przeglądarki. Proszę otworzyć DevTools (F12 → Console) i przejść główne strony. Błędy JavaScript, czerwone linie, to oznaka konfliktu skryptów motywu z wtyczkami. Szczególnie uważnie, jeśli są slidery, wyskakujące okienka, animacje.

Błędy JavaScript w konsoli przeglądarki podczas testowania motywu

Wybrane obrazy. Nowy motyw prawie na pewno używa innych rozmiarów miniaturek. Po aktywacji proszę zainstalować wtyczkę Regenerate Thumbnails i ponownie wygenerować wszystkie obrazy pod nowe rozmiary, w przeciwnym razie na stronach będą widoczne albo rozciągnięte, albo przycięte zdjęcia.

SEO. Jeśli wypełniał Pan wbudowane pola SEO motywu, meta title, description, Open Graph, znikną one przy zmianie motywu. Proszę przenieść je do wtyczki SEO (Rank Math lub Yoast SEO) na działającej stronie przed przełączeniem. I proszę upewnić się, że nowy szablon generuje linki kanoniczne i meta tagi.

Układ mobilny. Na stronie testowej proszę otworzyć strony z telefonu i tabletu. W przypadku serwera lokalnego proszę użyć wbudowanego trybu Device Mode w Chrome DevTools (F12, ikona telefonu/tabletu w lewym górnym rogu). Proszę sprawdzić: stronę główną, jeden wpis, jedną stronę oraz kartę produktu WooCommerce (jeśli dotyczy).

Gdy wszystkie punkty są zaliczone, można przejść do aktywacji na produkcji.

Krok 5. Proszę zainstalować i aktywować motyw na działającej stronie

Finałowy etap. Ale przed aktywacją, jeszcze jeden środek ostrożności.

Proszę zainstalować wtyczkę trybu konserwacji, WP Maintenance Mode lub Coming Soon by SeedProd. Proszę ją aktywować na minutę lub dwie, odwiedzający zobaczą planszę zastępczą zamiast rozsypanego układu, podczas gdy Pan finalnie wszystko sprawdza.

Następnie, „Wygląd" → „Motywy", proszę najechać na nowy motyw i kliknąć „Podgląd na żywo". WordPress pokaże stronę w nowym motywie bez faktycznej aktywacji. Proszę szybko przejść główne strony, jeśli wszystko jest w porządku, proszę kliknąć „Aktywuj".

Podgląd motywu WordPress przed aktywacją

Natychmiast po aktywacji, obchód kontrolny: strona główna, jeden wpis, jedna kategoria, kontakt. Proszę wyłączyć tryb konserwacji. Proszę upewnić się, że strona otwiera się u anonimowego użytkownika (proszę otworzyć w trybie incognito).

Jeśli coś poszło nie tak, proszę nie panikować. Ma Pan pełną kopię zapasową (Krok 2), a przywracanie zajmie dokładnie tyle, ile potrzeba, aby kliknąć „Przywróć" we wtyczce lub zaimportować bazę danych z powrotem. Właśnie dla tego momentu wykonywane były wszystkie poprzednie kroki.


Wizualne podsumowanie procesu znajduje się w tym filmie. Wszystkie kroki są omówione na działającej stronie WordPress, od kopii zapasowej do finalnej aktywacji.

⁉️🤔 Często zadawane pytania

Czy można zmienić motyw całkowicie bez kopii zapasowej?

Formalnie tak, kliknąć „Activate" można i bez backupu. Ale jeśli coś pójdzie nie tak (a bez testowania nie będą Państwo tego wiedzieć), nie będzie do czego wrócić. Dziesięć minut na backup w porównaniu z potencjalnymi godzinami odzyskiwania, wybór jest oczywisty.

Jak zrozumieć, że nowy motyw jest kompatybilny z moimi wtyczkami?

Proszę otworzyć stronę motywu w katalogu lub na marketplace i znaleźć blok „Compatible plugins" albo „Features". Dla sklepu WooCommerce proszę szukać wyraźnego oznaczenia „WooCommerce-ready". W razie wątpliwości proszę zapytać twórcę motywu. A przede wszystkim proszę sprawdzić na klonie: zainstalować motyw i przejść przez wszystkie krytyczne wtyczki. Konflikt skryptów zazwyczaj widać w konsoli przeglądarki od razu.

Co zrobić z treścią, która „zniknęła" po zmianie motywu?

Najprawdopodobniej nie zniknęła, lecz jest powiązana z niestandardowym typem wpisów, który rejestrował stary motyw. Nowy motyw o nim nie wie i go nie wyświetla. Proszę zainstalować wtyczkę Post Types Unlimited, zarejestrować CPT o tej samej nazwie (proszę ją znaleźć w register_post_type() starego motywu), a treść wróci do panelu administracyjnego.

Czy staging jest obowiązkowy, jeśli zmieniam motyw na pustej stronie?

Na pustej stronie, nie. Jeśli nie mają Państwo jeszcze treści, użytkowników i zamówień, proszę zmieniać bezpośrednio przez Live Preview. Ale jeśli na stronie jest choćby 10 wpisów i kilka wtyczek, klon oszczędzi Państwu nerwów. Lepiej poświęcić pół godziny na staging niż godzinę na naprawianie rozjechanego układu na oczach odwiedzających.

Czy trzeba ponownie tworzyć miniatury po zmianie motywu?

Prawie zawsze, tak. Każdy motyw definiuje własne rozmiary dla wyróżnionych obrazów, miniatur bloga i kart produktów. Wtyczka Regenerate Thumbnails robi to automatycznie: uruchamiają Państwo, czekają, gotowe. Bez niej stare obrazy będą albo przycięte niecentralnie, albo rozciągnięte do obcych proporcji.

Co robić po zmianie motywu: krótka podsumowująca lista kontrolna

Aktywowali Państwo nowy motyw. Strona działa. Ale praca nie jest zakończona, oto trzy zadania na najbliższe 24 godziny:

  • Monitorowanie wyszukiwania. Proszę wejść do Google Search Console, sprawdzić, czy nie ma gwałtownego spadku indeksacji. Zmiana struktury HTML czasem dezorientuje wyszukiwarki, proszę upewnić się, że strony nadal są indeksowane.
  • Szybkość ładowania. Nowy motyw, nowy CSS i JS. Proszę przepuścić stronę przez PageSpeed Insights. Jeśli spadek wynosi więcej niż 10 punktów, proszę spojrzeć na rozmiar bundla motywu i liczbę zapytań HTTP.
  • Formularze i transakcje. Proszę wykonać testowe zamówienie (jeśli to sklep) i testowe wysłanie formularza. To dwa miejsca, w których zmiana motywu najczęściej psuje funkcjonalność: opakowania przycisków, hooki AJAX, stylizacja pól.

Proszę nie usuwać kopii zapasowej od razu. Proszę trzymać ją co najmniej tydzień, to Państwa spadochron na wypadek, gdyby problem ujawnił się przy kolejnej aktualizacji wtyczki lub nocnym zadaniu crona. Lepiej usunąć backup po miesiącu z powodu niepotrzebności, niż szukać go dzień po awarii.