Zaufane samouczki WordPress, kiedy ich najbardziej potrzebujesz.
Przewodnik dla początkujących po WordPressie
Puchar WPB
25 milionów+
Witryny korzystające z naszych wtyczek
16+
Lata doświadczenia z WordPressem
3000+
Samouczki WordPress od ekspertów

Jak sprawiliśmy, że WordPress działa szybciej niż generatory stron statycznych (Studium przypadku – przyspieszanie WPBeginner)

Kiedy świętowaliśmy naszą dziesiątą rocznicę, podzieliłem się informacją, że nasza infrastruktura hostingowa przeszła ogromną modernizację. Od tego czasu wielu czytelników napisało do mnie z pytaniem, jak dokładnie sprawiliśmy, że nasza strona ładuje się tak szybko.

To prawda, że nasza strona ładuje się szybciej niż większość generatorów stron statycznych. W niektórych przypadkach wyprzedza nawet strony Google AMP.

Nie chodzi tylko o przechwałki. Chcę podzielić się dokładnymi technikami, których używa nasz zespół, aby WordPress działał z absolutnie najwyższą wydajnością.

W tym przewodniku zapewnię ekskluzywny wgląd za kulisy naszej konfiguracji. Dowiesz się, jak zoptymalizowaliśmy WordPress, aby pokonać platformy headless.

Jak sprawiliśmy, że WordPress działa szybciej niż generatory stron statycznych (Studium przypadku – przyspieszanie WPBeginner)

Uwaga: Ten artykuł jest bardziej techniczny niż nasze zwykłe treści. Jeśli nie jesteś biegły w technologii, polecam przeczytać nasz ostateczny przewodnik, jak przyspieszyć WordPress.

Aktualizacja: Nie używamy już konfiguracji opisanej poniżej. Zamiast tego całkowicie przeszliśmy na platformę Google Cloud zarządzaną przez SiteGround. Zachowaliśmy te same wyniki prędkości i odblokowaliśmy szybszą wydajność zaplecza. Przeczytaj dlaczego przeszliśmy na SiteGround.

Chociaż obecnie korzystamy z SiteGround, niestandardowa infrastruktura, którą zbudowaliśmy poniżej, była w tamtym czasie ogromnym kamieniem milowym inżynieryjnym.

Zachowujemy ten studium przypadku opublikowane, ponieważ podstawowe koncepcje — buforowanie na poziomie serwera, równoważenie obciążenia i optymalizacja na poziomie sieci — są dokładnie tymi samymi zasadami, które sprawiają, że nowoczesny WordPress jest dziś szybszy niż statyczne generatory stron.

Tło

Ostatnio WordPress zyskuje złą reputację wśród „nowoczesnych” programistów, którzy twierdzą, że WordPress jest wolny.

Stwierdzenie to jest zazwyczaj uzupełniane sugestią, że powinieneś przejść na generator statycznych stron JAMstack, taki jak GatsbyJS. Inni w świecie korporacyjnym powiedzą, że powinieneś przejść na headless CMS, taki jak Contentful.

Kilku moich bardzo odnoszących sukcesy przyjaciół przedsiębiorców zaczęło pytać mnie, czy to prawda.

Niektórzy nawet rozpoczęli proces migracji do headless CMS, ponieważ czytali studia przypadków o tym, jak inni osiągnęli ogromną poprawę prędkości, przechodząc z WordPressa na generatory stron statycznych.

Było to dla mnie bardzo frustrujące, ponieważ wiedziałem, że marnują dziesiątki tysięcy dolarów na koszty migracji. Nie wspominając o niekończących się kosztach dostosowywania, które pojawią się w przyszłości.

Postanowiłem więc podjąć wyzwanie, aby udowodnić, że duża strona z treściami WordPress, taka jak WPBeginner, może ładować się równie szybko, jeśli nie szybciej, niż większość nowoczesnych statycznych generatorów stron.

Możesz mnie nazwać staroświeckim, ale koniec końców, strona statyczna to po prostu strona ładowana z pamięci podręcznej.

Wyniki

Zanim przejdę do dokładnej infrastruktury hostingowej WordPress, konfiguracji serwera i wtyczek, myślę, że warto podzielić się wynikami.

Oto jak szybko ładuje się strona główna WPBeginner na Pingdom z ich serwera w Waszyngtonie, DC:

WPBeginner Strona główna Pingdom

W zależności od pory dnia i lokalizacji, z której sprawdzasz, ten wynik będzie się wahał od 400 ms do 700 ms, co jest całkiem szybko jak na stronę główną.

Oto test, który przeprowadziłem dla pojedynczej strony posta, ponieważ zawiera większe obrazy i więcej treści:

Test prędkości strony pojedynczych wpisów WPBeginner z Pingdom

Uzyskaliśmy również doskonały wynik „100” w teście szybkości strony Google dla komputerów stacjonarnych. Chociaż mamy pewne pole do poprawy w wyniku mobilnym.

Test szybkości strony Google WPBeginner

Powyższe wyniki dotyczą stron buforowanych, które nasi czytelnicy i boty wyszukiwarek otrzymują podczas przeglądania naszej strony internetowej. Postrzegany czas ładowania WPBeginner jest niemal natychmiastowy (więcej na ten temat później).

Dla porównania, oto wynik testu prędkości dla strony głównej Gatsby. Jest to popularny generator stron statycznych, o którym wielu programistów mówi z entuzjazmem:

Gatsby Homepage Pingdom

