WordPress'i statik sayt generatorlarından daha sürətli necə yaratmalısınız (case study …

WPBeginner'in 10-cu ildönümündə WPBeginner hosting infrastrukturunun veb hosting ortağı HostGator sayəsində böyük bir yeniləmə əldə etdiyini bildirdim.

Tezliklə WPBeginner-i necə yüklədiyimizi təfərrüatlarını bölüşməyimi xahiş edən oxuculardan mənə məktublar gəldi.

Bəli, WPBeginner əksər statik sayt qurucularından daha sürətli və bəzi hallarda Google AMP saytlarından daha sürətli yüklənir.

Bu yazıda, WordPress-in statik sayt qurucularından və başsız CMS platformalarından daha sürətli necə düzəltdiyimizi görməyinizə kömək edərəm.

qeyd: Bu yazı adətən WPBeginner-də yazdığımızdan biraz daha texniki. Texniki olmayan istifadəçilər üçün WordPress-i sürətləndirmək üçün son bələdçimizə əməl etməyi məsləhət görürəm.

yeniləmə: Artıq bu məqalədəki paylaşılan parametrlərdən istifadə etmirik. Bunun əvəzinə SiteGround tərəfindən idarə olunan Google Cloud platformasına tamamilə keçdik. Eyni sürət nəticələrini və daha sürətli geribildirim performansını açırıq. SiteGround-a niyə keçdiyimizi oxuyun.

fon

Son zamanlarda WordPress WordPress-in yavaş olduğu "müasir" tərtibatçılardan çox sayda pis nüfuz qazandı.

Təlimat ümumiyyətlə GatsbyJS kimi bir statik JAMstack yer generatoruna keçməlisiniz. İşdəki digərlər, məzmunlu kimi başsız bir CMS-ə keçməyin lazım olduğunu söyləyirlər.

Çox uğurlu təşəbbüskar dostlarımdan bəziləri bunun doğru olub olmadığını soruşdular.

Bəziləri, başqalarının WordPress-dən statik sayt qurucularına keçməklə böyük sürət inkişaflarını necə açdıqlarını izah etdikləri üçün başsız bir CMS-ə köçməyə başladılar.

Məni çox incidirdi, çünki on minlərlə dolların miqrasiya xərclərinə sərf edildiyini bilirdim. Gələcəkdə baş verəcək özelleştirmənin sonsuz dəyəri haqqında danışmamaq.

Buna görə WPBeginner kimi yaxşı bir WordPress məzmun saytının ən müasir statik sayt qurucularından daha sürətli, daha sürətli olmasa yükləyə biləcəyini sübut etmək vəzifəsini götürdüm.

Məni köhnə məktəb adlandıra bilərsiniz, amma günün sonunda statik bir yer yalnız önbelleğe yüklənmiş bir səhifədir.

nəticələr

Dəqiq WordPress hosting infrastrukturuna, server konfiqurasiyasına və plaginlərə baxmadan əvvəl nəticələrin paylaşılmasının faydalı olduğunu düşünürəm.

Pingdomdəki WPBeginner veb saytı qısa müddətdə Washington, DC-dəki serverinizdən yükləyəcək:

WPBeginner Home Pingdom

Günün vaxtından və yoxladığınız yerdən asılı olaraq, bu nəticə bir ana səhifə üçün olduqca sürətli olan 400 və 700 m arasında dəyişir.

Daha böyük şəkillər və daha çox məzmunu olduğu üçün bir yazı səhifəsi üçün etdiyim bir test:

Fərdi poçt səhifələri üçün Pingdom WPBeginner sürət testi

Google Desktop Page Speed ​​Test-də də mükəmməl bir "100" bal qazandıq. Mobil nəticələrimizi yaxşılaşdırmaq üçün yerimiz olsa da.

Google WPBeginner səhifə sürət testi

Yuxarıdakı nəticələr önbelleğe edilmiş səhifələrə aiddir. Oxucularımız və axtarış motorları robotlar saytımıza daxil olduqda bunu alırlar. WPBeginner üçün qəbul edilən yükləmə müddəti demək olar ki, dərhal olur (daha sonra daha çox).

