Jak skutecznie oczyścić stronę na WordPressie?

W tym tekście przedstawię szybką, w miarę łatwą, bezpieczną i najskuteczniejszą metodę na oczyszczenie witryny internetowej, opartej na popularnym systemie WordPress. Nasza metoda na… postawieniu strony  i bazy danych od nowa oraz przeniesieniu treści. Metodę można przy okazji połączyć ze zmianą domeny, zmianą hostingu, optymalizacją grafik. Ktoś pomyśli: „Olaboga!”, to miesiąc roboty, nie dam rady!” Nic bardziej mylnego. W przypadku małych i średnich stron cały proces da się wykonać w kilka godzin. W sieci i poradnikach do WordPressa panuje istna „wtyczkoza” i 99% odpowiedzi na każdy wyszukiwany problem brzmi: „zainstaluj wtyczkę xxx” (w tym przypadku jakiś cleaner). Problem w tym, że im mniej wtyczek- tym lepiej. Duża ilość wtyczek to wolniejsze działanie strony, niestabilność (wtyczki często „nie lubią” się między sobą, zwłaszcza gdy jest ich bardzo dużo), konieczność aktualizacji, dodatkowe pliki na serwerze i dodatkowe rekordy w bazie danych, zwiększona podatność na ataki wirusowe oraz wiele innych niedogodności. Ponadto żadna wtyczka typu „cleaner” nie wyczyści nam całego bałaganu. W najlepszym przypadku wyczyści tylko część (na ogół najmniej problematyczną), a reszta bajzlu pozostanie. W najgorszym przypadku cleaner „wyczyści” coś ważnego i zepsuje nam całą stronę, przez co i tak będziemy musieli stawiać ją od nowa, tylko w gorszym nastroju (nie bez powodu przy instalacji dowolnego cleanera wyskakuje ostrzeżenie w czerwonej ramce, żeby przed użyciem koniecznie zrobić backup wszystkiego, co się da i wcześniej się wyspowiadać oraz dać na tacę). Dlatego najlepiej nie bawić się w wtyczki czyszczące, tylko zrobić WordPressowi swego rodzaju „factory reset” (reset do ustawień fabrycznych)- podobnie jest zresztą w przypadku komputerów, telefonów czy tabletów, dla których fabryczny reset zawsze był, jest i będzie najlepszą metodą przywracania pełnej funkcjonalności. „Reset” strony ma co najmniej 3 korzyści. Po pierwsze- strona będzie lepiej i szybciej działać, więc użytkownicy chętniej będą z niej korzystać (rzadziej będą ją zamykać z powodu niecierpliwości). Po drugie- my sami będziemy spokojniejsi i mniej zestresowani faktem, że nie mamy już burdelu w plikach/bazie i nie wyskakują już błędy. Po trzecie- sprawniejsza i szybsza strona lepiej indeksuje i rankuje pod względem SEO, co przekłada się na większą jej popularność i ruch. Hostingodawca też będzie zadowolony, gdy nasz serwer zużywa mniej zasobów dzięki odchudzonej bazie danych.