Oto wynik testu szybkości strony głównej Netlify, popularnego hosta statycznych stron, który wielu programistów poleca. Zauważ, że mają o połowę mniej żądań, a rozmiar ich strony to 30% WPBeginner, a mimo to ładuje się wolniej niż nasza strona główna.

Netlify Homepage Pingdom

Szybkość strony głównej Contentful, headless CMS, który „jest sposobem, w jaki przedsiębiorstwa dostarczają lepsze cyfrowe doświadczenia”, nie jest w ogóle zoptymalizowana. Była to najwolniejsza testowana przez nas strona internetowa.

Contentful Homepage Pingdom

Dzielę się tymi statystykami nie po to, aby zdyskredytować inne frameworki, ale raczej po to, aby dać perspektywę, że nie wszystko, co nowe, jest tak błyszczące, jak może się wydawać.

WordPress, z odpowiednią infrastrukturą hostingową i optymalizacjami, może być równie szybki jak każdy generator statycznych stron. Ponadto żadna inna platforma nie zbliży się nawet do poziomu elastyczności, jaką WordPress oferuje właścicielom firm dzięki swojemu dużemu ekosystemowi wtyczek i motywów.

Infrastruktura Hostingowa WPBeginner

Jeśli chodzi o szybkość strony internetowej, nic nie odgrywa ważniejszej roli niż infrastruktura hostingu internetowego.

Jak wielu z Was już wie, jestem klientem HostGator od 2007 roku. Założyłem bloga WPBeginner w 2009 roku na małym koncie hostingu współdzielonego HostGator.

W miarę rozwoju naszej strony internetowej uaktualniliśmy do ich hostingu VPS, a następnie do serwerów dedykowanych.

Przez ostatnią dekadę miałem okazję blisko współpracować z wieloma członkami ich zespołu i stali się oni rozszerzoną częścią rodziny WPBeginner.

Kiedy więc podjąłem wyzwanie, aby WPBeginner działał szybciej niż generatory stron statycznych, zwróciłem się do nich o pomoc.

Podzieliłem się moją wizją z ich zespołem kierowniczym i zaoferowali pomoc w zbudowaniu unikalnego rozwiązania hostingowego dla przedsiębiorstw dla WPBeginner.

Zaangażowali najlepszych inżynierów z zespołów Bluehost i HostGator, aby ściśle ze mną współpracowali, aby WPBeginner działał błyskawicznie.

Oto przegląd tego, jak wygląda konfiguracja hostingu WPBeginner:

Infrastruktura Hostingowa WPBeginner

Jak widać, jest to konfiguracja wieloserwerowa rozłożona na dwa regiony geograficzne (Teksas i Utah). W sumie jest 9 serwerów, nie licząc chmury load balancera. Każdy serwer to procesor Xeon-D z 8 rdzeniami (16 wątkami), 32 GB pamięci RAM i 2 x 1 TB SSD (konfiguracja RAID).

Korzystamy z platformy Google Cloud Load Balancing, dzięki czemu możemy mieć płynne skalowanie automatyczne i równoważenie obciążenia na całym świecie.

Once the hardware was set up with proper data syncing in place, the Bluehost and HostGator teams worked together to optimize the server configurations for WordPress. I hope that some of these optimizations will soon make it into future WordPress hosting plans :)

Podsumowanie konfiguracji serwera

Podsumowanie konfiguracji serwerów tego złożonego systemu w zaledwie kilku akapitach jest bardzo trudne, ale postaram się jak najlepiej.

Używamy Apache jako naszego oprogramowania serwera WWW, ponieważ zespół jest z nim bardziej zaznajomiony. Nie będę wchodził w debatę NGINX vs Apache.

W tamtym czasie używaliśmy PHP 7.2 wraz z pulami PHP-FPM (metoda, która pomaga serwerowi efektywnie przetwarzać duże natężenie ruchu). Dziś, jeśli Twoja firma hostingowa nie używa PHP 8.1 lub nowszego, tracisz poważne optymalizacje prędkości i ważne aktualizacje bezpieczeństwa.

Używaliśmy buforowania Opcode (które zapisuje skompilowany kod PHP, dzięki czemu serwer działa szybciej) z zaawansowanym podgrzewaczem pamięci podręcznej, aby zapewnić, że żaden rzeczywisty użytkownik nie doświadczy niebuforowanego wyświetlenia strony.

Używaliśmy również buforowania obiektów z memcache. Buforowanie obiektów zapisuje zapytania do bazy danych, co pozwala nam drastycznie poprawić czas odpowiedzi dla niebuforowanych trafień strony i przyspieszyć obszar administracyjny WordPress dla zalogowanych użytkowników (naszych pisarzy).

Oto zakładka obciążenia sieciowego naszego ekranu „Wszystkie posty” w administracji WordPress w tamtym czasie:

Ekran edycji posta WPBeginner

Dla porównania, nasze doświadczenie w obszarze administracyjnym jest teraz 2 razy szybsze niż wcześniej.

Dla naszego serwera baz danych przeszliśmy z MySQL na MariaDB, która jest klonem MySQL, ale szybszym i lepszym. Przeszliśmy również z HyperDB na LudicrousDB, ponieważ pomaga nam to poprawić replikację bazy danych, przełączanie awaryjne i równoważenie obciążenia.

Istnieje również wiele innych konfiguracji, które pomagają nam w wydajności i skalowalności, takich jak HTTP/2 i HSTS dla szybszego połączenia + szyfrowania, możliwość uruchamiania dodatkowych serwerów w nowych regionach w przypadku awarii centrum danych itp.