Müqayisə üçün, burada Gatsby veb saytı üçün sürət testi nəticəsidir. Bu, bir çox inkişaf etdiricinin həyəcanlandığı məşhur bir statik sayt generatorudur:

Gatsby Home Pingdom

Budur, bir çox inkişaf etdiricinin tövsiyə etdiyi məşhur statik sayt sahibi Netlify veb saytındakı sürət testinin nəticəsidir. Xahişlərin yarısının olduğunu və səhifə ölçüsünün WPBeginner'in 30% olduğunu unutmayın, lakin bu hələ veb saytımızın yüklədiklərindən daha yavaşdır.

Netdomify Home Pingdom

Məzmunla zəngin veb saytın sürəti, "şirkətlər daha yaxşı rəqəmsal təcrübə təqdim edən" başsız CMS, sadəcə olaraq optimallaşdırılmamışdır. Bura cəhd etdiyimiz ən yavaş yer idi.

Pingdom veb sayt məzmunu

Digər statistikaları ləğv etmək üçün bu statistikanı bölüşmürəm, amma yeni şeylərin görünə biləcəyi qədər parlaq olmadığına dair bir fikir bildirim.

Doğru hostinq infrastrukturu və optimallaşdırma ilə WordPress hər hansı bir statik sayt qurucusu qədər sürətli ola bilər. Üstəlik, heç bir başqa platforma rahatlığa nail ola bilməz. WordPress əla plagin və mövzu ekosistemi vasitəsilə biznes sahiblərinə təklif edir.

WPBeginner hosting infrastrukturu

Sayt sürətinə gəldikdə, veb hosting infrastrukturunuzdan başqa heç nə vacib deyil.

Bir çoxlarınız bildiyiniz kimi 2007-ci ildən bəri HostGator müştəri oldum. WPBeginner 2009 blogunu kiçik bir paylaşılan HostGator host hesabında başladım.

Saytımız böyüdükcə VPS hostinginizə, daha sonra xüsusi serverlərə yüksəltdik.

Son on ildə komandanızın bir çox üzvü ilə yaxından işləmək fürsəti qazandım və WP Başlanğıc ailəsinin geniş bir hissəsi oldum.

WPBeginner'i statik konstruktorlardan daha sürətli etmək problemi ilə üzləşdim və kömək üçün onlara müraciət etdim.

Görüşlərimi rəhbərlik heyəti ilə bölüşdüm və onlar mənə WPBeginner üçün unikal bir hosting qurmağa kömək etməyi təklif etdilər.

WPBeginner-in inanılmaz dərəcədə sürətli olması üçün mənimlə yaxından işləmək üçün Bluehost və HostGator komandalarından ən yaxşı mühəndisləri işə götürdün.

WPBeginner hosting konfiqurasiyasının nəyə bənzədiyinə dair ümumi məlumat:

WPBeginner hosting infrastrukturu

Gördüyünüz kimi, iki coğrafi bölgəni (Texas və Yuta) əhatə edən çox server quruluşudur. Hər şey var 9 Buludda yük qalıqları olmayan server. Hər bir server 32-lik 32-nüvəli (16-iplik) Xeon-D CPU-dur GB RAM və 2 x 1 TB SSD (RAID Konfiqurasiya).

Google-un bulud yük balanslaşdırma platformasından bütün dünyada avtomatik olaraq balanslaşdırmaq və yükləmək üçün istifadə edirik.

Düzgün məlumat sinxronizasiyası ilə cihaz qurduqdan sonra, Bluehost və HostGator WordPress server parametrlərini optimallaşdırmaq üçün birlikdə çalışdılar. Ümid edirəm ki, bu optimallaşdırmalardan bəziləri yaxın gələcəkdə WordPress hosting planlarına tətbiq olunacaq. :) :)

Server konfiqurasiyasına baxış

Bu mürəkkəb konfiqurasiyanın server konfiqurasiyasını cəmi bir neçə abzasda ümumiləşdirmək çox çətindir, amma əlimdən gələni edəcəyəm.

Komanda daha çox tanıdığı üçün veb server proqramımız üçün Apache istifadə edirik. NGINX-Apache debatında iştirak etməyəcəyəm.

