Przejdź do treści
Podobają Ci się nasze treści?
Sięgnij po unikalną wiedzę prosto od developerów i marketingowców. Zapisz się do newslettera.
CAPTCHA
Dziękujemy za zapisanie się do newslettera!
Aby otrzymywać najświeższe, branżowe informacje, potwierdź subskrypcję w mailu, który od nas dostałeś.
PS. Nawet tak ważne wiadomości lubią czasem pomylić folder, dlatego upewnij się, że mail nie trafił do SPAMU
Otwórz swoją skrzynkę e-mail

Jak bezpiecznie aktualizować WordPressa? Poradnik

Kategoria: 
Opublikowane: 
Czas czytania
: 12 min

Według danych udostępnianych przez WordPress.org, w każdej chwili ok. 40% witryn postawionych na tym CMS-ie korzysta z jego przestarzałej wersji. Dlaczego? Powodem często jest fakt, że właściciele stron obawiają się np. problemów z kompatybilnością wdrożonych już wtyczek. Tyle że to właśnie brak aktualizacji WordPressa powinien być głównym powodem do obaw, ponieważ przestarzałe wersje pluginów, motywów i samego systemu są pierwszym celem hakerów. Dlatego przygotowaliśmy poradnik, jak bezpiecznie zaktualizować WordPressa bez utraty stabilności strony.

Jak bezpiecznie zaktualizować CMS WordPress?

Obojętnie na jakiej platformie stoi witryna, bezpieczna aktualizacja CMS-a zawsze powinna przebiegać podobnie. Po pierwsze, wszystkie zmiany wprowadzaj i testuj w środowisku stagingowym, czyli na kopii strony, niedostępnej dla użytkowników. Po drugie – przed aktualizacją obowiązkowo przygotuj kopię zapasową. I po trzecie, weryfikuj integralność plików strony przed i po wdrożeniu aktualizacji, aby jak najszybciej wykryć ewentualne błędy.

Dlaczego aktualizacja WordPressa jest krytyczna dla bezpieczeństwa?

Autorzy raportu State of WordPress Security opublikowanego przez PatchStack policzyli, że tylko w 2024 r. w środowisku WordPressa pojawiło się 7966 zupełnie nowych luk bezpieczeństwa. Można powiedzieć, że każdego dnia szeroko otwierało się ponad dwadzieścia drzwi dla hakerów. Jeśli nie aktualizujesz core WordPressa, motywów i zainstalowanych na swojej stronie wtyczek, również zostawiasz przestępcom otwarte drzwi. Zresztą, specjaliści z Sucuri w analizie Hacked Website and Malware Threat Report z 2023 r. szacowali, że nawet połowę stron atakowanych przez hakerów łączy… przestarzały kod.

Nawet gdy prowadzisz mały sklep na WooCommerce i myślisz, że na pewno nikt go nie zaatakuje, to błąd – ponieważ hakerzy nie biorą na cel jedynie największych firm. Obecnie w przeważającej większości korzystają z botów, które automatycznie skanują witryny pod kątem publicznie znanych, skatalogowanych np. w CVE podatności.

Według raportu PatchStack, aż 48% z nich stanowiły podatności na ataki XSS, które – w skrócie – pozwalają hakerom wstrzyknąć złośliwy kod JavaScript na Twoją stronę i w ten sposób np. wykraść dane odwiedzających ją użytkowników. Na kolejnych miejscach znalazły się błędy w kontroli dostępu oraz podatności na ataki typu SQL injection, pozwalające hakerom manipulować bazą danych strony.

Publikowane przez twórców WordPressa i jego pluginów aktualizacje regularnie łatają te luki – więc im szybciej zainstalujesz update’y, tym mniejsze ryzyko, że ktoś zdąży je wykorzystać.

Jakie elementy WordPressa wymagają aktualizacji?

Core

Obejmuje podstawowe pliki PHP, które odpowiadają za działanie CMS-a i zawierają wbudowane, najważniejsze funkcje strony. Każda większa aktualizacja core’u nie tylko łata luki w zabezpieczeniach, ale też poprawia wydajność całego systemu, często dokładając nowe funkcje.

