Optymalizacja stron internetowych: Przyspieszenie WordPressa
Optymalizacja stron internetowych czyli czyścimy i przyspieszamy WordPress’a.
Dziś wejdziemy nieco dalej w zagadnienie optymalizacji naszej strony internetowej (w tym przypadku zbudowanej w oparciu o CMS WordPress). W poprzednim wpisie zahaczyliśmy o optymalizację obrazów umieszczanych na naszej stronie, dziś zajmiemy się sprzątaniem na niej.
O tym, że optymalizować warto każdy aspekt serwisu, dowiesz się wtedy, gdy strona zacznie generować ruch. Wtedy w raportach statystyk będziesz widzieć, że są elementy wymagające poprawy. Zresztą, to czy trzeba optymalizować czy nie rozpoznasz samodzielnie choćby po tym, że strona zacznie nieco przymulać, zupełnie tak, jak nie czyszczony Windows.
Innym aspektem tego zagadnienia jest kwestia przekraczania „parametrów bezpieczeństwa” na serwerze u Twojego hostingodawcy (jeśli korzystasz z hostingu współdzielonego rzecz jasna, bo jeśli masz serwer dedykowany, to ten element nie koniecznie będzie spędzał ci sen z powiek).
Co wchodzi w skład śmieci na stronie, z którymi sobie poradzimy?
- Niepotrzebne wtyczki.
- Pozostałości po starych wtyczkach.
- Wersje wpisów (Revision)
- Usunięte wpisy i zapomniane szkice.
- Śmieciowe komentarze
- Inne śmieci tego i podobnego typu.
Założenia jakie przyświecają takiej optymalizacji strony:
- Przyspieszyć wczytywanie strony internetowej.
- Odciążyć bazę danych strony z niepotrzebnych śmieci, które spowalniają jej ładowanie, a co za tym idzie zamulają stronę.
Jak przyspieszymy stronę?
- Pozbycie się pozostałości po starych wtyczkach, których masz pewnie kilka. Myślę o takich z których kiedyś korzystałeś, a teraz są wyłączone. Wydawać by się mogło, że jeśli jest wtyczka wyłączona, to nie zużywa „zasobów”… Czy aby na pewno? Każda wtyczka zostawia po sobie jakieś ślady zapisane w bazie danych. Jeśli tych wtyczek było sporo, to tych śladów też trochę się uzbiera. Kiedyś „przenosiłem” pewną stronę na inny serwer. Baza danych była jak na moje oko spora (około 90 MB), choć wcale nie powinna być taka. Po przejściu przez procedurę opisaną w tym artykule zjechała objętościowo do około 60 MB czyli dość sporo.
- Usuniemy stare „rewizje” wpisów, ich duplikaty (jeśli są). Pozbędziemy się tych z kosza oraz usuniemy spam z komentarzy wraz z wszelkimi pozostałościami po nich.
- Zoptymalizujemy bazę danych tak, że będzie śmigała jak nowo postawiona… (no może z tą obietnicą nieco przegiąłem ale będziemy do tego dążyć 😉
Procedura czyli czyszczenie strony w 5-ciu krokach:
- Backup bazy danych
- Wyłączenie i usunięcie zbędnych wtyczek.
- Posprzątanie śmieci po wtyczkach.
- Posprzątanie wszystkich pozostałych śmieci.
- Optymalizacja bazy danych
Wykorzystane do tego narzędzia – wtyczki:
- WP-DBManager
- Plugins Garbage Collector
- WP-Sweep
Zaczynamy.
Myślę, że nie będziesz mieć problemu instalacją wskazanych wtyczek. Po ich instalacji i aktywacji odpowiednie zakładki pojawią się w panelu admina jako samodzielne zakładki (Database) lub zakładki w panelu „Narzędzia” .
Kopia zapasowa.
Zanim jednak przejdziesz do dalszych kroków, zrób kopię bazy danych za pomocą wtyczki WP-DBManager. Nalegam… wszak administratorzy stron dzielą się na tych, którzy robią kopie bezpieczeństwa oraz tych, którzy kopie robić będą…
Gdy punkt 1 w postaci zrobionej kopii bezpieczeństwa masz za sobą (pamiętaj, żeby poczekać aż komunikat o poprawności wykonania kopii zostanie wyświetlony), możesz teraz przejść do punktu 2 Procedury czyli wyłączenie i usunięcie zbędnych wtyczek.
Wyłączenie i usunięcie zbędnych wtyczek.
Robisz to wchodząc w zakładkę „wtyczki” i po analizie tego czy możesz się czegoś pozbyć (w przypadku WordPressa często mniej znaczy lepiej), wyłączasz wszystkie te, które są już niepotrzebne. Najbezpieczniej w takiej właśnie kolejności: wyłącz, a potem usuń, żeby nie było potem na mnie, że coś ci się posypało i nie wiesz co z tym fantem zrobić 🙂
Wyłączone?
No to przejdźmy do etapu 3 Procedury czyli sprzątanie śmieci.
Sprzątanie śmieci po wtyczkach.
Do tego potrzebujesz specjalnej miotły. Mam taką jedną na oku i nawet powiem ci jak się nazywa. Jest to Plugins Garbage Collector, który w sposób czytelny pokaże ci co uważa za śmieci i poprosi cię o zgodę na sprzątanie.
Wtyczka Plugins Garbage Collector po instalacji i aktywacji jest dostępna w zakładce narzędzia. Po wejściu w jej zakładkę zobaczysz coś takiego jak na załączonym obrazku. Domyślnie zaznaczone jest „search none-WP tables” i tego akurat raczej nie zmieniaj, chyba, że zależy ci na dreszczyku emocji lub dobrze wiesz co robisz. Żeby nie było na mnie 😉
Klikasz w „scan database” i czekasz obserwując pasek postępu, który ze swej natury „idzie” znacznie szybciej niż inny tego typu, który często oglądasz w Windowsie podczas aktualizacji 🙂
Gdy już ta pasjonująca animacja zawiadomi cię, że przerobiono 100% zadania, Twoim oczom ukaże się, jakże wdzięczny widok wielokolorowych linijek, z których każda po lewej posiada malutkie okienko do „zaptaszkowania”.
Ptaszkować powinieneś tylko to co jest czerwone. Inne kolory zostaw w spokoju, no chyba, że wspomniany wcześniej dreszcz emocji jest uczuciem, bez którego nie wyobrażasz sobie życia.
Twórca wtyczki przewidział pewnie, że ręka, która będzie ptaszkowała te małe kwadraciki będzie bardzo mocno drżała, dlatego wszystko co jest czerwone zostało umieszczone nieco dalej krawędzi. Wielkie dla niego dzięki za to, bo drżąca ręka może niechcący zaznaczyć coś zielonego znajdującego się tuż pod lub nad czerwonym, a wtedy będzie małe kuku 🙂
Trzymajmy się zasady RED is BAD i pozbywajmy się tylko czerwonego 🙂
Gdy upewnisz się, że tylko czerwone zostało skierowane do usunięcia, kliknij (w to co w kółku na screenie), swoją drżącą dłonią (za pośrednictwem myszki, na tablecie nie polecam tego typu zabawy z bazą danych strony, która być może jest Twoim oczkiem w głowie).
Jak Twoje serce?
Ciśnienie skoczyło?
Jeśli wszystko przebiegło pomyślnie, zobaczysz stosowny komunikat… Jeśli nie przebiegło pomyślnie, być może już nic nie zobaczysz 🙂 W tym przypadku jednak nie pękaj. Masz wszak kopię bezpieczeństwa swojej bazy danych, o której to pisałem w pierwszym punkcie Procedury 🙂
Zakładam jednak, że wszystko przebiegło sprawnie i posprzątałeś po wtyczkach. Jeśli tak, czas na kolejny punkt Procedury.
Sprzątanie wszystkich pozostałych śmieci ze strony.
Do tego celu posłuży nam niewielka wtyczka o jakże uroczej nazwie WP-Sweep. Po jej instalacji i aktywacji stosowna zakładka pojawi się w sekcji Narzędzia panelu admina.
Do dzieła więc WordPressowy Wojowniku! Śmiało przejdź do tej zakładki i niech moc będzie z Tobą!
Jak widzisz na screenie poniżej, wtyczka sama wyświetla u góry komunikat dotyczący tego, że jak nie zrobisz backup’u swojej bazy danych, to może dopaść cię ciemna strona mocy i może ci pozamiatać na stronie po swojemu…
Dla świętego spokoju (i czystego sumienia) zrób sobie ponownie kopię bazy wg procedury opisanej w punkcie pierwszym.
Gdy już będziesz mieć zrobiony backup bazy, przejdź do zakładki sweep i tam w kolumnie Action wyszukaj wszystkie przyciski świecące na niebiesko. Możesz przeprowadzić czyszczenie masowo za pomocą jednego kliknięcia (przycisk na dole, pod tabelkami) albo klikać w każdy niebieski oddzielnie.
Rób jak uważasz, ja jednak preferuję metodę małych kroków, czyli klikanie w każdy przycisk oddzielnie. Jakoś nie mam przekonania do masowych działań. Więcej rzeczy może pójść nie tak i nie będziesz wtedy wiedzieć, który element powoduje jakieś komplikacje.
Po wszystkim już powinieneś poczuć różnicę w działaniu strony. Na plus rzecz jasna 🙂
Optymalizacja bazy danych.
Stronę masz już wyczyszczoną. Śmieci usunięte. Przyszedł czas na optymalizację bazy danych. Do tego celu posłuży nam, ta sama wtyczka, która była wykorzystana do tworzenia kopii bezpieczeństwa bazy danych czyli WP-DBManager.
Tym razem jednak szukamy zakładki Optimize DB i tam znajdziemy tabele gotowe do optymalizacji. Oczywiście wcześniej możemy zrobić sobie kolejny backup bazy, tak na wszelki wypadek.
Żeby przeprowadzić optymalizację wystarczy jedynie kliknąć w magiczny przycisk „Optimize” i po sprawie. Baza zoptymalizowana, o czym poinformuje cię stosowny komunikat w kolorze zielonym.
Koniec procedury.
Twoja strona została nieco „zoptymalizowana”. To oczywiście nie wszystkie czynności, które powinniśmy wykonać, żeby strona prezentowała się dobrze w testach wydajności. To jest taka podstawa. Punkt wyjścia dla dalszych procedur, o których jednak raczej innym razem.
Wydaje mi się jednak, że opisane wyżej czyszczenie oraz optymalizacja obrazków (o których to pisałem czas jakiś temu), naprawdę może znacząco wpłynąć na szybkość działania strony opartej o WordPress. Przejście tych dwóch etapów optymalizacji strony odczujesz praktycznie natychmiast. Strona dostanie coś w rodzaju zastrzyku energii.
Co warto jeszcze zrobić.
Jeśli jesteś już w panelu, to proponuję przeprowadzenie jeszcze dwóch zabiegów. Pierwszy bedzie miał wpływ na ewentualne strony 404, które mogą powstać, gdy usuniesz nieaktualne wpisy, a drugi zmniejszy ilość przyszłych śmieci generowanych przez Twoją stronę.
Przekierowanie 301 dla błędu 404
Pierwszy zabieg o którym wspomniałem, to ustawienie przekierowania 301 dla błędu 404.
W skrócie chodzi o to, że jeśli usuwałeś „coś” co było zaindeksowane pod adresem, którego już nie ma (np stary wpis, który usunąłeś), to taki link generuje błąd 404. Niezależnie czy po linku przeszedł bot czy człowiek. Na końcu czeka go plansza z tekstem, że przepraszamy ale nie ma tu tego, czego szukasz.
Jeśli masz spreparowaną odpowiednio stronę z tym błędem, to pół biedy. Gorzej, jeśli odwiedzający faktycznie trafia na error 404 i nic dalej zrobić nie może. Żeby nie tracić tych „odwiedzin” przekierujmy ruch powstały na skutek błędu 404 na specjalnie przygotowaną na taką okazję stronę lub chociaż przekierujmy go na stronę główną naszego serwisu.
Do tego służy właśnie wtyczka „404 to 301”, której obsługa jest skomplikowana mniej więcej tak jak obsługa cepa.
- Ustawiamy „301 Redirect (SEO)”
- Ustawiamy „Custom URL”
- Wpisujemy adres docelowy, na który kierujemy błędy
- Zatwierdzamy „Save All Changes”
404 to 301
Drugi ze wspomnianych wcześniej zabiegów (ten dotyczący zmniejszenia ilości ewentualnych śmieci w przyszłości), polega na zmniejszeniu ilości dostępnych historycznych wersji wpisu.
Revisions Control
Wykorzystałem do ego wtyczkę WP Revisions Control, która po instalacji w zakładce Ustawienia – Pisanie dodaje coś takiego jak na screene poniżej. Ustawiamy ilość wersji archiwalnych naszych wpisów i stron, które mają być przechowywane w bazie danych i klikamy „zapisz zmiany”.
Niby taka drobnostka ale czasem może naprawdę się przydać. Kiedyś przyłapałem się na tym, że miałem 43 wersje danego wpisu… zupełnie bez sensu ale niepotrzebne obciążanie bazy.
To by było tym razem na tyle. Wiem, że to tylko wierzchołek góry lodowej zwanej optymalizacja strony internetowej. Jestem jednak głęboko przekonany o tym, że te „drobne” i mniej drobne aktywności, o których wspomniałem w 1590 słowach, znacząco mogą poprawić komfort korzystania z WordPressa.
Koniec i kropka. Kto nie da łapki w górę, ten…. przeszedł na ciemną stronę mocy…
Do następnego razu 🙂