Kiedy powinniśmy zrobić „reset” strony?

  • Gdy strona jest, lub była w przeszłości zainfekowana wirusami, trojanami i innym malware
  • Gdy strona jest stara (miała więc setki aktualizacji, w wyniku których często na serwerze są „zapomniane” oraz zdublowane pliki o tej samej nazwie, jeden małymi, a drugi dużymi literami)
  • Gdy w przeszłości instalowaliśmy jakieś motywy czy wtyczki, z których potem rezygnowaliśmy (większość z nich po odinstalowaniu pozostawiła po sobie różnorakie śmieci, najgorsze pod tym względem są wtyczki od 'cache’)
  • Gdy strona działa wolniej, niż powinna
  • Gdy WordPress prezentuje nam jakieś błędy (na samej stronie, lub w kokpicie)

W wymienionych przypadkach na serwerze oraz w bazie danych SQL zawsze znajdują się jakieś niepotrzebne (niekiedy nawet szkodliwe) dziwactwa, które spowalniają działanie strony, zwiększają jej rozmiar (zarówno w plikach na serwerze, jak i w bazie danych SQL) i powodują inne niestabilności. Przejdźmy do konkretów.


Etap 1 – Przygotowanie

  1.  Na tym etapie cały czas działa stara strona, więc nie trzeba się stresować i spieszyć. Pierwszą rzeczą jest założenie nowego folderu na naszym serwerze, pobranie świeżej instalacji WordPressa (ze strony wordpress.org), rozpakowanie i wysłanie plików (przy pomocy klienta FTP) do świeżo założonego folderu (na razie jeszcze nic nie instalujemy). Polecam tę metodę „czystej” instalacji, zamiast autoinstalatorów wbudowanych w hosting, bo te chcą być tak bardzo fajne, że wychodzi dokładnie odwrotnie, czyli lubią dodać od siebie coś niekoniecznie nam potrzebnego, np. tłumaczenia na 100 języków albo „niezbędnik webmastera” (czyli 20 motywów i 50 wtyczek, z których połowa jest zapomniana nawet przez ich twórców). Jeżeli już robimy „factory reset” to najlogiczniejsza jest instalacja najczystsza z możliwych. Warto podczas działania na plikach mieć włączony program antywirusowy, analizujący pliki w czasie rzeczywistym, aby przy okazji sprawdzić, czy w wysyłanych plikach nie ma jakichś „gości”.
  2. Następnie do folderu nowej strony (i odpowiednich podfolderów, z zachowaniem ścieżki dostępu) kopiujemy z katalogu starej strony wszystkie pliki, które świadomie wysłaliśmy tam sami (jeżeli ich nigdy nie tworzyliśmy to oczywiście nie kopiujemy)- najlepiej pobrać je najpierw na dysk, a potem z powrotem na serwer, bo wtedy przy okazji skanujemy naszym antywirusem, zresztą spora część hostingów nie umożliwia kopiowania plików bezpośrednio. Najważniejszy jest podpunkt 9 (media, a konkretnie nie kopiowanie ich teraz), bo wszystkie inne pliki możemy skopiować w dowolnym momencie. Pliki/foldery na które należy przenieść to:
    1. plik .htaccess
    2. plik robots.txt
    3. favicony
    4. pliki „uwiarygadniające”, np. z Google Search Console
    5. mapy strony
    6. folder z motywem potomnym (w katalogu themes), oczywiście do tego samego miejsca
    7. statyczne strony w czystym htmlu (poza-wordpressowe)
    8. inne rzeczy, które wrzucaliśmy ręcznie i chcemy je zachować na nowej stronie
    9. NA RAZIE NIE KOPIUJEMY MEDIÓW (zwyczajowo folder wp-content/uploads), tym trzeba się zająć później. Jeżeli zrobimy to teraz, to importer zdubluje pliki (np. z pliku obraz1.jpg zrobi sobie obraz1-1.jpg, pozostawiając też stary plik na serwerze oraz jego kilka miniatur), co zrobi bałagan w plikach i ich URLach. Jedynym przypadkiem, gdy teraz powinniśmy skopiować folder z mediami jest zmiana domeny, natomiast jeżeli 'odświeżamy’ stronę na tej samej domenie to media kopiujemy później. TUTAJ osobny tekst o przenoszeniu mediów.
  3. W kokpicie starej strony wybieramy Narzędzia->Eksport, gdzie mamy możliwość stworzenia pliku xml z danymi naszej strony. Jeżeli strona jest mała/średnia to można zrobić to do jednego pliku (czyli w opcjach wybrać „wszystkie treści”). W przypadku większych stron lepiej stworzyć tych plików więcej.
  4. Zakładamy nową bazę danych SQL w panelu naszego hostingu (bez usuwania starej)
    1. Jeżeli koniecznie musimy usunąć starą bazę (brak „miejsca” na nową w naszym pakiecie usług), to znacznie skomplikuje nam się robota, bo nie będzie możliwe swobodne przełączanie się 'jednym kliknięciem’ między stronami (starą i nową), aczkolwiek na upartego będziemy mogli podmieniać bazy w razie potrzeby. Wówczas należy (na wszelki wypadek) zrobić backup starej bazy oraz porządny spis rzeczy, które później skonfigurujemy (listę niezbędnych wtyczek oraz opcje konfiguracyjne, np. pootwierać w nowych kartach przeglądarki podstrony kokpitu z ustawieniami WordPressa, menu, motywu, wtyczek, widżetów itp, oczywiście nie można odświeżać tych kart później, bo wtedy znikną).


Etap 2 – Import

  1. Proces importu najlepiej przeprowadzić w nocy, żeby użytkownicy niczego nie zauważyli oraz w miarę szybko, aby roboty indeksujące miały stały dostęp do treści. Najpierw instalujemy nowego WordPressa. Pliki mamy już przygotowane, bazę danych też, wystarczy tylko w opcjach hostingu przekierować domenę na folder nowej strony, edytować plik wp-config-sample.php o nazwy i hasło, zmienić nazwę na wp-config.php i wysłać plik na serwer (a wp-config-sample.php usunąć), a potem wejść na stronę główną w celu dokończenia instalacji (jeżeli wyskakuje jakiś błąd lub nie wiemy co wpisać w pozostałe pola to możemy posiłkować się plikiem wp-config.php ze starej strony). Nazwę, hasło i e-mail głównego użytkownika najlepiej  na razie zostawić taką samą, jak na starej stronie (potem ewentualnie można zmienić dla bezpieczeństwa, jak już wszystko inne będzie działać).
  2. Instalujemy i aktywujemy docelowy motyw (resztę usuwamy), usuwamy też niepotrzebne wtyczki typu „Hello Dolly”, usuwamy przykładową stronę, przykładowy wpis i przykładowy komentarz.
  3. Teraz główny punkt programu- importujemy treści ze starej strony. W tym celu wchodzimy w Narzędzia->Import i w wierszu WordPress klikamy w instaluj- potrzebna będzie wtyczka z importerem. Moje zdanie na temat „wtyczkozy” wyraziłem już wcześniej, ale akurat ta jest mało inwazyjna, certyfikowana przez WordPress i bez niej nic nie zrobimy (są też inne wtyczki służące do eksportu/importu, ale praktycznie każda z nich jest płatna, a ich darmowe wersje są bezużyteczne wobec stron większych, niż najprostsze wizytówki z kilkoma podstronami). W opcjach importera wybieramy plik xml, który pobraliśmy (jeżeli plików jest więcej, gdy strona jest duża, to każdy po kolei). Teraz nastąpi najważniejszy proces, czyli importowanie (wpisów, stron, komentarzy, kategorii, tagów i innych rzeczy). O ewentualnych błędach będziemy informowani na bieżąco. Nie powinny nam się importować żadne media (bo ich jeszcze nie ma), więc nie przejmujemy się ewentualnymi komunikatami typu: „failed to import media 'nazwa pliku'”.  Ogólnie, biblioteka mediów w kokpicie po imporcie powinna być pusta, poza plikiem lub plikami eksportu (jeżeli koniecznie chcemy wypełnić bibliotekę mediów – patrz TUTAJ).
  4. Rzucamy okiem, czy zaimportowana ilość stron, wpisów i komentarzy jest taka sama, jak na 'starej’ stronie. Jeżeli tak- przechodzimy do kolejnego punktu. Jeżeli zaimportowały się tylko niektóre (zwłaszcza w przypadku dużych stron)- należy po prostu jeszcze raz wykonać punkt3, bo najwyraźniej nasz hosting dedykuje za mało zasobów, aby całość przeszła za jednym razem. Kilkukrotny „import” treści z tego samego pliku xml jest bezpieczny, system nie zdubluje zasobów, tylko pominie te, które już istnieją (aczkolwiek dubluje on media, dlatego ich jeszcze nie przegraliśmy). Jeżeli importer zupełnie nic nie zrobił (dalej mamy pusty WordPress)- coś poszło nie tak i powodów może być wiele, można ewentualnie opisać sytuację w komentarzu (aczkolwiek potrzebne będą jakieś informacje, kody błędów, w celu ich pozyskania należy tymczasowo aktywować debugowanie w pliku wp-config.php).
  5. Przez klienta FTP ze starej strony na nową kopiujemy media, czyli zwyczajowo folder wp-content/uploads i ewentualnie inne foldery z mediami, jeżeli takowe kiedyś tworzyliśmy.
  6. Sprawdzamy, czy wszystko się poprawnie zaimportowało. Robimy to zarówno od strony kokpitu, jak i od strony niezalogowanego użytkownika (strona w przeglądarce będzie wyglądała surowo, ale na razie patrzymy tylko, czy pod danym adresem widnieją wpisy, strony, obrazy, komentarze, tagi itd), zwłaszcza pod kątem wywalania erroru 404. Sprawdzamy, czy działa favicon, czy działa .htaccess i ewentualne przekierowania (np. z http na https czy z www na 'bez www’

Etap 3- Konfiguracja

  1. Jeżeli wszystko gra, to przechodzimy do konfiguracji nowego WordPressa. Instalujemy wtyczki (najlepiej w miarę możliwości pozbyć się niektórych, jeżeli da się je zastąpić, np. osobna wtyczka od Google Analytics jest kompletnie bez sensu, bo możemy ten kod wbić bezpośrednio w motyw i już mamy jednego pasożyta mniej), a potem przeklikujemy cały kokpit i tam ustawiamy wszystko tak samo, jak było na starej stronie. Konfigurujemy położenia menu, dodajemy użytkowników i robimy inne modyfikacje, które zrobiliśmy na starej stronie. Jeżeli nie pamiętamy wszystkich ustawień, wtyczek czy widżetów, to zawsze możemy przełączać się między stronami w opcjach hostingu (przekierowujemy na chwilę domenę na stary folder) i wtedy starą stronę traktujemy jak „ściągę”.
  2. Na koniec sprawdzamy jeszcze raz, czy wszystko jest OK (na komputerze oraz telefonie pionowo i poziomo). Jeżeli tak- można odinstalować wtyczkę importera.
  3. Koniecznie należy zrobić test na PageSpeed Insight oraz audyt na jakimś narzędziu SEO typu Ahrefs (nawet na darmowej wersji) i zastosować się do wskazówek (zwłaszcza tych na czerwono), aby „dopieścić” naszą „staro-nową” stronę maksymalnie.
  4. Jak to mówią mechanicy samochodowi- jeździć i obserwować. Po kliku dniach sprawdzić w Analytics i Search Console czy ruch i pozycje nie spadły oraz zastosować się do ewentualnych zaleceń.
  5. Po kilkunastu dniach, gdy wszystko działa dobrze- można usunąć z serwera folder i bazę danych od starej strony, aczkolwiek warto zachować sobie backup gdzieś na dysku.

Gdyby ktoś miał jakieś pytania/problemy to proszę napisać w komentarzu, a a miarę możliwości postaram się odpowiedzieć. Do napisania niniejszego tekstu skłoniło mnie to, że jestem świeżo po takim procesie „resetu” (dotyczył innej strony, znacznie bardziej rozbudowanej, niż ta- miała ponad 10 lat i wielokrotnie testowane były tam różne dodatki „na produkcji”, przez co przy każdej okazji lubiły tam wyskakiwać błędy krytyczne). „Reset” zajął mi około 8 godzin (w tym 6 godzin zajęło transferowanie grafik, których było prawie 5.000, do tego około 30.000 miniatur) i wszystko udało się bezproblemowo, strona działa lepiej niż wcześniej, a rozmiar rozmiar bazy danych zmniejszył się o połowę, plików na serwerze też trochę ubyło.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Scroll to Top