WordPress stosuje bardzo przejrzystą numerację – mamy duże aktualizacje (np. z 6.4 do 6.5), które wprowadzają zmiany w działaniu całego systemu i mniejsze (np. z 6.4.1 do 6.4.2), które skupiają się na znalezionych przez społeczność błędach. Od wersji 3.7 WordPress automatycznie instaluje pomniejsze aktualizacje – natomiast te główne trzeba wdrożyć samodzielnie.

Wtyczki i motywy

Największa siła WordPressa, dzięki której możesz rozwijać swoją stronę praktycznie w dowolnym kierunku. Problem w tym, że ich kod jest, siłą rzeczy, różnej jakości – 96% luk bezpieczeństwa w środowisku WP znajduje się właśnie w pluginach. Dlatego – po pierwsze – radzimy korzystać z wtyczek, które otrzymują regularne update’y od swoich twórców; stale rozwijanych pluginów w bibliotece WordPressa są na szczęście tysiące. I po drugie, aktualizuj je jak najszybciej po wydaniu update’u. Chodzi nie tylko o bezpieczeństwo – przestarzałe wtyczki często przestają działać po aktualizacjach core’u CMS-a albo… przestają być kompatybilne z innymi pluginami. Tak samo jest z motywami; choć odpowiadają „tylko” za wygląd witryny, nieaktualizowane mogą mieć problemy z kompatybilnością.

Baza danych

O tym łatwo zapomnieć, ale baza danych strony też wymaga aktualizacji po każdej większej zmianie wersji WordPressa. Przy aktualizacji core’owych plików CMS-a system niemal zawsze wprowadza zmiany w strukturze tabel bazy danych, aby ta mogła obsłużyć nowe funkcje. Jeśli jej nie zaktualizujesz, możesz w najgorszym wypadku nawet utracić dostęp do panelu administracyjnego, więc trzeba o to zadbać.

Jak się przygotować do aktualizacji?

Przejdźmy teraz przez aktualizację WordPressa krok po kroku. Zacznijmy od przygotowań – czyli trzech zasad, o których powiedzieliśmy już na wstępie.

Kopia zapasowa

Pełna kopia zapasowa powinna obejmować pliki strony oraz zrzut bazy danych SQL. Przygotowanie takiego backupu jest jednak bardzo łatwe, wystarczy Ci wtyczka. Najpopularniejszymi są UpdraftPlus, Duplicator i BackWPup; każda przygotuje kompletną kopię w kilka kliknięć, można je również ustawić tak, aby wykonywały backupy co kilka dni (lub godzin).

Dobrze, aby zgodnie z zasadą 3-2-1, przynajmniej jedna wersja backupu znajdowała się zupełnie poza serwerem strony, na przykład w chmurze (może to być Dropbox albo Google Drive) lub na dysku lokalnym.

Środowisko testowe (staging)

Staging to izolowana kopia Twojej strony, na której możesz swobodnie testować nowe funkcje, zmiany i – właśnie – aktualizacje, zanim zostaną wdrożone na środowisku produkcyjnym (dostępnym dla użytkowników).

Każdy update WordPressa warto najpierw przetestować – to pokaże, czy aktualizacja nie spowoduje konfliktów między wtyczkami, czy motyw strony będzie poprawnie wyświetlał elementy dodane w nowej wersji systemu lub nie wyskoczą błędy PHP. Staging również można łatwo przygotować – w bibliotece WordPressa czeka kilka wtyczek, które stworzą kopię strony na tym samym serwerze, ale w osobnym katalogu – polecamy WP Staging lub wspomnianego już Duplicatora.

Weryfikacja integralności plików (checksums)

Ten krok część osób – zwłaszcza jeśli prowadzą stronę na własną rękę, a sami nie są deweloperami – niestety pomija.

Checksums to matematyczne „odciski palców” plików; unikalne ciągi znaków generowane na podstawie zawartości każdego pliku. WordPress.org publikuje sumy kontrolne dla każdej wersji systemu i większości wtyczek z oficjalnej biblioteki, dzięki czemu można sprawdzić, czy pliki na serwerze nie zostały np. wcześniej zmodyfikowane przez hakerów albo uszkodzone podczas migracji.