Czuję, że nie oddaję sprawiedliwości niesamowitej konfiguracji, którą zbudował zespół, ale proszę, wiedz, że moją główną siłą jest marketing. Tak, jestem blogerem, który pisze o WordPressie, ale wiele z tych technicznych optymalizacji wykracza poza moje kompetencje.

Zostały one wykonane przez super inteligentnych inżynierów z zespołu Endurance, w tym Davida Collinsa (głównego architekta Endurance / CTO HostGator), Mike'a Hansena (kluczowego dewelopera WordPress) i innych, którym podziękuję w poniższej sekcji z podziękowaniami.

CDN, WAF i DNS

Oprócz hostingu internetowego, inne obszary, które odgrywają znaczącą rolę w szybkości Twojej strony internetowej, to Twój dostawca DNS, Twoja sieć dostarczania treści (zwana również CDN) i Twoja zapora aplikacji internetowej (WAF).

Chociaż wymieniłem to jako trzy oddzielne rzeczy, wiele firm oferuje obecnie te rozwiązania w pakiecie, takie jak Sucuri, Cloudflare, MaxCDN (obecnie StackPath CDN) itp.

Ponieważ chcę mieć maksymalną kontrolę i rozłożyć ryzyko, korzystam z trzech oddzielnych firm, które efektywnie zajmują się każdą częścią.

WPBeginner DNS jest zasilany przez DNS Made Easy (ta sama firma co Constellix). Są oni konsekwentnie klasyfikowani jako najszybsi dostawcy DNS na świecie. Zaletą DNS Made Easy jest to, że mogę kierować globalny ruch, gdy określone centrum danych w moim CDN lub WAF nie działa poprawnie, aby zapewnić maksymalny czas pracy.

Nasze CDN było zasilane przez MaxCDN (później znane jako StackPath CDN, które jest teraz wycofane). Pozwalało nam to zasadniczo na serwowanie naszych statycznych zasobów (obrazów, plików CSS i JavaScript) z dużej sieci serwerów na całym świecie.

Używamy Sucuri jako naszej zapory aplikacji internetowej. Oprócz blokowania ataków, działają one również jako dodatkowa warstwa CDN, a ich ogólna wydajność jest po prostu niesamowita. Wierzę, że mają najlepsze rozwiązanie zapory sieciowej dla WordPressa na rynku.

Podczas pracy nad optymalizacją szybkości strony internetowej, liczy się każda milisekunda. Dlatego korzystanie z tych dostawców rozwiązań w połączeniu z naszą nową infrastrukturą hostingową robi ogromną różnicę.

Dla ilustracji, oto podział wykresu WPBeginner.com vs GatsbyJS.org vs CloudFlare.com:

Szczegółowa analiza żądań na WPBeginner (Waterfall Breakdown of Requests on WPBeginner)

Zauważ, że czas DNS, czas SSL, czas połączenia i czas oczekiwania WPBeginner są na najwyższym poziomie w porównaniu do tych innych popularnych stron internetowych. Każda z tych ulepszeń sumuje się, aby zapewnić najlepsze wyniki.

Instant.page, zoptymalizowane obrazy i inne najlepsze praktyki

Jedną z rzeczy, które mogłeś zauważyć, jest niemal natychmiastowy czas ładowania podczas przeglądania postów i stron WPBeginner.

Oprócz wszystkich rzeczy, o których wspomniałem powyżej, zmniejszamy również opóźnienia, używając skryptu o nazwie instant.page, który wykorzystuje ładowanie wstępne w czasie rzeczywistym.

Zasadniczo, zanim użytkownik kliknie w link, musi najechać na niego kursorem myszy. Kiedy użytkownik najechał na link przez 65 ms (bardzo krótki okres czasu), jeden na dwóch faktycznie kliknie w link.

Skrypt Instant.page zaczyna wstępnie ładować tę stronę w tym momencie, więc kiedy użytkownik faktycznie kliknie link, wiele ciężkich zadań jest już wykonanych. To sprawia, że ludzki mózg postrzega czas ładowania strony internetowej jako prawie natychmiastowy.

Aby włączyć Instant.page na swojej stronie, możesz po prostu zainstalować i aktywować wtyczkę Instant Page WordPress.

Skrypt natychmiastowej strony

Ten skrypt jest całkiem niezły. Gorąco polecam odwiedzić ich stronę internetową i kliknąć przycisk „testuj szybkość klikania”, aby zobaczyć, jak oszukuje mózg.

Aktualizacja: Ostatecznie wyłączyliśmy instant.page, aby przetestować wtyczkę FlyingPages, która została udostępniona nam w grupie WPBeginner Engage na Facebooku. Ciągle testujemy i rotujemy nowe skrypty preloading, aby połączyć to, co najlepsze w instant.page i logice quicklink dla optymalnej wydajności.

Optymalizacja obrazów dla sieci

Chociaż rozwijane są nowe formaty obrazów, takie jak WebP, jeszcze ich nie używamy. Zamiast tego prosimy wszystkich naszych pisarzy o optymalizację każdego obrazu za pomocą narzędzia TinyPNG.

Możesz również zautomatyzować kompresję obrazów za pomocą wtyczek takich jak Optimole lub EWWW Image Optimizer.

Osobiście jednak wolę, aby zespół robił to ręcznie, abyśmy nie przesyłali dużych plików na serwer.

W tamtym czasie nie stosowaliśmy żadnego leniwego ładowania obrazów, ale planowaliśmy dodać je, gdy tylko Google wprowadzi natywne wsparcie dla leniwego ładowania w Chrome.