PHP istifadə edirik 7.2 PHP-FPM qrupları ilə birlikdə böyük proses yüklərini və tələblərini həll edə biləcəyik. Əgər hosting şirkəti PHP-dirsə 7+ istifadə edilmir, ciddi sürət optimallaşdırmasını itir.

Heç bir real istifadəçinin bir cache olmadan bir səhifə ziyarət etməməsini təmin etmək üçün opcode önbelleğini inkişaf etmiş bir ön qızdırıcısı ilə istifadə edirik.

Qeyd yaddaşında olan istifadəçilər (müəlliflərimiz) üçün WordPress idarəetmə sahəsindəki önbelleğe və digər API cavab vaxtlarına baxmadan səhifəyə giriş üçün cavab vaxtını yaxşılaşdıra bilmək üçün həm də obyekt cache-dən istifadə edirik. Bütün WordPress Manager yazılarımızın ekran görüntüsü üçün şəbəkə yükləmə nişanı:

WPBeginner post ekranı düzəldəcək

Bizim inzibati təcrübəmiz indi əvvəlkindən iki dəfə sürətlidir.

Verilənlər bazası serverimiz üçün MySQL-dən daha sürətli və daha yaxşı olan MySQL klonuna – MariaDB-yə keçdik. Ayrıca HyperDB-dən LudicrousDB-yə keçdik, çünki bu, verilənlər bazasının təkrarlanmasını, uğursuzluğunu və yük balansını yaxşılaşdırmağa kömək edir.

Performans və ölçeklenebilirliğimizdə bizə kömək edən bir çox digər parametrlər də var, məsələn: B. HTTP / 2 daha sürətli qoşulma və şifrələmə üçün HSTS, məlumat mərkəzində nasazlıq olduqda yeni bölgələrdə əlavə serverlərin işə salınması imkanı və s.

Komandanın ədalət qazandığı heyrətamiz bir quraşdırma etmədiyim kimi hiss edirəm, amma ən böyük gücüm marketinq olduğunu bilirəm. Bəli, mən WordPress haqqında yazan bir bloggerəm, amma buradakı texniki optimallaşdırmaların çoxu maaş səviyyəmdən yaxşıdır.

Aşağıdakı "Kreditlər" bölməsində təşəkkür etmək istədiyim David Collins (Qurğuşun Dözümlülük / HostGator üçün CTO Memarı), Mayk Hansen (Qurğuşun WordPress İnkişafçısı) və başqaları daxil olmaqla Super Ağıllı mühəndislər tərəfindən yaradıldı.

CDN, WAF və DNS

Veb hostinqə əlavə olaraq, DNS provayderiniz, məzmun çatdırılma şəbəkəniz (CDN olaraq da bilinir) və veb tətbiqetmə firewall (WAF) hamısı saytınızın sürətində mühüm rol oynayır.

Mən bunu üç ayrı şey kimi sadaladığımda, indi bir çox şirkət bu həll variantlarını Sucuri, Cloudflare, MaxCDN (StackPath) və s. Kimi inteqrasiya olunmuş bir planda təklif edir.

Maksimum nəzarətdə olduğumdan və riski yaymaq istədiyimdən, hər hissəni effektiv idarə etmək üçün üç ayrı şirkətdən istifadə edirəm.

WPBeginner DNS DNS Made Easy (Constellix ilə eyni şirkət) ilə işləyir. Bunlar ardıcıl olaraq dünyanın ən sürətli DNS təminatçıları olaraq sıralanır. DNS Made Easy'nin üstünlüyü, CDN və ya WAF'dakı müəyyən bir məlumat mərkəzi maksimum mövcudluğu təmin etmək üçün düzgün işləmədiyi zaman qlobal trafik marşrutlaşdırmağımdır.

Bizim CDN MaxCDN (StackPath) ilə işləyir. Əsasən, bizə statik aktivlərimizi (şəkillər, CSS sənədləri və JavaScripts) dünyanın geniş bir server şəbəkəsindən çatdırmağa imkan verir.

Sucuri'yi bir veb tətbiqi firewall olaraq istifadə edirik. Yalnız hücumları maneə törətmirlər, həm də CDN-in başqa bir qatı rolunu oynayırlar və ümumi performansı sadəcə heyrətamizdir. Düşünürəm ki, bazarda ən yaxşı WordPress firewall həlli var.