Najszybszym sposobem byłoby skorzystać z WP-CLI, czyli interfejsu wiersza poleceń dla WordPressa (więcej o nim za moment). Komenda wp core verify-checksums pobiera oficjalne sumy kontrolne dla core’owych plików CMS-a z WordPress.org i porównuje je z plikami na serwerze; komenda wp plugin verify-checksums --all robi to samo, tyle że dla wszystkich zainstalowanych pluginów. Jeśli checksums któregoś z plików się nie zgadzają, WP-CLI wyświetli ostrzeżenie z nazwą tego pliku – wtedy musisz sprawdzić, co konkretnie się zmieniło i czy zmiana była zamierzona, czy nie.

Jeśli nie chcesz jeszcze zagłębiać się w WP-CLI, niektóre wtyczki bezpieczeństwa – na przykład Wordfence albo Sucuri – mają funkcję weryfikacji integralności plików bezpośrednio z poziomu panelu administracyjnego WordPressa.

Jak dobrze przygotować się do aktualizacji WordPressa?

Metody aktualizacji WordPressa – którą wybrać?

Aktualizację WordPressa można przeprowadzić na trzy sposoby.

  1. Aktualizacja automatyczna (kokpit)

    Najprościej zrobić to jednym kliknięciem w kokpicie, w zakładce Aktualizacje. Co się wtedy stanie?

    WordPress utworzy na serwerze tymczasowy plik .maintenance, który wyświetli wszystkim odwiedzającym stronę komunikat Briefly unavailable for scheduled maintenance. Następnie system pobierze paczkę z najnowszą wersją WordPressa, rozpakuje ją i zacznie nadpisywać stare pliki nowymi – głównie w katalogach wp-admin i wp-includes. Strona pozostanie w trybie konserwacji aż do momentu, gdy system zastąpi pliki ich nowymi wersjami i zaktualizuje bazę danych. Potem powinna od razu wrócić do działania; przy mniejszych aktualizacjach cały proces może zająć raptem kilka-kilkanaście sekund. Dokładnie tak samo, też w panelu Aktualizacje, możesz pobierać update’y wtyczek i motywów. A da się to zrobić jeszcze łatwiej, bo tak jak już wspomnieliśmy, od wersji 3.7 WodPress może automatycznie instalować mniejsze aktualizacje systemu, a od wersji 5.5 – aktualizować pluginy.

    Większość administratorów raczej jednak z tej opcji… nie skorzysta. Dlaczego? Powody są dwa:

    • w ten sposób nie przeprowadzisz testów na stagingu – a w przypadku stron, które mają na zapleczu kilkadziesiąt współzależnych od siebie wtyczek albo korzystają z customowych rozwiązań, nie można ryzykować;
    • każdy hosting ma swój limit czasu wykonywania skryptów na serwerze oraz ograniczoną pamięć PHP – jeśli limity są za niskie, a aktualizacja wymaga więcej czasu niż kilka minut, serwer nie będzie w stanie ukończyć instalacji i strona utknie w trybie konserwacji.

    Dlatego dobrze też znać inne metody.

  2. Aktualizacja ręczna przez FTP/SFTP

    Pierwsza jest bardziej „chirurgiczna” i polega na tym, aby ręcznie wgrać pliki na serwer przez FTP. Nie jest to trudne, wystarczy umieć poruszać się po serwerze własnej strony:

    • pobierz aktualną wersję WordPressa i rozpakuj paczkę ZIP na dysku;
    • połącz się z serwerem przez klienta FTP, na przykład FileZillę – a jeszcze lepiej, przez SFTP, to bezpieczeniejsza wersja protokołu;
    • przejdź do katalogu głównego WordPressa i usuń katalogi wp-admin i wp-includes - nie nadpisuj ich! Niektóre pliki mogły zostać wycofane wraz z update’em, więc jeśli nadpiszesz te foldery, stare pliki zostaną na serwerze i mogą powodować błędy po aktualizacji;
    • wgraj nowe katalogi wp-admin i wp-includes oraz pozostałe pliki z katalogu głównego; mogą to być m.in. wp-login.php, index.php czy xmlrpc.php.

    Po wszystkim trzeba jeszcze zalogować się do kokpitu i sprawdzić, czy system nie poprosi o aktualizację bazy danych WP.

    Metoda pozwala przejść przez całą aktualizację, nawet jeśli z jakiegoś powodu nie masz dostępu do panelu administracyjnego WP albo jeżeli hosting ma bardzo niski limit pamięci PHP i czasu wykonywania skryptów.

  3. WP-CLI – standard dla profesjonalistów

    Dla doświadczonego administratora nie ma szybszej i pewniejszej metody niż skorzystanie z WP-CLI, czyli interfejsu wiersza poleceń dla WordPressa. Narzędzie pozwala zarządzać całą stroną bez dotykania kokpitu ani plików serwera. Jedyny warunek: hosting musi zapewniać dostęp SSH do serwera, ale w przypadku hostingów pod WordPressa to standard.

    Z poziomu WP-CLI aktualizacje przeprowadza się już kilkoma prostymi komendami. Najpierw trzeba przejść do katalogu public_html, który zawiera pliki witryny WordPress – do tego służy polecenie cd public_html - a następnie skorzystać z komend:

    • wp core update – pobiera najnowszą wersję CMSa i ją instaluje;
    • wp plugin update --all – aktualizuje wszystkie zainstalowane wtyczki;
    • wp plugin update nazwa-wtyczki – aktualizuje wybraną wtyczkę;
    • wp theme update --all – pobiera i instaluje aktualizacje motywów;
    • wp core update-db – aktualizuje strukturę bazy danych.

    Komuś, kto wie, jak korzystać z terminala, wszystko zajmie sekundy – i to nawet jeśli zarządza jednocześnie nie jedną, tylko kilkunastoma witrynami.

 