Na szczęście, od wersji WordPress 5.5, leniwe ładowanie jest teraz wbudowane bezpośrednio w rdzeń WordPress. Oznacza to, że dzisiaj nie potrzebujesz już niestandardowej wtyczki, aby uzyskać podstawowe leniwe ładowanie obrazów na swojej stronie internetowej.

Ograniczanie zapytań HTTP + Najlepsze praktyki

Zmniejsz żądania HTTP między domenami

W zależności od używanych wtyczek WordPress, niektóre dodają dodatkowe pliki CSS i JavaScript przy każdym ładowaniu strony. Te dodatkowe żądania HTTP mogą wymknąć się spod kontroli, jeśli masz dużo wtyczek na swojej stronie internetowej.

Więcej szczegółów znajdziesz w jak wtyczki WordPress mogą wpływać na czas ładowania Twojej witryny.

Teraz, zanim wyciągniesz błędne wnioski, że zbyt wiele wtyczek WordPress jest złych, chcę Ci powiedzieć, że na stronie WPBeginner działa 62 aktywne wtyczki.

Należy połączyć pliki CSS i JavaScript tam, gdzie to możliwe, aby zmniejszyć liczbę żądań HTTP. Niektóre wtyczki do buforowania WordPress, takie jak WP Rocket, mogą to robić automatycznie dzięki funkcji minifikacji.

Możesz również postępować zgodnie z instrukcjami w tym artykule, aby zrobić to ręcznie, co zrobił nasz zespół w WPBeginner.

Oprócz żądań HTTP, które dodają wtyczki i motywy, należy również pamiętać o innych skryptach stron trzecich, które dodajesz do swojej witryny, ponieważ każdy skrypt wpłynie na szybkość Twojej witryny.

Na przykład, jeśli uruchamiasz wiele skryptów reklamowych lub retargetingowych, spowolnią one Twoją witrynę. Możesz użyć narzędzia takiego jak Google Tag Manager, aby warunkowo ładować skrypty tylko wtedy, gdy są potrzebne.

Jeśli jesteś witryną wspieraną przez reklamy, taką jak TechCrunch lub TheNextWeb, to niewiele możesz z tym zrobić, ponieważ usunięcie reklam nie wchodzi w grę.

Na szczęście WPBeginner nie polega na zewnętrznych skryptach reklamowych, aby zarabiać pieniądze. Chcesz zobaczyć, jak WPBeginner zarabia pieniądze? Zobacz mój wpis na blogu o dochodach WPBeginner.

Wyciągnięte wnioski (do tej pory) + Moje końcowe przemyślenia

Jest to zupełnie nowa infrastruktura hostingowa i jestem pewien, że z czasem nauczę się mnóstwa rzeczy.

Jak dotąd uwielbiam usprawnienia prędkości, ponieważ pomogły nam poprawić nasze rankingi SEO, a nasz obszar administracyjny jest znacznie szybszy.

Dzięki nowemu, wieloserwerowemu setupowi wprowadziliśmy nowy przepływ pracy wdrażania, aby doprowadzić WPBeginner do poziomu pozostałych witryn produktów Awesome Motive.

Oznacza to, że mamy teraz wbudowane prawidłowe zarządzanie wersjami i wprowadzono środki zapobiegające mojej lekkomyślności (tj. dodawaniu wtyczek bez odpowiedniego testowania, aktualizowaniu wtyczek z panelu administracyjnego bez testowania itp.).

Te zmiany utorowały mi drogę do ostatecznego wyjścia z rozwoju i przekazania sterów strony WPBeginner naszemu zespołowi deweloperskiemu.

Opierałem się temu przez lata, ale myślę, że nadchodzi ten czas i po prostu muszę się z tym pogodzić.

Nowy system nie ma cPanel ani WHM, więc to sprawia, że jestem praktycznie bezużyteczny, ponieważ nie jestem już zbyt biegły w linii komend.

Do tej pory nauczyliśmy się dwóch ważnych lekcji:

Po pierwsze, aktualizacja WordPressa nie jest tak prosta ze względu na synchronizację/replikację serwerów. Podczas dużej aktualizacji rdzenia na moim osobistym blogu (SyedBalkhi.com) pliki aktualizacji nie zsynchronizowały się poprawnie na jednym z węzłów sieciowych, a debugowanie zajęło znacznie więcej czasu niż przewidywano. Musieliśmy zbudować lepszy proces testowania.

Po drugie, potrzebujemy lepszej komunikacji między zespołami, ponieważ mieliśmy niewielki kryzys z błędnymi konfiguracjami równoważenia obciążenia, co spowodowało przestoje. Co gorsza, byłem w samolocie transatlantyckim Turkish Airlines, a WiFi nie działało.

Na szczęście wszystko zostało rozwiązane dzięki szybkiej reakcji zespołu hostingowego, ale pomogło nam to stworzyć kilka nowych Standardowych Procedur Operacyjnych (SOP), aby lepiej radzić sobie z incydentem w przyszłości.

Ogólnie jestem bardzo zadowolony z konfiguracji i wiem, że niektóre z konfiguracji/optymalizacji pamięci podręcznej, które zostały wprowadzone dla WPBeginner, staną się standardową częścią planów hostingowych HostGator Cloud i Bluehost WordPress hosting.

Myślę, że to oczywiste, że jeśli dopiero zaczynasz tworzyć stronę internetową, bloga lub sklep internetowy, to NIE potrzebujesz tej zaawansowanej konfiguracji dla przedsiębiorstw.