Saytın sürətini optimallaşdırarkən hər millisaniyədə azaltmaq lazımdır. Bu səbəbdən bu həll provayderlərimizi yeni veb hosting infrastrukturumuzla birlikdə istifadə etmək böyük bir fərq yaradır.

WPBeginner.com vs GatsbyJS.org və s. Üst-üstə düşən hissəni göstərmək üçün. CloudFlare.com:

WPBeginner-də tələblərin üst-üstə düşən paylanması

Unutmayın ki, WPBeginner DNS vaxtı, SSL vaxtı, əlaqə müddəti və fasiləsi bu digər populyar saytlarla müqayisədə üstündür. Bu aksesuarların hər biri ən yaxşı nəticələr üçün birləşdirilmişdir.

Instant.page, optimallaşdırılmış şəkillər və digər ən yaxşı təcrübələr

Gördüyünüz şeylərdən biri WPBeginner yazılarını və səhifələrini gəzərkən demək olar ki, ani yükləmə vaxtıdır.

Daha əvvəl qeyd etdiyim bütün şeylərə əlavə olaraq, vaxtında əvvəlcədən yüklənmədən istifadə edən instant.page adlı bir skriptdən istifadə edərək gizlilikləri də aldatırıq.

Əsasən, bir linki tıklamazdan əvvəl bir istifadəçi siçanlarını həmin keçid üzərində hərəkət etdirməlidir. Bir istifadəçi 65 ms (çox qısa müddət) qaldıqda, digər istifadəçi linki vurur.

Instant.page skript bu səhifəni dərhal yükləməyə başlayır. Buna görə istifadəçi həqiqətən linki tıklayırsa, ağır atletikanın çox hissəsi artıq edilir. Nəticədə insan beyni saytın yükləmə müddətinin demək olar ki, ani olduğunu qəbul edir.

Saytınızda Instant.page-i aktivləşdirmək üçün sadəcə WordPress Instant Səhifə plaginini quraşdırıb aktivləşdirə bilərsiniz.

Ani səhifə ssenarisi

Bu ssenari olduqca yaxşıdır. Saytınızı ziyarət etməyi və beyninizin sizi necə aldatdığını görmək üçün "Tıklayınızı Rate vasitəsilə sınayın" düyməsini basmağı məsləhət görürəm.

yeniləmə: Hal-hazırda instant.page-i deaktiv etdim və yaxın gələcəkdə FlyingPages plaginini sınayacağam. Gijo Varghese qrupa etdiyi yeni əlavəni mənimlə bölüşdü Facebook WPBeginner nişanlayın və instant.page və sürətli link skriptinin ən yaxşısını birləşdirir.

Şəkilləri veb üçün optimallaşdırın

Webp kimi yeni görüntü formatları inkişaf etdirilsə də, hələ də onlardan istifadə etmirik. Bunun əvəzinə, bütün müəlliflərimizdən TinyPNG alətindən istifadə edərək hər bir görüntünün optimallaşdırılmasını xahiş edirik.

Optimole və ya EWWW Image Optimizer kimi plaginlərdən istifadə edərək görüntü sıxılmasını da avtomatlaşdıra bilərsiniz.

Bununla birlikdə şəxsən komandanın bunu əl ilə etməsini üstün tuturam ki, serverə böyük sənədlər yükləməyək.

Hal-hazırda şəkillərin yüklənməsini təxirə salmırıq, amma Google-ın tənbəl yükləmə dəstəyi qurulduğu üçün yaxın vaxtlarda əlavə etməyi planlaşdırıram. Chrome 76a

Bu xüsusiyyəti bütün saytlara əlavə etmək üçün WordPress kernelində bir bilet də var (ümid edirəm bu tezliklə olacaq), buna görə xüsusi bir plagin yazmaq lazım deyil.

yeniləmə: Blog yazısını dərc etdikdən bir neçə saat sonra, Google WordPress üçün Native Lazy Load plaginini buraxdı.

HTTP sorğu məhdudiyyəti + ən yaxşı təcrübələr

Domenlər arasında HTTP tələblərini azaldın