Podsumujmy jeszcze wszystkie trzy metody aktualizacji WP i co warto o nich wiedzieć:

 

Automatyczna aktualizacja przez kokpit

FTP/SFTP

WP-CLI

Poziom trudności

Bardzo łatwy

Średni – wymaga przynajmniej podstawowej znajomości FTP i struktury plików WordPressa

Wysoki – wymaga znajomości interfejsu wiersza poleceń

Szybkość

Od pół minuty do kilku minut – zależy od serwera

Kilkanaście minut – trzeba ręcznie pobrać i przesłać pliki

Kilkanaście sekund

Bezpieczeństwo

Średnie – nie masz kontroli nad całym procesem i ryzykujesz tzw. timeoutem PHP

Wysokie – masz pełną kontrolę, możesz wszystko zweryfikować przed nadpisaniem plików

Wysokie – kontrolujesz wszystko, co dzieje się w plikach WP

Dla kogo?

Dla osób, które prowadzą stronę samodzielnie, a nie znają się na „technikaliach”

Dla administratorów z dostępem FTP, gdy kokpit WP nie działa lub w sytuacjach awaryjnych

Dla administratorów i deweloperów, zwłaszcza pracujących przy dużych projektach 

Najczęstsze problemy po aktualizacji WordPressa i jak je naprawić

Błędy po aktualizacji wtyczek lub samego core’u niestety zdarzają się często – stoją za nimi głównie pluginy, choć nie zawsze. Mogą się pojawić, nawet jeśli zaktualizujesz WordPressa właściwie.

1. Co zrobić, gdy strona utknęła w trybie konserwacji?

Komunikat Briefly unavailable for scheduled maintenance czasem utrzymuje się na stronie przez długie godziny, a nie minuty, jak to powinno wyglądać. Problem wynika z tego, że WordPress – z różnych powodów – nie usunął pliku .maintenance po zakończeniu automatycznej aktualizacji z poziomu.

Na szczęście można to bardzo łatwo naprawić. Połącz się z serwerem przez FTP, przejdź do głównego katalogu WordPressa (tam, gdzie znajduje się wp-config.php) i po prostu usuń plik. Jeśli aktualizacja dobiegła końca, strona znów zacznie działać. Jeżeli się nie zakończyła – radzimy przeprowadzić ją jeszcze raz, ale ręcznie, przez FTP.

2. Jak naprawić WSOD, czyli White Screen of Death?

Biały ekran zamiast strony, na dodatek bez żadnego komunikatu o błędzie – tak wygląda WSOD, czyli jeden z najstraszniejszych błędów WordPressa.

Na początek sprawdź, czy masz w ogóle dostęp do kokpitu. Wpisz w przeglądarce [nazwa Twojej domeny].com/wp-admin – jeśli panel administracyjny działa, oznacza to, że problem leży prawdopodobnie w którejś wtyczce.