Zawsze polecam, aby zacząć od małych planów HostGator shared lub Bluehost shared, tak jak ja, a następnie rozbudowywać swoją infrastrukturę hostingową w miarę rozwoju firmy.

Możesz zastosować wiele z udostępnionych powyżej optymalizacji do swoich obecnych planów hostingowych WordPress.

Na przykład, standardowy plan Bluehost już zawiera wbudowany plugin do cachowania, którego możesz użyć, a także domyślnie oferują PHP 7.

Możesz połączyć to z CDN + WAF, takim jak Sucuri, aby znacznie przyspieszyć swoją stronę internetową.

Teraz, jeśli jesteś firmą ze średniego rynku / przedsiębiorstwem, które chce podobnej konfiguracji hostingu, skontaktuj się ze mną za pośrednictwem naszego formularza kontaktowego. Mogę wskazać Ci właściwy kierunek.

Specjalne podziękowania + uznania

Dziękujemy HostGator i Bluehost

Chociaż w powyższym artykule wielokrotnie wspominałem o markach HostGator i Bluehost, chcę poświęcić chwilę na docenienie osób, które stały za kulisami, aby to się udało.

Po pierwsze, chcę podziękować zespołowi kierownictwa Endurance, Suhaibowi, Mitchowi, Johnowi Orlando, Mike'owi Lillie i Brady'emu Nordowi za zgodę na pomoc w tym wyzwaniu.

Chciałbym również podziękować Mike'owi Hansenowi, Davidowi Collinsowi, Rickowi Radingerowi, Chrisowi Milesowi, Davidowi Ryanowi, Jesse'emu Cookowi, Davidowi Fosterowi, Micahowi Woodowi, Williamowi Earnhardtowi, Robinowi Mendieta, Rodowi Johnsonowi, Alfredowi Najemowi i innym z zespołu centrum danych za wykonanie ciężkiej pracy i doprowadzenie tego do końca.

Chcę szczególnie podziękować Stevenowi Jobowi (założycielowi DNSMadeEasy) za szybkie odpowiadanie na moje pytania i pomoc w lepszym zrozumieniu niektórych ustawień. Chcę również podziękować Tony'emu Perezowi i Danielowi Cid z Sucuri za to, że zawsze mnie wspierali.

Na koniec, ale nie mniej ważne, chcę szczególnie docenić Chrisa Christoffa. Jest on współzałożycielem MonsterInsights i był na tyle miły, że pomógł mi z wieloma testami i wdrożeniem.

Najczęściej zadawane pytania (FAQ)

Rozumiemy, że jest to wiele informacji technicznych do przyswojenia. Oto odpowiedzi na niektóre z najczęściej zadawanych pytań dotyczących szybkości i wydajności WordPress.

Czy potrzebuję skomplikowanej konfiguracji hostingu, takiej jak WPBeginner, aby mieć szybką stronę internetową?

Absolutnie nie. Ten studium przypadku pokazuje, co jest możliwe na poziomie przedsiębiorstwa. Dla większości użytkowników idealnym punktem wyjścia jest wysokiej jakości plan hostingowy shared od Bluehost lub HostGator. Zawsze możesz ulepszyć hosting w miarę rozwoju Twojej strony.

Jakie są najważniejsze czynniki wpływające na szybkość WordPressa?

Trzy filary szybkości strony internetowej to infrastruktura hostingu, cachowanie i sieć dostarczania treści (CDN). Poprawne skonfigurowanie tych trzech elementów rozwiąże największe wąskie gardła wydajności dla większości stron WordPress.

Czy mogę sprawić, żeby moja strona WordPress działała szybko, nie będąc ekspertem technicznym?

Tak. Chociaż ten artykuł jest techniczny, nie musisz wszystkiego rozumieć. Postępując zgodnie z poradnikami dla początkujących, używając dobrego pluginu do cachowania, takiego jak WP Rocket, i optymalizując obrazy, możesz znacząco wpłynąć na szybkość swojej strony bez żadnej wiedzy programistycznej.

Czy używanie wielu wtyczek spowalnia WordPress?

Liczy się nie liczba wtyczek, ale ich jakość. Dobrze napisana wtyczka będzie miała minimalny wpływ. Jednak źle napisane wtyczki mogą dodawać niepotrzebny kod i zapytania do bazy danych, które spowalniają Twoją witrynę.

Dodatkowe zasoby poprawiające wydajność strony internetowej

Jeśli ten studium przypadku okazał się pomocny, mamy inne poradniki, które krok po kroku przeprowadzą Cię przez proces przyspieszania Twojej strony WordPress. Sprawdź je, aby uzyskać więcej praktycznych wskazówek:

Bonus: Oto najlepsze wtyczki WordPress i narzędzia, które polecam do wszystkich witryn WordPress. Możesz również przyjrzeć się planowi WPBeginner, który zawiera listę wtyczek i narzędzi, których używamy do prowadzenia witryny WPBeginner dzisiaj.

Jeśli podobał Ci się ten artykuł, zasubskrybuj nasz kanał YouTube po samouczki wideo WordPress. Możesz nas również znaleźć na Twitterze i Facebooku.

Ujawnienie: Nasze treści są wspierane przez czytelników. Oznacza to, że jeśli klikniesz niektóre z naszych linków, możemy otrzymać prowizję. Zobacz jak finansowany jest WPBeginner, dlaczego to ważne i jak możesz nas wesprzeć. Oto nasz proces redakcyjny.

Ostateczny zestaw narzędzi WordPress