İstifadə etdiyiniz WordPress eklentilərindən asılı olaraq səhifə yüklədikdə bəzi əlavə CSS və JavaScript faylları əlavə olunur. Bu əlavə HTTP sorğularınız, saytınızda çox sayda eklent varsa, nəzarətdən çıxa bilər.

Daha çox məlumat üçün, WordPress eklentlərinin veb saytınızın yükləmə müddətinə necə təsir etdiyinə baxın.

Səhv olaraq çox WordPress eklentinin pis olduğunu düşünməzdən əvvəl sizə bildirmək istərdim ki, WPBeginner saytında 62 aktiv plagin var.

Mümkünsə, HTTP tələblərini azaltmaq üçün CSS və JavaScript fayllarını birləşdirin. WP Roket kimi bəzi WordPress önbelleğleri bunu minimuma endirmə xüsusiyyəti ilə avtomatik olaraq edə bilər.

Əllə etmək üçün bu məqalədəki təlimatları izləyə bilərsiniz. WPBeginner komandamız bunu etdi.

Pluginlər və mövzular əlavə edən HTTP sorğularına əlavə olaraq, hər bir skript saytınızın sürətinə təsir etdiyindən saytınıza əlavə etdiyiniz digər üçüncü skriptlərdən də xəbərdar olmalısınız.

Məsələn, reklam skriptlərinizi və ya yönləndirmə skriptlərinizi işlətmək saytınızı yavaşlatacaqdır. Skriptləri yalnız zəruri hallarda yükləmək üçün Google Tag Manager kimi bir vasitədən istifadə etməlisiniz.

TechCrunch və ya TheNextWeb kimi bir reklam dəstəyi saytınız varsa, bu barədə edə biləcəyiniz çox az şey var, çünki reklamları silmək seçim deyil.

Xoşbəxtlikdən, WPBeginner pul qazanmaq üçün üçüncü tərəf reklam skriptlərinə etibar etmir. WPBeginner-in necə pul qazanmasını görmək istəyirsiniz? WPBeginner Mənfəətlərindəki blog yazıma baxın.

Öyrənilmiş dərslər (indiyə qədər) + son düşüncələrim

Bu tamamilə yeni bir hosting infrastrukturu və zamanla saysız-hesabsız dərslər alacağımdan əminəm.

İndiyə qədər sürət inkişaflarını çox sevirəm, çünki SEO sıralamamızı yaxşılaşdırmağa kömək etdilər və idarəetmə sahəsi daha sürətli.

Yeni çox server quruluşu ilə WPBeginner-in bütün digər Awesome Motive məhsul saytları ilə bərabər olması üçün yeni bir yerləşdirmə prosesini təqdim edirik.

Bu, artıq daxili nəzarəti idarə edən uyğun bir versiyanın olduğunu və bunun ehtiyatsız olmasının qarşısını almaq üçün tədbirlər gördüyümüz deməkdir (yəni lazımi testlər olmadan plaginlər əlavə edin, plaginləri test olmadan paneli yeniləyin və s.).

Bu dəyişikliklər, inkişafın tamamlanması və WPBeginner saytının rəhbərliklərini inkişaf qrupumuza çatdırmağınız üçün də yol açdı.

Mən illərlə buna dözmüşəm, amma zamanın doğru olduğunu düşünürəm və sadəcə qəbul etməliyəm.

Yeni parametrdə cPanel və ya WHM yoxdur, buna görə də komanda xəttində çox səliqəli olmadığım üçün hər halda mən olduqca faydasızam.

İndiyə qədər iki yaxşı dərs aldıq:

Əvvəlcə, WordPress yeniləmə server sinxronlaşdırması / təkrarlanması səbəbindən asan deyil. Şəxsi bloqumu (SyedBalkhi.com) WordPress-də açdığımız zaman 5.2 yeniləndi, veb qovşaqlarının birindəki yeniləmə faylları düzgün sinxronizasiya edilmədi və problemlərin aradan qaldırılması gözləniləndən daha uzun sürdü. Bunun üçün daha yaxşı bir qurma / test prosesi yaratmaq üçün çalışırıq.