Spróbuj wtedy połączyć się z serwerem przez FTP, przejść do folderu wp-content i zmienić nazwę katalogu plugins na plugins.renamed w ten prosty sposób zdezaktywujesz wszystkie wtyczki jednocześnie. Sprawdź, czy teraz strona działa. Jeżeli tak, możesz przywrócić oryginalną nazwę katalogu plugins i po kolei zmieniać nazwy pojedynczych folderów z wtyczkami, sprawdzając stronę po każdej zmianie. Gdy znajdziesz „winowajcę”, możesz go usunąć albo zaktualizować, jeśli dostępny jest update tej wtyczki.

Jeżeli kokpit nie działa, a eksperyment z wtyczkami nie pomógł – w pliku wp-config.php znajdź linię define('WP_DEBUG', false) i zmień false na true. Po odświeżeniu strony zamiast białego ekranu zobaczysz szczegółowy komunikat o błędach, który może wskazać plik stanowiący źródło problemu.

3. Jak bezpiecznie cofnąć aktualizację?

Jeśli problemy pojawiły się dopiero po zainstalowaniu aktualizacji, jedynym wyjściem może okazać się „rollback” do poprzedniej wersji, przynajmniej tymczasowo.

Opcje są dwie. Pierwsza – po prostu przywróć kopię zapasową całej strony sprzed feralnego update’u. Druga – możesz posłużyć się wtyczką WP Rollback. To świetne narzędzie, które pozwala jednym kliknięciem cofnąć dowolny plugin lub motyw z oficjalnej biblioteki WordPressa do starszej wersji.

Kiedy warto oddać aktualizacje WordPressa specjalistom?

Nie musisz zajmować się aktualizacjami WordPressa samemu. Jeśli prowadzisz większą stronę: na przykład e-sklep, serwis korporacyjny albo witrynę z bardzo rozbudowanym zapleczem wtyczek i customowym kodem, zdecydowanie warto powierzyć to profesjonalistom.

Dlaczego? Ponieważ o ile pobranie update’ów WordPressa i ich instalacja to kwestia minut, wokół tego trzeba wykonać dużo pracy. Trzeba sprawdzić zgodność aktualizacji z całym środowiskiem strony (na przykład innymi pluginami), przeprowadzić testy przed wdrożeniem każdej poprawki, monitorować, czy witryna naprawdę działa lepiej po update’cie niż przed – i wiele więcej. W Smartbees zaopiekujemy się Twoją stroną na każdym z tych etapów.

Ile trwa aktualizacja WordPress?

Pobranie nowych plików przez kokpit albo WP-CLI zajmie nie więcej niż 5-10 minut. Natomiast jeśli doliczymy do tego testy na stagingu i weryfikację plików, całość może zająć nawet kilka godzin pracy.

Czy muszę aktualizować swoją witrynę WordPress?

Tak i to regularnie. Każda większa aktualizacja CMS WordPress nie dość, że przynosi nowe funkcje i poprawia wydajność całego systemu, to łata luki bezpieczeństwa odkryte od czasu poprzedniego update’u.

Jak często powinienem aktualizować WordPressa?

Aktualizacje core CMS-a radzimy wdrażać jak najszybciej. Mniejsze update’y można zainstalować od razu, większe (np. z wersji 6.8 na 6.9) – po przetestowaniu na stagingu.

Jeśli chodzi o wtyczki i motywy – warto przynajmniej raz w tygodniu sprawdzić, czy są dostępne nowe aktualizacje i pobierać je na bieżąco, zanim zgromadzi się ich zbyt wiele naraz.

Czy aktualizacja WordPressa usunie moje wpisy?

Nie, aktualizacja WordPressa nie powinna usunąć żadnych treści na stronie. Update’y nadpisują tylko pliki w katalogach wp-admin i wp-includes, ale nie zmieniają zawartości wp-content.

Oceń wpis
0

Dziękujemy za ocenę postu!

Mamy więcej darmowych treści. Nie rezygnuj z nich!
Technologie, SEO, marketing - newsletter z poradami, które od razu możesz wdrożyć! Prosto na Twoją skrzynkę. Za darmo i bez spam
CAPTCHA