Uzyskaj BEZPŁATNY dostęp do naszego zestawu narzędzi – kolekcji produktów i zasobów związanych z WordPress, które powinien mieć każdy profesjonalista!

Interakcje czytelników

59 CommentsLeave a Reply

  1. Naprawdę doceniam ten post za to, że pozwolił nam poznać kulisy sekretów szybkiego działania wpbeginner.
    Zawsze chciałem poznać sekretne składniki tego niesamowitego rezultatu.
    Myślę, że to połączenie wielu narzędzi i skoordynowany wysiłek zespołu doprowadziły do tak doskonałej wydajności.
    Daje nam to nową nadzieję w wordpress i że strony internetowe wordpress mogą obsłużyć ogromny ruch, a jednocześnie ładować się szybko.
    Dziękuję za ten wspaniały post.

  2. Zawsze zastanawiałem się, co kryje się za szybkością Twojej strony. Spodziewałem się własnego serwera i jakiegoś ulepszonego środowiska buforowania, ale naprawdę nie spodziewałem się tak dopasowanego, solidnego rozwiązania. Wspaniale, że pozwalasz nam zajrzeć za kulisy tego, jak ta strona jest zbudowana. I wspaniale jest również to, że pokazujesz światu, że nawet WordPress z naprawdę ogromną liczbą użytkowników może być niezwykle szybki, nawet jeśli wymaga też sporej mocy. Dziękuję za podzielenie się swoją wiedzą i danie nam możliwości zobaczenia infrastruktury Twojej strony internetowej i tego, na czym dokładnie działa cały serwer. To naprawdę ciekawa lektura.

  3. Zastanawiam się, dlaczego wpbeginner nie używa wordpress.com
    Czy jest jakiś konkretny powód?
    Proszę o wyjaśnienie

  4. Niesamowity artykuł! Lubię widzieć inne perspektywy dotyczące optymalizacji WordPress poza migracją do headless lub innych CMS-ów.

    Osobiście nie lubię porównań szybkości ładowania strony głównej, zwłaszcza dla stron z wiadomościami/blogami, ponieważ strona główna zazwyczaj nie jest najczęściej odwiedzaną stroną.

    Chciałbym więc zobaczyć wydajność ładowania stron z postami na różnych środowiskach/platformach.

    Dzięki za udostępnienie!

  5. Po raz kolejny wpbeginner się sprawdził. Ten artykuł jest jednym z najlepszych. To jest niesamowite, muszę zapisać tę stronę i przeczytać ją jeszcze raz.

  6. [blockquote]Istnieje również zgłoszenie w rdzeniu WordPressa, aby dodać tę funkcję do wszystkich witryn (naprawdę mam nadzieję, że stanie się to wkrótce), dzięki czemu nie będę musiał pisać niestandardowej wtyczki.[/blockquote]

    Napisałem prostą funkcję, która to obejmuje. Dopóki leniwe ładowanie nie trafi do rdzenia, możesz ją wypróbować. Chętnie poznam Twoją opinię, jeśli jej użyjesz.

    https://github.com/seezee/wp-lazy

  7. Naprawdę nie widzę, gdzie sprawiłeś, że Twoja strona jest szybsza niż generator stron statycznych.

    Jasne, poświęciłeś czas na optymalizację własnej strony, aby ładowała się jak najszybciej, a następnie porównałeś ją ze stroną główną generatora stron statycznych, która jest bardziej prawdopodobna zaprojektowana do wyświetlania ważnych treści odwiedzającemu niż do szybkiego ładowania.

    Powinieneś był skonfigurować domenę przy użyciu każdego ze statycznych generatorów, zoptymalizować ją tak, jak zrobiłeś to ze swoją własną witryną, umieścić przed nią CDN, a następnie porównać te dane testowe.

    • Treść naszej strony głównej jest dynamiczna i aktualizuje się codziennie, aby pokazywać odwiedzającym ważne treści i nowe posty na blogu.

      I compared headless CMS and other static generator homepages because you’d hope that those claiming performance boosts would practice what they preach :)

      Administrator

  8. Moje pytanie w odpowiedzi na ten wątek https://www.facebook.com/wpbeginner/posts/10157550202524100?comment_id=10157552775709100 doprowadziło do tego artykułu. Świetny artykuł. Kilka dni temu usunąłem wtyczkę shortpixel i używam online tinypng do kompresji obrazów. Właśnie zainstalowałem Flying pages do sprawdzenia. Planuję zmienić hosting, z Godaddy na inny. Rozmawiałem dzisiaj z Bluehost India, cena jest nieco wyższa niż Godaddy, ale dają darmowy SSL, nie wiem, czy jest to tylko na rok, czy na zawsze za darmo.

  9. Miłe wytyczne, panie, ale mam pewne wątpliwości.

    Myślę, że stos Nginx LEMP to najszybsza konfiguracja serwera dla WordPressa.

    Do buforowania można użyć opcache, cache plików i cache fastcgi, nie ma potrzeby stosowania żadnych wtyczek do buforowania, cache Nginx jest szybszy niż cache wtyczek.

    Jeśli chodzi o CDN, Stackpath nie jest najlepszy dla całego świata, jest bardzo wolny w Indiach, obraz Twojej strony ładuje się tutaj przez 2-3 sekundy.

    Jeśli chodzi o hosting, Hostgator nie jest lepszy od Google Cloud, AWS, Digitalocean itp. dostawców chmury.

    Dzięki

    • Jasne, możesz używać bufora NGINX bez żadnego wtyczki. Mamy taką konfigurację na WPForms i kilku naszych innych stronach internetowych, którymi zarządzają różne zespoły.

      Ostatecznie wszystko sprowadza się do Twojego poziomu komfortu i znajomości.

      Administrator

  10. DANG!

    To jest bardzo potężne. Twój blog jest teraz bardziej jak Lambo.

    Gratulacje, proszę pana

  11. Z niecierpliwością czekam na zastosowanie tych kroków na moim nowo zakupionym hostingu na SiteGround dla mojego bloga Writer Feels, gdzie piszę wiersze.

    • Ahmad, SiteGround also comes with a built-in caching plugin called SG Super Cache. You should enable that, and it will unlock a lot of optimizations. After that I recommend adding the Sucuri WAF + optimize all your images :)

      Administrator

  12. Świetny post. Zawsze udaje mi się dowiedzieć czegoś z postów WPbeginner, które czytam! Dziękuję!

  13. Wydajność strony WebPageTest wygląda całkiem dobrze, nie ma ustawionych maksymalnych czasów ani dat wygaśnięcia dla wielu zasobów serwowanych przez CDN. Cloudflare ma znacznie więcej PoPów niż oferuje StackPath.

    • Tak, Cloudflare oferuje wiele PoPów, ale uważam, że StackPath ma lepsze wsparcie. Ponadto CDN StackPath jest znacznie tańszy (10 USD miesięcznie za 1 TB przepustowości).

      Aby w pełni wykorzystać możliwości Cloudflare, musisz korzystać z ich planu za 200 USD miesięcznie (2400 USD rocznie), podczas gdy Sucuri możesz uzyskać za 299 USD rocznie. Idziemy o krok dalej i dodajemy dodatkową warstwę CDN od MaxCDN (StackPath) za dodatkowe 10 USD miesięcznie.

      Administrator

  14. Dobry artykuł.

    Jestem po prostu ciekawy łączenia skryptów JS i CSS, ponieważ używałeś http/2. Myślałem, że z http/2 nie powinieneś łączyć tych plików.

  15. Świetny post Syed, bardzo dokładny post. Szczerze uważam, że statyczny WordPress i bezserwerowy WordPress nie są dobrym rozwiązaniem dla 90% użytkowników WordPressa. To teraz fajne słowo-klucz, ale związane z tym kłopoty po prostu nie są tego warte. Tak czy inaczej, twoja infrastruktura i dbałość o szczegóły są bardzo imponujące.

    Widziałem, że wspomniałeś o używaniu serwera baz danych, ale nie widziałem, jakiego serwera baz danych używasz? Co sądzisz o używaniu Amazon Aurora RDS 4 do hostingu baz danych WordPress? Albo Google Cloud?

    • Patrick, używamy MariaDB na stronie WPBeginner. Postanowiliśmy zachować prostotę, a na razie spełnia nasze potrzeby.

      W OptinMonster zespół używa znacznie bardziej zaawansowanej konfiguracji bazy danych, ponieważ muszą obsłużyć miliardy wierszy.

      Administrator

  16. Chcę tylko powiedzieć, że Netlify jest jak najlepszą rzeczą, jaka przytrafiła się w tworzeniu stron internetowych, jeśli hostujesz strony statyczne lub strony JAM stack. I tak, możesz sprawić, że WP będzie miał szybki czas ładowania, ale spójrz na wysiłek, jaki to wymaga!! A wrzucanie pieniędzy w problem nigdy nie szkodzi
    Jeśli podzielisz swoją stronę z Gatsby na froncie i WP na backendzie, możesz zaoszczędzić DUŻO pieniędzy na hostingu
    Ale masz kilka dobrych punktów dotyczących optymalizacji obrazów. Łatwy sposób na skrócenie czasu ładowania

    • Zgadzam się z Tobą, Peter. Nigdy nie ma jednego słusznego lub błędnego rozwiązania. Chciałem tylko podzielić się perspektywą, która nie jest ostatnio tak popularna, ponieważ modne jest mówienie o stosie JAM, którego większość małych i średnich firm nie może wdrożyć.

      But optimizing images, combining plugin requests with WP Rocket, adding Sucuri is easy enough to get progress :)

      Administrator

  17. Dziękuję za artykuł. Doceniam Twoje wyniki i udostępnienie.

    Muszę jednak dodać swoje dwa grosze. Twoje koszty migracji i dalsze argumenty dotyczące utrzymania strony/kodu są w 100% uzasadnione.

    Jednak to, czego używasz jako hostingu (klaster Apache HA, WAF), jest dalekie od „normalnego” hostingu WordPress, z którego korzysta 99% ludzi.

    Po drugie, jamstack jest tak popularny, ponieważ możesz hostować swoją stronę internetową za ułamek kosztów hostingu WP, zapewniając lepszą wydajność „od razu po wyjęciu z pudełka” i będąc wiele razy tańszym.

    Na zdrowie
    Wojciech

    • Dziękuję za Twój komentarz, Wojciechu. Zgadzam się, że moja konfiguracja korporacyjna jest daleka od normalnej. Jednak z mojej perspektywy dodanie WAF + optymalizacja obrazów + zmniejszenie liczby żądań HTTP za pomocą WP Rocket jest znacznie bardziej osiągalne dla właściciela małej firmy niż migracja do JAM stack.

      Administrator

    • Tareq, podobna konfiguracja będzie kosztować tysiące miesięcznie. Wszystko zależy od tego, ile węzłów sieciowych / serwerów baz danych uruchomisz. Usługi zarządzane będą się różnić w zależności od wybranej firmy. Na przykład w OptinMonster nasze koszty serwerów wynoszą XX 000 USD miesięcznie.

      For WPBeginner site, our hosting is sponsored by HostGator :)

      Administrator

  18. Ciekawy artykuł i z pewnością można przyspieszyć ładowanie stron WordPress i sprawić, by były porównywalne ze stronami statycznymi. Niemniej jednak, nie ma tu mowy o kosztach. Posiadanie strony statycznej z kimś takim jak Netlify dla małej strony prawdopodobnie będzie znacznie tańsze. Nie jestem pewien co do poziomu korporacyjnego i większych stron internetowych, ale wyobrażam sobie, że i tak byłoby to lepsze rozwiązanie.

    Również podczas gdy pokazujesz swój wynik pulpitu w Google Insights, ta strona działa gorzej na urządzeniach mobilnych niż strona główna Gatsby. Można argumentować, że szybkość mobilna jest ważniejsza, ponieważ tam przepustowość i szybkość przetwarzania będą najbardziej ograniczone.

    • Tak, koszty takiej konfiguracji korporacyjnej dla dużej strony medialnej, takiej jak nasza, wyniosą tysiące miesięcznie, w zależności od Twoich potrzeb i używanego dostawcy.

      W przypadku mniejszych witryn można oczywiście używać Netlify, ale nie jest to łatwe dla właścicieli małych firm.

      Jeśli chodzi o urządzenia mobilne, tak, wspomniałem w artykule, że mamy pole do poprawy na urządzeniach mobilnych. Mój przyjaciel udostępnił mi tę nową wtyczkę od Google, którą dodam na stronę, co pomoże zwiększyć nasz wynik mobilny – https://wordpress.org/plugins/native-lazyload/

      Administrator

  19. Czy wtyczka instant.page wpływa na oceny szybkości ładowania stron w witrynach takich jak Google? Wydaje się, że nie, ponieważ nie ma kliknięcia przez człowieka. Czy zatem z tego powodu faktycznie jest zaletą zainstalowanie jeszcze jednego skryptu?

    • Nie wpływa to na oceny Google, ale poprawia ogólne wrażenia użytkownika. Jak bardzo kocham rankingi Google, tak samo cenię sobie ogólne wrażenia użytkownika.

      With that said, if you make your website faster you’ll likely see less abandonment overall :)

      Administrator

      • Dzięki za odpowiedź. To ma sens.

        Niezwiązane z tematem, czy możesz mi powiedzieć, co ma przedstawiać logo wpbeginner? Patrzę na nie i widzę tylko mrugającą twarz w masce gazowej.

        • Cześć David,

          Logo WPBeginner było moją nieudaną próbą narysowania prostego kreskówki, która wygląda jak początkujący. Nazywam go Blob.

          It was basically 3 round shapes in Photoshop with a rotated Exclamation mark and tilted close parentheses :)

    • Myślę, że będziemy musieli zgodzić się na niezgodę.

      There are negative reviews of just about every web hosting company in the world. I put HostGator in my top 5 for small business hosting because of their track record and my personal experience :)

      Administrator

  20. Dziękuję za te spostrzeżenia, Syed, i za poświęcony czas na tak dokładne ich udostępnienie! Kto wie, czy część pracy, którą tu wykonałeś, nie przeniesie się z czasem na zarządzany hosting WordPress dla innych w społeczności. Jeszcze raz dziękuję!

  21. Konfiguracja wymagała tysięcy dolarów miesięcznie lub więcej. Z drugiej strony, mogliśmy osiągnąć niemal podobną wydajność bez wydawania fortuny, a nawet przy darmowym hostingu, takim jak Netlify.

    Gratulacje z okazji nowej strony.

    • W przypadku dużych stron z treściami, i tak będziesz płacić tysiące dolarów miesięcznie. Kilku moich przyjaciół, którzy prowadzą duże blogi w swoich różnych branżach, wydaje miesięcznie wiele tysięcy.

      Jeśli prowadzisz małą witrynę, to oczywiście Netlify zadziała, ale tak naprawdę musisz być programistą, żeby z tego korzystać.

      Moim celem jest podzielenie się tym, że dzięki odpowiedniemu buforowaniu + WAF + CDN + narzędziom DNS, możesz mieć naprawdę szybką stronę internetową bez rezygnacji z elastyczności WordPressa.

      Administrator

  22. Cóż, to jest bardzo świetna konfiguracja korporacyjna i warta przeczytania, i mam nadzieję, że przyda mi się w najbliższej przyszłości.

    Mam pytanie, ponieważ jestem początkujący i mam proste ustawienie z WordPress + SiteGround + Genesis Framework i oczywiście motywem od StudioPress.

    Moja strona już korzysta z wtyczki SG Cache + Cloudfare CDN. Chciałem tylko dowiedzieć się więcej o frameworku Genesis pod kątem szybkości strony i czasu ładowania, czy ma to z tym coś wspólnego?

    • Cześć Martin,

      We use Genesis on WPBeginner as well, but the framework alone won’t make your website fast. You still have to look at the additional HTTP queries and image sizes. You’re definitely on the right track with the tools you’re using :)

      Administrator

Leave A Reply

Dziękujemy za pozostawienie komentarza. Pamiętaj, że wszystkie komentarze są moderowane zgodnie z naszą polityką komentowania, a Twój adres e-mail NIE zostanie opublikowany. Proszę NIE używaj słów kluczowych w polu nazwy. Prowadźmy osobistą i znaczącą rozmowę.