İkincisi, komandalar arasında daha yaxşı ünsiyyətə ehtiyac duyuruq, çünki gecikmə ilə nəticələnən səhv yük balans parametrləri ilə kiçik bir ələ keçirdik. İşi daha da pisləşdirmək üçün mən Türk Hava Yolları ilə transatlantik reysdə idim və WiFi işləmirdi.

Xoşbəxtlikdən, ev sahibi komandanın sürətli cavab vaxtı sayəsində hər şey həll olundu. Ancaq bu, gələcəkdə hadisəni daha yaxşı idarə etmək üçün bir neçə yeni standart əməliyyat prosedurunu (SOP) yaratmağa kömək etdi.

Ümumiyyətlə, parametrlərdən çox məmnunam və WPBeginner üçün edilən bəzi keş parametrləri / optimallaşdırma HostGator Cloud və Bluehost WordPress hosting planlarının standart bir hissəsi olacağını bilirəm.

Düşünürəm ki, bir veb sayt, bloq və ya onlayn mağazanı işə salırsınızsa, bu mürəkkəb iş quruluşuna ehtiyacınız yoxdur.

Həmişə tövsiyə edirəm ki, tədricən ortaq HostGator və ya Bluehost planları ilə başlasın və sonra iş böyüdükcə hosting infrastrukturunuzu təkmilləşdirin.

Əvvəllər paylaşdığım bir çox parametrləri cari WordPress hosting planlarınızda tətbiq edə bilərsiniz.

Məsələn, standart Bluehost planında artıq istifadə edə biləcəyiniz daxili ön plagin mövcuddur və onlar da standart olaraq PHP təklif edirlər 7 ardıcıl olaraq.

Saytınızı əhəmiyyətli dərəcədə sürətləndirmək üçün bunu Sucuri kimi bir CDN + WAF ilə birləşdirə bilərsiniz.

Bənzər bir hosting qurmağını istəyən bir orta şirkətsinizsə, əlaqə forma istifadə edərək mənimlə əlaqə saxlayın. Düzgün istiqamət götürməyinizə kömək edə bilərəm.

Xüsusi təşəkkür + kreditlər

HostGator və Bluehost-a çox təşəkkür edirəm.

Əvvəlki məqalədə HostGator və Bluehost markalarına dəfələrlə təşəkkür etdiyim halda, bunun üçün səhnə arxasında işləyən insanları tanımaq və qiymətləndirmək üçün bir az vaxt ayırmaq istərdim.

Əvvəlcə müqavimət rəhbərliyi komandasına Suhaib, Mitch, John Orlando, Mike Lillie və Brady Nord'ın mənə kömək etmək üçün razılığa gəldiyinə görə təşəkkür edirəm.

Mike Hansen, David Collins, Rick Radinger, Chris Miles, David Ryan, Jesse Cook, David Foster, Micah Wood, William Earnhardt, Robin Mendieta, Rod Johnson, Alfred Najem və məlumat mərkəzi komandasının digər üzvlərinə təşəkkür edirəm. zəhmət çəkib onu reallaşdır.

Suallarımı tez cavablandırdığım və bəzi parametrləri daha yaxşı başa düşməyimə kömək etdiyi üçün Steven Job-a (DNSMadeEasy qurucusu) təşəkkür edirəm. Tony Peres və Daniel Cid de Sucurini daim arxalarından döndükləri üçün salamlamaq istərdim.

Sonda Chris Christoff-a xüsusi bir təşəkkür vermək istərdim. MonsterInsights’ın həmtəsisçisidir və mənə bir çox sınaq və tətbiqlərdə kömək etmək üçün kifayət qədər mehribandır.

Ümid edirəm ki, WPBeginner hosting infrastrukturunun iş pərdə arxasında bunu faydalı gördünüz. Daha başlanğıc dostu olan son WordPress sürətləndirmə təlimatımızı oxuya bilərsiniz.

mükafat: Budur, bütün WordPress saytları üçün tövsiyə etdiyim ən yaxşı WordPress eklentləri və vasitələri.

Bu yazını bəyənmisinizsə, kanalımıza abunə olun YouTube WordPress tutorial video izləmək üçün. Bizi də tapa bilərsiniz Twitter y Facebook.