Hosting i wtyczki WordPress
Przyspieszanie i zabezpieczanie WordPress: Lista kontrolna wydajności i wtyczek
WordPress jest zawsze tak szybki i bezpieczny, jak to, co na nim działa. Oto praktyczna lista kontrolna, którą stosujemy do każdej hostowanej przez nas witryny WordPress — co buforować, co zabezpieczyć i które wtyczki są warte swojej ceny w porównaniu z tymi, które platforma czyni zbędnymi.
WordPress jest tak dobry, jak to, na czym działa
WordPress napędza sporą część sieci, ponieważ jest elastyczny, ale ta elastyczność sprawia również, że staje się powolny i podatny na zagrożenia: domyślna instalacja odpytuje bazę danych dziesiątki razy na stronę, rozgłasza swoją wersję i stos technologiczny każdemu, kto zajrzy, i zachęca do dokładania wtyczek, aż wydajność i powierzchnia ataku po cichu napęcznieją. Nic z tego nie jest wadą WordPress w takim stopniu, co konsekwencją uruchamiania go na infrastrukturzie, która w tym w żaden sposób nie pomaga.
Dobra wiadomość jest taka, że ta sama garść decyzji naprawia większość z tego i są to decyzje dotyczące stosu technologicznego, a nie samej treści. Agresywnie buforuj na właściwej warstwie, trzymaj bazę danych z dala od głównej ścieżki wykonywania, uruchamiaj tylko te nieliczne wtyczki, które naprawdę na to zasługują, utrzymuj wszystko w stanie zaktualizowanym i izoluj witrynę, aby problem pozostał pod kontrolą. Ten wpis to właśnie ta lista kontrolna w kolejności, w jakiej stosujemy ją do każdej witryny WordPress na naszej platformie.
Pamięć podręczna na serwerze, a nie tylko we wtyczce
Największym czynnikiem wpływającym na szybkość WordPress jest w zasadzie nieuruchamianie WordPress przy większości wizyt. Standardowe żądanie uruchamia WordPress, wykonuje wtyczki i odpytuje bazę danych przed wysłaniem chociażby jednego bajta; pamięć podręczna całej strony serwuje gotową stronę bezpośrednio z serwera WWW przy kolejnym wejściu, pomijając całe to uruchamianie. Miejsce, w którym znajduje się ta pamięć podręczna, ma znaczenie: wtyczka pamięci podręcznej działa wewnątrz PHP, więc PHP nadal musi się uruchomić, zanim pamięć podręczna będzie mogła odpowiedzieć, podczas gdy pamięć podręczna poziomu serwera odpowiada wcześniej w procesie żądania i przechowuje strony w formacie, który serwer może natychmiast przesłać.
Każda hostowana przez nas witryna WordPress działa na serwerze LiteSpeed Enterprise z obsługą LSCache na poziomie serwera, a nasza własna wtyczka pamięci podręcznej od razu poprawnie łączy z nim WordPressa – jest fabrycznie zainstalowana i automatycznie aktualizowana, dzięki czemu masz o jedną rzecz mniej do skonfigurowania lub pilnowania. W przypadku źródła innego niż LiteSpeed ta sama wtyczka po prostu nie generuje nagłówków pełnostronicowych i nie wchodzi w drogę, podczas gdy pamięć podręczna obiektów nadal działa, więc zmigrowana strona nigdy nie pozostaje połowicznie skonfigurowana. Praktyczna zasada do Twojej własnej listy kontrolnej: jedna pamięć podręczna całej strony na poziomie serwera i brak drugiej wtyczki pamięci podręcznej nałożonej na nią – będą się ze sobą gryźć.
Pamięć podręczna obiektów i baza danych
Nie każde żądanie może być statyczną stroną. Zalogowane sesje, panel administracyjny, wyszukiwarka, koszyki i wszelkie spersonalizowane fragmenty muszą uruchamiać PHP – i w ich przypadku celem staje się ominięcie bazy danych zamiast pomijania aplikacji. Pamięć podręczna obiektów dla poszczególnej witryny – w naszym przypadku Redis – przechowuje wyniki powtarzanych odczytów z bazy w pamięci RAM, dzięki czemu te same opcje, transjenty i zapytania nie są odpytywane w bazie danych przy każdym wywołaniu. Efekt pojawia się dokładnie tam, gdzie pamięć podręczna całej strony nie jest w stanie pomóc: szybszy panel administracyjny, szybsze koszyki i znacznie mniejsze obciążenie bazy danych przy dużym ruchu.
Kluczowym pojęciem jest „dla każdej strony”. Wspólna pamięć podręczna obiektów oznacza, że jedna obciążona lub źle napisana witryna może usunąć dane w pamięci podręcznej wszystkich innych i pozbawić bazę danych zasobów sąsiednich stron; dedykowana pamięć podręczna dla każdej strony, połączona z limitami bazy danych dla każdej witryny, utrzymuje ten promień rażenia w ryzach. Na swojej liście kontrolnej traktuj trwałą pamięć podręczną obiektów jako absolutnie niezbędną dla każdej witryny z zalogowanymi użytkownikami lub sklepem i uważaj na hosting, na którym jest ona współdzielona między abonentów.
Warto zainstalować – a te platforma zastępuje
Każda wtyczka, którą dodajesz, to kod wykonywany przy zapytaniach oraz drzwi, przez które ktoś może kiedyś przejść, dlatego szczerym celem jest jak najmniej wtyczek robiących jak najwięcej. Dobry hosting eliminuje potrzebę stosowania całej ich kategorii: dzięki buforowaniu na poziomie serwera, zarządzanej pamięci podręcznej obiektów i kopią zapasowym platformy nie potrzebujesz wtyczki do buforowania, osobnej wtyczki pamięci podręcznej obiektów ani wtyczki do kopii zapasowych – te zadania są wykonywane lepiej poniżej WordPress, a ich uruchamianie na górze dodaje jedynie konfliktów i narzutu.
To, co warto zostawić, to mały zestaw, który wnosi rzeczywiste możliwości: wtyczki, których Twoja witryna naprawdę potrzebuje do działania, oraz — na naszej platformie — dwie wtyczki klasy repozytoryjnej, które budujemy i dostarczamy z każdą witryną. Nasza wtyczka pamięci podręcznej łączy WordPress z pamięcią podręczną serwera i obsługuje inteligentne czyszczenie, dzięki czemu edycja usuwa tylko te strony, które powinny zostać usunięte. Nasza wtyczka footprint usuwa ślady, które emituje domyślna instalacja WordPress — wersję i znacznik generatora, punkty końcowe odkrywania, XML-RPC, pingbacki oraz nagłówek powered-by — przy każdym wdrożeniu, więc aktualizacja wtyczki lub motywu nie może ich potajemnie przywrócić. Obie zostały zbudowane zgodnie ze standardami katalogu wtyczek WordPress.org, są darmowe i aktualizują się same.
Utrzymywanie bezpieczeństwa i aktualności WordPress
Większość włamań do WordPress nie jest sprytna – są one stare. Nieaktualny rdzeń, motyw lub wtyczka ze znaną, opublikowaną luki w zabezpieczeniach to zdecydowanie najczęstszy sposób, w jaki strony padają ofiarą ataku. Sprawia to, że utrzymywanie aktualności jest najważniejszym działaniem z zakresu bezpieczeństwa – i najbardziej nudnym, dlatego bywa pomijane. Hosting zarządzany powinien zdjąć ten ciężar z Twoich barków: łatając stos technologiczny pod WordPress oraz sprawiając, że aktualizacje rdzenia i wtyczek są bezpieczne dzięki udostępnieniu kopii testowej (staging), na której można je przetestować, oraz kopii zapasowej do przywrócenia w razie potrzeby.
Oprócz samej waluty oczekuj, że granice będą egzekurowane w Twoim imieniu: skanowanie złośliwego oprogramowania domyślnie włączone, aby infekcja została wykryta, zanim zauważy ją odwiedzający, izolacja zapobiegająca rozprzestrzenianiu się zagrożeń między stronami, ochrona przed atakami DDoS na brzegu sieci oraz szyfrowanie TLS wszędzie z automatycznie odnawianymi certyfikatami. Nic z tego nie zastępuje podstawowej higieny – silnych poświadczeń, dostępu opartego na zasada minimalnych uprawnień, usuwania nieużywanych wtyczek – ale oznacza to, że infrastruktura nie jest najsłabszym ogniwem. Na Twojej liście kontrolnej pytanie do każdego dostawcy hostingu jest proste: czy bezpieczeństwo jest standardem, czy dodatkowo płatnym pakietem?
WooCommerce i strony, których nigdy nie wolno buforować
Sklep to miejsce, w którym agresywne cachowanie przynosi największe korzyści i wyrządza największe szkody, jeśli jest naiwne. Strony katalogu, produktów i kategorii to Twój ruchliwy i najbardziej podatny na cachowanie zasób, a ich serwowanie z cache'u całej strony to najlepsza rzecz, jaką możesz zrobić dla szybkości sklepu. Jednak strony koszyka, kasy i konta są prywatne i nigdy nie mogą być serwowane ze współdzielonego cache'u — jeśli to zrobisz, kupujący zobaczy cudzy koszyk, co oznacza zarówno niedziałający sklep, jak i naruszenie prywatności.
Sposobem na połączenie obu tych kwestii jest buforowanie strony i pozostawienie dynamicznych fragmentów dla elementów w czasie rzeczywistym. Edge Side Includes renderują fragment koszyka, sumy mini-koszyka oraz stan konta dla każdego żądania, podczas gdy reszta strony jest serwowana z pamięci podręcznej, a koszyk, kasa, moje-konto oraz wszelkie strony z tokenami nonce lub sesjami są domyślnie wykluczone. Świeżość danych jest obsługiwana przez inteligentne automatyczne czyszczenie pamięci podręcznej, które uruchamia się w momencie zmiany produktu, ceny lub zamówienia, dzięki czemu nieaktualna cena nigdy nie pozostaje na stronie. Jeśli korzystasz z WooCommerce, to jest właśnie ta część listy zadań, którą należy wykonać idealnie: szybki sklep z pamięci podręcznej, aktywny koszyk dla każdego użytkownika i brak jakichkolwiek danych osobowych w pamięci podręcznej.
Często zadawane pytania
Czy nadal potrzebuję wtyczki do buforowania, takiej jak WP Rocket?
Nie. Buforowanie całej strony jest obsługiwane na poziomie serwera sieciowego przez LSCache od LiteSpeed, nasza własna wtyczka pamięci podręcznej łączy z nim WordPress i obsługuje inteligentne czyszczenie, a za nim znajduje się pamięć podręczna obiektów Redis dla każdej witryny. Dodanie drugiej wtyczki buforującej całą stronę zwykle konkuruje z pamięcią podręczną na poziomie serwera, zamiast pomagać, więc nie jest ani potrzebne, ani zalecane.
Które wtyczki ta platforma sprawia, że stają się zbędne?
Wtyczki pamięci podręcznej, oddzielne wtyczki do pamięci podręcznej obiektów oraz wtyczki do tworzenia kopii zapasowych są tutaj zbędne, ponieważ zadania te są wykonywane na poziomie poniżej WordPress — poprzez buforowanie na poziomie serwera, zarządzaną pamięć podręczną obiektów dla każdej witryny oraz kopie zapasowe platformy. Ich usunięcie zmniejsza liczbę konfliktów i powierzchnię ataku. To, co warto pozostawić uruchomione, to wtyczki, których Twoja witryna autentycznie potrzebuje do działania, oraz nasze dwie darmowe wtyczki pamięci podręcznej i footprint, które są dostarczane jako preinstalowane.
Czy pamięć podręczna (caching) wpłynie negatywnie na działanie koszyka WooCommerce lub stron dla zalogowanych użytkowników?
Koszyk, kasa, strona mojego konta oraz wszelkie strony z jednorazowymi tokenami (nonce) lub sesjami są domyślnie wykluczone z pamięci podręcznej, a znaczniki Edge Side Includes utrzymują fragment koszyka oraz sumy jako aktualne na stronach obsługiwanych z pamięci podręcznej. Klienci zawsze widzą swój własny koszyk oraz działającą kasę, podczas gdy sklep nadal wczytuje się z pamięci podręcznej, a inteligentne automatyczne czyszczenie usuwa powiązane strony z pamięci, gdy zmienia się produkt, cena lub zamówienie.
Jak dbacie o bezpieczeństwo WordPress bez mojego udziału?
Łatamy stos technologiczny pod WordPress, sprawiamy, że aktualizacje rdzenia i wtyczek są bezpieczne dzięki środowiskom testowym (staging) i przywracaniu jednym kliknięciem, domyślnie uruchamiamy skanowanie złośliwego oprogramowania oraz ochronę DDoS, izolujemy każdą witrynę, aby naruszenie bezpieczeństwa jednej z nich nie mogło się rozprzestrzenić, a także automatycznie wydajemy i odnawiamy certyfikaty TLS. To eliminuje infrastrukturę jako słabe ogniwo; podstawowa higiena, taka jak silne dane uwierzytelniające i usuwanie nieużywanych wtyczek, wciąż należy do Ciebie.
Powiązane
Wypróbuj bezpłatnie przez 14 dni
Uruchom swoje pierwsze strony za darmo na 14 dni – bez karty. Przenosisz istniejącą stronę lub sieć? Pierwszą migrację bierzymy na siebie.
Rozpocznij za darmo