Veebisaidi “aegluse” algpõhjus ei ole tavaliselt mitte mingi konkreetne pilt, vaid hoopisTaotluse link + serveri genereerimine + staatiline ressursside jaotaminemis on põhjustatud ülekandest:

  • Kasutajad on teie serveritest liiga kaugel, võrgu RTT on kõrge (rohkem märgatav üle kontinentide).
  • WordPress töötab PHP, kontrollib andmebaasi ja muudab malli iga taotluse puhul → TTFB (time to first byte) üles
  • Leheküljed laadivad ka JS/CSS/fonte/kolmandate osapoolte skripte, mis aeglustab renderdamist ja interaktsiooni.

Caching PluginLahenduse tuum on salvestada “topelt-loetud” lehekülgede tulemused, et server ei peaks neid iga kord uuesti arvutama, ning vähendada oluliselt TTFB-d, võimaldades õige strateegia korral rohkematel kasutajatel vahemälu tabada.WordPressi ametlik dokumentatsioonSamuti juhiti tähelepanu sellele, et sellised pluginad nagu W3 Total Cache ja WP Super Cache võivad lehekülgi vahemällu salvestada staatiliste failidena ja seejärel serveerida neid otse kasutajale, vähendades serveri töötlemiskoormust.

Enne selle lehekülje lugemist pidage meeles 3 raudset reeglit

1. Lehekülje vahemälu pistikprogrammid samal ajal ainult üks

Enamasti ei ole mitme vahemäluplugina samaaegne lubamine kiirem:

  • Teineteise vahemälureeglite ületamine, teineteise vahemälude kustutamine, vahemälu tabavuse langus
  • Dünaamiline sisu, nagu sisselogimise olek/keel/kaart/hind, on vahemällu salvestatud, mille tulemuseks on “vale sisu” juhtumid.
    Paljud pluginate dokumendid/juhendid soovitavad, et kui kasutate teatud vahemälupluginaid, siisLülita välja muud vahemälu pistikprogrammidkonflikti vältimiseks.

2. E-kaubandus/liikmete/mitmekeelsed saidid: vahemälu ei ole “sisse/välja lüliti”, vaid “reeglite süsteem”.”

WooCommerce'i ametlik jõudlusdokumentatsioonSelge meeldetuletus: cache plugin veenduda, et Ostukorv / kassasse / konto Samuti on soovitatav vältida JavaScript-failide pakkimist (kuna see kipub tekitama ühilduvusprobleeme).

3. “Cache plug-in ≠ CDN”, kuid cache plug-in on CDN vundament.

Cache plugin, et lahendada “allikas jaama alahindamine”;CDN Lahendage probleem “sisu kasutajatele lähemal”. Seos nende kahe vahel on ülesseatud: kõigepealt vajutatakse allikas TTFB alla ja seejärel antakse staatilised ressursid levitamiseks üle CDN-le, mis on globaalsete kasutajate jaoks kõige stabiilsem marsruut.

Kiirvalikud: 4 kõige levinumat stsenaariumi veebisaitide jaoks

Kui te ei soovi kogu artiklit lugeda, ei saa te eksida järgmiste 4 valikuga:

  1. Tahad säästa raha, olla stabiilne ja olla suunatud globaalsele juurdepääsuleWP Rocket(Tasuline)
  2. Hosting on selgesõnaliselt LiteSpeed/OpenLiteSpeedLiteSpeed Cache(tasuta, kuid sõltub tugevalt serveri mahust): Kopeerimisfunktsioon nõuab LiteSpeed'i serveri komponendidtöö ainult siis
  3. Sisuleheküljed/blogid/dokumendisaidid, mis soovivad olla vabad ja stabiilsed.WP Super Cache(staatiline HTML vahemälu): Loo staatilised HTML-failid, mida saab pakkuda enamikele sisselogimata kasutajatele.
  4. Teil on tehnilised meeskonnad kontrolli peenhäälestamiseks (CDN/objektide vahemälu/multi-moodulid).W3 Total Cache(tugev, kuid keeruline): Säilitab tervikliku tulemuslikkuse raamistiku koos CDN integratsiooniga

Mida täpselt vahemälu vahemälu sisaldab?

“Miks mõned saidid on vahemälu abil ikka veel aeglased”, jaotasime WordPressi jõudluse 5 kihti:

  1. brauseri vahemälu: Teisese juurdepääsu kiirendamine kasutajate jaoks (staatilised ressursside vahemälu päised, versiooninumbrid).
  2. lehekülje vahemälu: Vahemälu lehekülje väljund HTML-na (selle lehekülje peategelane)
  3. objekti vahemälu: Andmebaasi päringu tulemuste objektide vahemälu (dünaamilised jaamad on väärtuslikumad)
  4. PHP OPcache: Cache PHP bytecode (tavaliselt konfigureeritakse serveri poolt, mitte plugin'i fookuses)
  5. CDN/serva vahemälu: Ressursside paigutamine kasutajale lähemal asuvatesse sõlmedesse

Selle artikli fookus: lehekülje vahemälu plugin;
Kuid teile tuletatakse pidevalt meelde, et veebilehed vajavad sageli kombinatsiooni 2 + 5, et olla “tõeliselt kiire”.

Plug-in 1:WP Rocket(tasulised) - “probleemideta” integreeritud programmid

WP Rocket on populaarne “WordPressi” stseenis mitte sellepärast, et see on maagiline, vaid sellepärast, et see muudab kolm kõige levinumat tüüpi jõudlustööd “hallatavateks pakettideks”:

  • Lehekülje vahemälu (vähendab lähtekoha TTFB)
  • vahemälu eellaadimine/eelsoojendamine (et parandada esimese külastuse kogemust ülemaailmselt jaotatud juurdepääsuga)
  • Peamised front-end optimeerimised (eriti JS-i latentsus, CSS-i käsitlemine jne).

selleametlik dokumentSamuti mainitakse selgesõnaliselt, et eellaadimise sisselülitamine võib käivitada/ajendada teatud optimeerimisi (nt CSS/JS-iga seotud optimeerimisi) isegi siis, kui lülitate lehekülje vahemälu salvestamise välja.

1.1 Kellele WP Rocket on mõeldud

WP Rocket sobib eriti hästi nende jaamade jaoks:

  • Ettevõtte veebisait, brändi veebisait, sisuturunduse sait, sihtlehed (liiklus mitmest riigist ja piirkonnast).
  • Ma tahan “go live kiiresti, stabiilsus esimene”, ei taha kirjutada palju vaba plugin kombinatsioon
  • Puuduvad spetsiaalsed Ops/Performance insenerid, kuid neil on kogemused ja SEO nõuded.
  • WooCommerce Seda võib kasutada ka, kuid ettevaatlikumalt (sellest lähemalt allpool).Reeglid ja riskid

1.2 Selle põhiväärtus veebi juurdepääsu stsenaariumides (mitte ainult “vahemälu vahetamine”)

A. Cache eellaadimine: “ebastabiilsete esimeste külastuste lahendamine, mis on tingitud jaotatud juurdepääsust veebisaitidele”.”

Kui saidi kasutajad on hajutatud, tekib väga tüüpiline aeglustumine:
Kui kasutaja piirkonnas avab lehe esimest korda ja see juhtub olema vahemälust väljas või ei ole kunagi soojendatud → see kasutaja kannab kogu PHP/DB renderdamiskulu.
EelkoormusmehhanismSelle tähendus on järgmine:“Esimese põlvkonna” kulude ettemaksmineProgrammi esimene külastus on “katsejänes”, mis vähendab "esimese katsejänesena käimise" tõenäosust.

  • Eellaadimist ei toimu: kes esimesena juurde pääseb, kannatab
  • Eellaadimisega: süsteemi poolt taustal ühtlustatud vahemälu loomine, esimene külastuskogemus on stabiilsem.

B. Edasilükatud JavaScripti täitmine: kõige lihtsam funktsioon, mis võimaldab veebisaidi külastamisel “kohe tunda”, kuid on ka kõige riskantsem.

WP Rocket paneb ametlikult “Viivitatud JS täitmine” kirjeldab seda kui oma tugevaimat JS-optimeerimist: see lükkab skripti täitmise edasi, kuni kasutaja on teinud mingi interaktsiooni (liigutanud hiirt, puudutanud ekraani, kerinud, vajutanud klahvi jne), et seada lehe renderdamine prioriteediks.

See on oluline veebisaidile juurdepääsu jaoks, sest skriptide laadimise ja täitmise blokeerimine on tõenäolisemalt võimendatud kontinentidevahelistes võrkudes:

  • Aeglasem ressursside allalaadimine → põhilõng on tõenäolisemalt skriptide poolt takistatud
  • Kolmandate osapoolte skriptid (statistika, reklaamid, chat plugins) halvendavad pigem INP/interaktsiooni viivitusi.

Kuid see võib põhjustada ka probleeme:

  • Viivitatud JS mõjutab tõenäoliselt: menüüd, pöörded, hüpikaknad, vormide valideerimine, maksed, matuste jälgimine.
  • Seega sobib see “samm-sammult + musta nimekirja välistamise” strateegia jaoks.

C. Ühilduvus teiste pistikprogrammide/teemadega: “nullkonflikt” ei ole sama mis "meelerahu".”

WP Rocket on ametlikult loetletud “Ühildumatud pistikprogrammid/teemad” nimekirja, mis hõlmab selliseid mehhanisme nagu väljundpuhvrid, mis mõjutavad WP Rocketi vahemälu/optimeerimist.

  • Kui teie sait on väga pluginate- ja teemakeskne, mõelge “jõudluse optimeerimisest” kui miniprojektist: regressioonitestimine iga muudatuse puhul (vormid, sisselogimised, maksed, mitme keele vahetamine jne).

1.3 Eriline meeldetuletus WooCommerce/Dynamic Site jaoks

WooCommerce'i ametliku dokumentatsiooni põhiline meeldetuletus vahemäluplugina konfigureerimisel on:

Miks? Sest:

  • Tugev sõltuvus ostukorvist, kassast, kontolehest cookie / seanss / nonce
  • Kui vahemälu käsitleb neid lehti “staatiliste lehtedena”, ei tööta nupud ja hinna/varastiku/konto teave läheb segi.
  • Siin on hirmutav osa: ühes piirkonnas võib testimine olla hea, kuid teises piirkonnas võib tekkida probleeme CDN / vahemälu tabamuse erinevuste tõttu!

1.4 Cache Plugin strateegia taseme soovitused

Tase 1: põhilised turvahüvitised (peaaegu kõik jaamad peaksid seda tegema).

  • Lülitage lehekülje vahemälu sisse
  • avabCache eellaadimine(Esimese visiidi stabiilsuse suurendamine)
  • Mõistlik brauseri vahemälupoliitika (WP Rocket/Server/CDN Mõlemat kihti saab rakendada)

Tase 2: Keskmine tasu, keskmine risk (sobib enamikule sisulistele saitidele).

  • Piltide hilinenud laadimine/iframe (pildi optimeerimise lehekülg läheb edasi)
  • CSS-i mahu kontrollimine (nt kasutamata CSS-i eemaldamine)

Tase 3: Kõrge tootlikkus, kuid kõrge risk (peab olema regressioonitesti kontrollnimekiri).

  • Viivitatud JavaScripti täitmine (seab esikohale renderdamise, kuid võib mõjutada interaktsiooni)
  • JS/CSS tihendamine/ühendamine: olge eriti ettevaatlik e-kaubanduse/liikmete/mitmekeelsuse puhul (WooCommerce hoiatab ka JS pakkimise ohu eest

1.5 Hinnad ja load

  • WP Rocket on tasuline litsents, mille erinevad litsentsid sõltuvad saitide arvust.

Plugin 2:LiteSpeed Cache (LSCWP)--Kasutaja “free tops” eelduseks on, et server on tegelikult LiteSpeed.

Paljudel inimestel on LiteSpeed Cache'ist vale ettekujutus: nad arvavad, et see on lihtsalt WordPressi plugin, mida saab paigaldada ja saada kogu võimsus mis tahes hostil nagu WP Rocket. See ei ole nii.

LiteSpeed ametlik dokumentatsioonSelge selgitus: LSCWP vahemälufunktsioon vajab LiteSpeed Serverit, sest see suhtleb LiteSpeed Web Serveri sisseehitatud lehekülgede vahemäluga (LSCache); plugin vastutab selle eest, et serverile öeldakse, milliseid lehekülgi saab vahemällu panna, kui kaua, ja et käivitatakse puhastamine siltidega.

LiteSpeed Cache'i peamine tugevus tuleneb “Server-tasandi lehe vahemälu (LSCache)”. Ilma LiteSpeed/OpenLiteSpeed serveriteta ei ole sellist põhieelist.

2.1 LiteSpeed Cachekelle jaoks

Sobib:

  • Teie hostingupaneel on selgelt märgistatud LiteSpeed / OpenLiteSpeed(nt paljud cPaneli hostid kirjutavad)
  • Sa tahad “tasuta lahendust, mis suudab ka tugevat TTFB-d ja paralleelsust kasutada”.”
  • Te olete valmis nõustuma: see on väga võimas, kuid ka rohkem kontseptuaalne (TTL, Tag, Purge, ESI, Crawler...)

Tegelikult mitte:

  • Sa ei ole kindel, milline veebiserver on host või kinnitades, et see on Nginx/Apache (kui sa ei taha kasutada ainult mõningaid selle eesmise optimeerimise funktsioone, kuid siis ei ole hind/jõudlus ja keerukus tingimata kulutõhus).
  • Teil on keeruline e-kaubanduse/liikmete/mitme keele sait, kuid teil puudub testimisprotsess (LSCWP on tugev, kuid sellega on ka lihtsam “valet sisu vahemällu panna”).

2.2 Selle vahemälumehhanism: miks see on pigem “osa serveri võimsusest”

LiteSpeed Cache'i mehaanika võiks kirjutada “insenerliku selgitusena”:

  • WP Rocket / WP Super Cache See on rohkem WordPress/PHP poolel vahemälu ja optimeerimine;
  • LSCWP See on WordPressi juhtpaneeli + LiteSpeed Serveri sisseehitatud LSCache'i kombinatsioon: plugin vastutab reeglite ja puhastussignaalide väljastamise eest ning tõeline kiire lehekülje vahemälu toimubserveri kiht

Sellel on otsene mõju veebisaidi kasutuskogemusele: serveritasandi sülitamise vahemälu on tavaliselt kergem, kiirem ja samaaegsem (eriti otsingumootori roomikute järskude külastuste ja suure sagedusega külastuste puhul).

2.3 “Õige viis” LSCWP avamiseks veebisaidi kasutusstsenaariumide jaoks”

Oleme jaotanud “õige avamise viisi” 4 tasandile:

Kiht 1: Page Cache Policy (määrab, kas TTFB võib tõesti langeda)

  • Selgitada, milliseid lehekülgi saab vahemällu salvestada (enamik avaliku sisu lehekülgi).
  • Tehke selgeks, milliseid lehekülgi ei tohiks kunagi vahemällu panna (sisselogimine, konto, ostukorv, kassasüsteem, keele/valuuta vahetamise leheküljed, mis tuginevad tugevale cookie-le).
  • Määrake vahemälule mõistlik TTL (mida sagedamini sisu uuendatakse, seda lühem on TTL ja mida pikem on TTL).
  • Looge puhastusstrateegia: puhastage asjaomane tag pärast sisu uuendamist (mitte kogu saidi puhastamine).

See kiht, kui see on õigesti tehtud, on kõige otsesemalt nähtav veebilehel kui TTFB alla, esimene ekraan stabiilsem

Kiht 2: Warm-up/Crawler (määrab “aeglane esimene külastus külmale lehele”)

Levinud “kogemuste ebajärjekindlus” veebisaitidele juurdepääsul tuleneb vahemälu “kuumade/külmade erinevustest”:

  • Populaarsed leheküljed on alati külastatud ja vahemälu on alati kuum.
  • Külmi lehekülgi ei ole ammu klikitud ja esmakordselt klikijad on aeglased

Soojendamine ei ole jäägid tordil, vaid see on veebilehe külastajate järjepideva kogemuse võti.

Kiht 3: Dünaamilise sisu turvaprogrammid (e-kaubandus/liikmed/mitmekeelsus)

LSCWP võimsus seisneb selles, et see annab teile palju “täiustatud tööriistu”, näiteks:

  • Erinevad vahemälustrateegiad sisselogitud kasutajate, kommenteerivate kasutajate jne jaoks.
  • Edge Side Inclusion (ESI) põhiidee on jagada lehekülg "vahemällu salvestatavaks avalikuks kehaks" ja "mittekaitstavateks dünaamilisteks fragmentideks", mida töödeldakse eraldi ja seejärel ühendatakse servasõlmedes.

Tase 4: võrguteenused ja valikulised täiendused

Paljud veebimeistrid leiavad QUIC.cloud veebiteenused (nt lehekülje optimeerimise tüüpi teenused) LSCWPs kasulikuks.QUIC.cloud DokumentatsioonSelgesõnaliselt on kirjas, et ta pakub LSCWP-le lehekülje optimeerimise teenuseid, sealhulgas Critical CSS (CCSS), Unique CSS (UCSS), Viewport Images (VPI) ja muud.

  • Seda tüüpi teenus on vabatahtlik: võite kasutada lihtsalt serveri vahemälu ja mitte lubada veebipõhist optimeerimist.
  • Kui võrguteenused on lubatud, muutuvad teie saidi ressursid/lehe töötlemise lingid (see on oluline teave ettevõtetele/privaatsustundlikele klientidele).

2.4 LSCWP ühine kaevandus

  1. Server ei ole LiteSpeed, vaid kasutab LSCWP-d kui täisfunktsionaalset vahemälu pluginat.
    Tulemus: vahemälu ei ole nii tõhus kui oodatud ja suurendab ka konfiguratsiooni keerukust. Lahendus: Kinnitage esmalt hostide virna; kui ei ole LiteSpeedNäiteks WP Rocket või WP Super Cache.
  2. Liiga paljude optimeerimiste lubamine toob kaasa funktsionaalseid kõrvalekaldeid.
    Lehekülje optimeerimine (CSS/JS) põhjustab sageli tõenäolisemalt ühilduvusprobleeme kui “vahemälu ise”. Ettepanek: käivitage kõigepealt lehekülje vahemälu, seejärel lülitage optimeerimised ükshaaval sisse ja koostage regressioonitestide nimekiri (vormid, menüüd, maksed, jälgimine, keele vahetamine jne).
  3. Dünaamiliste lehekülgede välistamise/liigutamise strateegiate puudumine
    Tüüpilised juhtumid: ostukorv, kassas, konto lehekülg, mis on vahemällu salvestatud; või ebaõige mitme keele/mitme valuuta vahetamine. E-kaubanduse saidid peavad seda kaaluma kui käivitamiseelset kontrolli (ja WooCommerce'i ametnikud rõhutavad seda).Ärge vahemällu võtme leheküljed)。

Plugin 3:WP Super Cache(tasuta) - klassikaline “madala riskiga, kõrge tootlusega” lahendus sisu saitidele.

WP Super Cache Miks on see olnud nii kaua populaarne? Sest see lahendab probleeme väga otsesel, väga “serverisõbralikul” viisil:
Staatiliste HTML-failide genereerimine dünaamilistest WordPressi lehtedestHTML-failid edastatakse seejärel otse veebiserverist, vältides kallist PHP töötlemist.

Plugini lehel mainitakse ka, et: staatiline HTML serveeritakse enamikule sisselogimata kasutajatele ja annab väga intuitiivse avalduse - “99% külastajatele serveeritakse staatilisi HTML-faile”, ja ühte vahemällu salvestatud faili saab serveerida tuhandeid kordi.

3.1 Kellele on WP Super Cache mõeldud?

Väga soovitatav:

  • Blogid, meediasisu saite, dokumendisaite, ettevõtte esitlussaite, maandumislehti
  • Külastajad on peamiselt sisselogimata kasutajad.
  • Sa tahad: tasuta, stabiilne, madalad hoolduskulud

Kasutage ettevaatust/vajalikud tugevamad strateegiad:

  • Tugevalt dünaamiline veebileht: palju personaliseeritud sisu, leheküljed, mis muutuvad vastavalt kasutaja olukorrale.
  • Suur e-kaubandus: see võib toimida, kuid veenduge, et peamised leheküljed ei ole vahemällu salvestatud ja töötavad koos teie testimisprotsessiga.

3.2 Selle kolm vahemälu meetodit:

WP Super Cache plugin kirjeldus loetleb 3 vahemälu meetodit kiiruse järgi ja selgitab erinevusi:

  • mod_rewrite (ekspert): kõige kiirem, täiesti mööda PHP, kuid vaja muuta .htaccess, vale konfiguratsioon võib viia saidi kättesaamatuse risk on suurem!
  • Lihtne (soovitatav lähenemisviis): “Super cached” staatilised failid, mida pakub PHP, mis on mod_rewrite'i kiirusele lähedane, kuid mida on lihtsam konfigureerida.
  • WP-Cache vahemälu: paindlikum tuntud kasutajate, parameetritega URL-ide, tellimuslehtede jne puhul, kuid aeglasem.

Soovitatav valik:

  • Algaja / stabiilsust otsiv: kasutage soovitatud meetodit (lihtne).
  • Te olete tuttav serveri reeglitega ja olete valmis võtma riski nende ümberkirjutamiseks: kaaluge uuesti eksperdimudelit!
  • Sa vajad paindlikumat “Tuntud kasutaja/parameetriga” käitlemist: WP-Cache'i positsiooni mõistmine

3.3 WP Super Cache'i tugevused ja nõrkused

Eelis:

  1. Sobib ideaalselt kasutamiseks koos CDN-ga.
    Kuna tegemist on sisuliselt “staatilise HTML-i genereerimisega”, sobib see loomulikult CDN/edge cache'i ideega.
  2. Lähtejaama CPU/andmebaasi rõhu parandamine on väga lihtne.
    Kui veebisaidi liiklus on hajutatud, võivad otsingumootorid ja sotsiaalmeedia roomajad tulla ka üle kogu maailma. Statiseerimine on tõhus võitlus “uuesti kuvamise” vastu.

Lühike laud:

  1. Tegemist ei ole “kõik-ühes-tulemuslikkuse optimeerimise komplektiga”.”
    See on peamiselt tugev lehe vahemälu ja sügavad CSS/JS-optimeerimised ei ole nii pakendatud kui WP Rocketis. Sa pead võib-olla võtma rohkem “Pildi optimeerimise lehel” ja “Frontend Optimisation Page” (või kasutama teisi plugin/teema tasandi optimeerimisi).
  2. Olge ettevaatlikumad “dünaamilise isikupärastamise” suhtes.
    Näiteks erineva sisu näitamine piirkonna järgi, erinevate hindade/keelte/soovituste näitamine kasutaja staatuse järgi jne. Siinkohal tuleb kas luua välistamispoliitika või võtta kasutusele sobivam vahemäluskeem.

3.4 WooCommerce'i ühilduvus: miks see on “turvalisem”

Ametlik WooCommerce abiMainitud: WooCommerce on algselt ühilduv WP Super Cache'iga ja WooCommerce saadab WP Super Cache'ile sõnumi, et see vaikimisi ei salvesta ostukorvi, kassasse, minu konto lehekülgi.

  • Isegi kui sa oled uus WP Super Cache + WooCommerce, on palju vähem tõenäoline, et sa astud “peamised leheküljed vahemällu” miinile!
  • Siiski on soovitatav teha regressioonitestid enne käivitamist (maksed, kupongid, saatmine, maksumäärad, mitmevääringulisus jne).

Plugin 4:W3 Total Cache (W3TC)--Kõige mitmekülgsem “tulemuslikkuse raamistik” insenertehniliste meeskondade jaoks.

W3 Total Cache WordPress.org on pigem kui “ühe vahemälu plugin”, vaid pigem kui “saidi jõudluse optimeerimise raamistik”: see rõhutab SEO, Core Web Vitals ja üldise kogemuse parandamist CDN integratsiooni ja parimate tavade kaudu. Vitaalid ja üldine kogemus CDN integratsiooni ja parimate tavade abil.

Plugina kirjelduses on loetletud lai valik võimalusi: lehekülje/postituse vahemälu, CSS/JS vahemälu, Feed vahemälu, otsingutulemuste vahemälu, andmebaasi objektide vahemälu, objektide vahemälu, fragmentide vahemälu (fragment cache) ja toetus erinevatele vahemälu meetoditele nagu Redis/Memcached/APC, kuid sisaldab ka mobiilset rühmitamist vahemälu UA/Referreri järgi, AMP tugi, pöördproxy (Nginx/Varnish) integreerimine jne.

4.1 Kellele on W3 Total Cache mõeldud?

Sobib ideaalselt:

  • Sul on arendus-/tööoskused ja sa oled valmis tegema “võimaldamist + survetestimist + regressioonitestimist”.”
  • Teie veebileht on keeruline: mitmekeelsus, mitme teema vahetamine, mobiilne eristamine, keerukas sisustruktuur.
  • Sa ei taha ainult lehekülje vahemälu, sa tahad lisada süsteemi objekti vahemälu/fragmentide vahemälu (eriti dünaamiliste saitide puhul).

See ei sobi:

  • Sa tahad “paigaldada ja minna”, sa ei taha mõista vahemäluhierarhiaid.
  • Teil ei ole testimisprotsessi, kuid te tahate korraga sisse lülitada kõrge riskiga elemendid, nagu tihendamine ja hilinenud skriptid.

4.2 Miks on see “tugev, kuid keeruline”: veebisaitide väärtus “kontrollitavus”.”

W3TC väärtus ei seisne selles, et “see peab olema kiirem kui kõik teised”, vaid selles, et see annab teile piisavalt kontrollnuppe, et töötada välja toimivusstrateegia:

  • Page Cache: võib olla mälus, kettal või CDN-s.
  • Andmebaasi objektide vahemälu, objektide vahemälu: saadaval Redis/Memcached jne.
  • Fragmentide vahemälu: hea “pooldünaamiliste lehekülgede” jaoks
  • Mobiiltelefoni tugi: vahemälu leheküljed vastavalt viitaja või kasutajaagentide grupi järgi
  • CDN haldamine: meediaraamatukogude, teemafailide jne. läbipaistev CDN haldamine.

Need võimalused on eriti väärtuslikud veebisaitide puhul, kus sageli esineb globaalne juurdepääs:

  • Ühe ja sama lehekülje variandid erinevates seadmetes, erinevates piirkondades, erinevates keeltes
  • Osa sisust võib olla vahemällu salvestatud, osa sisust peab olema reaalajas (nt hind, inventar, kasutaja staatus).

4.3 W3TC “Soovituslik võimaldamiskorraldus”

Soovitatav tellimus:

  1. Alustage ainult lehekülje vahemälu lubamisest
    Kontrollida: TTFB ei tööta, sisu on järjepidev, sisselogimise olek/mitmekeelsed/e-kaubanduse võtmeprotsessid toimivad.
  2. Brauseri vahemälu taaskäivitamine
    Eesmärk: muuta korduvkülastused ja staatilised ressursid kiiremaks ja vähendada korduvaid allalaadimisi üle kontinentide.
  3. Objekti vahemälu / andmebaasi objekti vahemälu ümberhindamine
    Kohaldatav: dünaamiline sait (WooCommerce, liikmesuse süsteem, keeruline päring).
    Ei kohaldata: Ainult sisuga jaamad võivad olla piiratud tootlikkusega või isegi suurendada ressursikulu.
  4. Lõplik puudutus Kompressioon / Viivituse skriptimine / Front Endi optimeerimine
    Kuna see on kiht, mis võib kõige tõenäolisemalt põhjustada funktsionaalseid kõrvalekaldeid, tuleb koostada regressioonitestide nimekiri (maksed, vormid, jälgimine, hüpikaknad, menüüd, keele vahetamine jne).

WooCommerce meeldetuletus teemal “Cache Plugin Configuration”: Kriitilisi lehekülgi ei salvestata vahemällu ja on soovitatav vältida JS-failide pakkimist.

Nelja pistikprogrammi võrdlusmaatriks

Märkus: Küsimus ei ole selles, kes on parem, vaid selles, kes sobib paremini teie stsenaariumi jaoks.

mõõde (matemaatika)WP RocketLiteSpeed CacheWP Super CacheW3 Total Cache
põhipositsiooniMeelt säästev integratsioon (vahemälu + optimeerimine)Serveri tasandi vahemälu (tugineb LSCache'ile)Staatiline HTML vahemäluJõudluse raamistik (mitu vahemälukihte + CDN)
peremeespõhineMadal (universaalne)Kõrge (nõuab LiteSpeed/OpenLiteSpeedi toimimist tuumkastina)Madal (universaalne)Keskmine (universaalne, kuid sõltub rohkem keskkonnast/konfigureeritavusest)
Õppekuludmadal-keskmineKeskmineKõrge
Sisu jaama soovitusVäga kõrgeVäga kõrge (eeldusel, et see on täidetud)Väga kõrgeKeskmine-kõrge (sõltuvalt meeskonnast)
E-kaubanduse/liikmete veebilehtKättesaadav, kuid välistada ettevaatusega (WooCommerce'i põhilehed ei ole vahemällu salvestatud)Kättesaadav, kuid rohkem vajadust reeglite/lõikamisstrateegiate järele.on saadaval ja WooCommerce mainib vaikimisi emakeelset ühilduvust ja põhilehtede vahemälu kasutamise puudumistKättesaadav ja sobilik insenerjuhtimiseks
eelarvekatta kuludvabavaravabavaraTasuta + tasuline versioon

“Cache-intsidentide” ja ennetamise kontrollnimekiri

1. Kolm põhjuslikku põhjust, miks “vale sisu” on tingitud vahemälu salvestamisest

A. “Staatiliste” lehekülgede käsitlemine “staatiliste staatiliste lehtedena”.”

Tüüpiline: konto leht, ostukorv, kassaleht on vahemällu salvestatud.WooCommerce Ametnikud on korduvalt rõhutanud Ostukorvi/kassat/kontot ei tohiks vahemällu panna.

B. Mitut keelt/mitut valuutat/piirkonda hõlmavad variandid ei ole õigesti vahemällu salvestatud.

Kui teie sait kuvab erinevat sisu vastavalt cookie, päringuparameetritele ja geograafilisele asukohale, siis peab vahemälu arvestama “variandimõõtmeid”. Vastasel juhul võivad piirkonna A kasutajate loodud vahemälu kasutada uuesti piirkonna B kasutajad.

C. Front-end optimeerimine (JS/CSS) ümberkirjutamine, mis viib funktsionaalsete anomaaliateni.

Eelkõige JS pakkimine, ühendamine ja hilinenud täitmine.JS-faili tihendamise vältimine

2. Käivitamiseelne regressioonitestimise kontrollnimekiri

  • Sisse/välja logimine on normaalne
  • Vormide esitamine (kontaktvorm, tellimus, sisselogimise registreerimine) töötab korralikult
  • E-kaubanduse protsess: ostu lisamine → kupong → saatmine/maksud → maksmine → tellimuse lehekülg
  • Mitmekeelsuse ümberlülitamise stabiilsus (sisu, URL, hreflang, valuuta pärast ümberlülitamist)
  • Mobiilimenüüd, hüpikaknad, kerimine, laisk laadimine töötavad korralikult.
  • Jälgi, kas skriptid on endiselt käivituvad (GA, Meta Pixel, transformatsiooni sündmused).

ühised probleemid

Q1:Miks on ülemeremaade juurdepääs endiselt aeglane, kuigi ma olen paigaldanud vahemäluplugina?

Kõige tavalisem põhjus on see, et te olete lahendanud ainult “dubleeriva renderdamise allikas”, kuid mitte “kontinentidevahelise võrgu latentsuse”.
Caching pluginad võimaldavad serveril sisu kiiremini välja sülitada (TTFB alla), kuid staatilised ressursid (pildid, CSS, JS, fontid) ja RTT globaalsete linkide jaoks peavad ikka olema CDN vahemaa lühendamiseks.
👉 Nii et õige tee on:Tehke esmalt lähtejaama vahemälu stabiilseks.Ja siis CDN ülemaailmseks levitamiseks.

K2: Miks ei uuenda sisu pärast seda, kui ma seda pärast vahemälu salvestamist muudan?

Sest te näete “vana vahemälu”. Lahenduse idee:

  • Loo puhastusstrateegia: puhasta vastav vahemälu pärast artiklite/lehtede uuendamist (kogu saidi hõlmava puhastamise asemel).
  • Stsenaariumite puhul, kus on soojendus-/ roomikud: puhastage ja seejärel soojendage, vastasel juhul on esimene külastus aeglane.
  • CDN puhul: tuleb arvestada, et CDN servad võivad ka vanu ressursse vahemällu panna.

3. küsimus: Kas ma saan WP Rocket + WP Super Cache'i korraga paigaldada?

Ei soovitata. Üks lehekülje vahemälu plugin korraga on kõige stabiilsem. Võite mõista ideed “üks vahemälu salvestamiseks ja üks optimeerimiseks” kui “tööjaotust”, kuid tegelikkuses puutuvad nad sageli kokku lehekülje vahemälu/ressursi ümberkirjutamisega ja konflikti tõenäosus on suur. Soovitatavam on valida “peamine vahemälu plugin”, muud vajadused selgemalt ühe vahendiga täita.

4. küsimus: Kas vahemälu kasutamine e-kaubanduse saitidel ei ole ohtlik?

See ei ole ohtlik, ohtlik on “reeglite puudumine”.WooCommerce soovitusedSee on väga selge: ostukorv/kassad/kontod ei ole vahemällu salvestatud ja JS-i tihendamist välditakse.
Lisaks mainib WooCommerce ka, et see töötab koos WP Super Cache Native ühilduvusja vältida vaikimisi kriitiliste lehekülgede vahemälu salvestamist.
Seega saab e-kaubanduse saidi vahemällu panna, kuid seda tuleb testida “live-muutusena”.

K5: Kas ma peaksin valima LiteSpeed Cache või WP Rocket?

  • Kas olete kindel, et vastuvõtja on LiteSpeed/OpenLiteSpeed?: Prioriteetne LiteSpeed Cache (tasuta ja tugev, mille põhilised eelised tulenevad serveritasandi LSCache'ist)
  • Sa ei ole kindel hostingupaketi osas / sa ei taha teha kompromisse / sa tahad integreerida ja säästa.: WP Rocket on stabiilsem
  • Te olete sisuga sait ja olete eelarvetundlik: WP Super Cache on stabiilsem ja kergem.

Cache plug-in koos CDN-ga

Caching plugin lahendab probleemi “vähem loendavad lähtejaamad ja madalam TTFB”; CDN lahendab probleemi “staatilised ressursid ja leheküljed globaalsetele kasutajatele lähemal”. Nende kahe koosmõju on globaalse juurdepääsu jaoks ühine optimaalne lahendus.

  • Ühine sisu jaamade kombinatsioon:Lehekülje vahemälu + CDN staatiline jaotamine
  • Dünaamiliste jaamade tavalised kombinatsioonid:Page Cache (tihe välistamise kontroll) + Object Cache (nõudmisel) + CDN staatiline jaotamine

👉 Loe:CDN kiirendus (globaalne sõlme- ja vahemälupoliitika)

Soovitatavad kombinatsioonid veebisaidi vahemälu salvestamiseks

1. Sisu sait / blogi / dokumendisait

Eesmärk: Vähendada TTFB, muuta esimene ekraan stabiilsemaks, vähendada serveri survet, töötada koos CDN-ga globaalseks levitamiseks.

1.1 Kõige probleemideta ärisegu

  • WP Rocket (lehekülje vahemälu + eellaadimine + front-end optimeerimine)
    • CDN (mine CDN lehekülje juttu)

Kohaldatav:

  • Sa tahad “madalat seadistust, kiireid tulemusi, madalat riski”.”
  • Teemad/pluginid hulgaliselt, soovite vähendada ühilduvust viskamine ümber

Tähelepanu punktid:

  • Front-end optimeerimine (eriti JS latency) on lubatud järk-järgult, et vältida funktsionaalseid anomaaliaid (menüüd, vormid, jälgimine jne).
  • Sagedase läbivaatamise/postitamise saitidel peaks olema “puhastamise + soojendamise” strateegia, sest muidu on esimene külastus külmadele lehekülgedele aeglane.

1.2 Vabad ja stabiilsed klassikalised kombinatsioonid

  • WP Super Cache (staatiline HTML vahemälu): Dünaamilistest lehtedest staatilise HTML-i genereerimine, peamiselt registreerimata kasutajatele.

Kohaldatav:

  • Eelarve on tundlik, kuid stabiilne
  • Külastajad põhimõtteliselt ei logi sisse
  • Sisu uuendamise kontrollitud tempo

Tähelepanu punktid:

  • See on kombinatsioon “lehtede vahemälu esimesena”, ärge oodake, et see lahendab kõik CSS/JS-i keerukused teel!

2. Ettevõtte veebileht / kaubamärgi veebileht / maandumisleht

Eesmärk: Olge kiire, kuid mis veelgi tähtsam, “ärge murdke konversioonilinki optimeerimise tõttu”.

2.1 Robustne ja kontrollitav (soovitatav ülemaailmne paigutus/konversioonijaam)

  • WP Rocket
  • + (valikuline) kerge pildi optimeerimine (teil on lehekülg “Pildi optimeerimine”)
    • CDN

Miks see on hea konverteerimisjaamade jaoks:

  • Konverteerivad saidid kardavad, et “vormid/popupid/jälgimisskriptid lähevad optimeerimise tõttu segi”.”
  • WP Rocket on rohkem “integreeritud” selles mõttes, et saate lubada ja regressiivselt testida süsteemi iga elementi.

Ettevõtte veebisaidi “on-line-põhimõte”:

  • Tulemuslikkuse optimeerimine on “käivitusmuutus” ja sellel peab olema regressioonitesti kontrollnimekiri.
  • Kõiki JS-viivitust/ühendamist/kompressiooni puudutavaid seadeid tuleks enne live-käivitamist kontrollida väljalaskmiseelses keskkonnas!

3. WooCommerce e-kaubanduse sait (tellimused + dünaamiline lehekülje turvalisus)

Eesmärk: Oluline on olla kiire, kuid ka tagada, et ostukorv, kassasüsteem ja kontoleht oleksid täiesti korrektsed.

WooCommerce'i ametlikes punktsioonides on vahemäluplugin väga selge:Ostukorvi / kassasse / konto leht ei ole vahemäluSamuti on soovitatav vältida JavaScript-failide pakkimist, et vähendada ühilduvusprobleeme.

3.1 Vabad ja turvalised marsruudid, mis on “algaja-sõbralikumad”.

  • WP Super Cache + WooCommerce
    • CDN

Miks on see loetletud kui “turvalisem koht, kust alustada”:

  • WooCommerce mainib ametlikult, et see on algselt ühilduv WP Super Cache'iga ja teatab WP Super Cache'ile, et ta ei vahemällu võtmelehti nagu ostukorv/kaart/kontod vaikimisi.
  • E-kaubanduses alustavate saitide puhul on “kõigepealt ei juhtu õnnetusi” olulisem kui “äärmuslik jõudlus”.

3.2 Kui kasutate LiteSpeed host'i (tasuta, kuid võimas)

  • LiteSpeed Cache (peab olema LiteSpeed/OpenLiteSpeed host, et kasutada ära tuumserveri vahemälu)
  • + (valikuline) objektide vahemälu (Redis/Memcached, sõltuvalt hosteri võimsusest ja saidi suurusest)
    • CDN

Kohaldatav:

  • Hosti korstnat on selge ja te olete valmis kehtestama vahemälureeglid ja välistamispõhimõtted.
  • Tellimuste ja kaupade maht on suur ning surve kandmiseks on vaja tugevamat lähtejaama.

3.3 Projekteeritud meeskonnad/kompleksne e-kaubandus (mitme mooduliga kontrollitav)

  • W3 Total Cache (jõudluse raamistik, multi-cache kiht integreeritud CDN-ga)
    • Objektide vahemälu (nõudmisel)
    • CDN

Kohaldatav:

  • Dev/Ops'i abil saate kasutada “Mooduli samm-sammult kasutuselevõtu + survetestimise + regressioonitestimise”.
  • Vajadus fragmentide vahemälu järele / strateegia keerulisemad variandid (nt peene vahemälu seadme/piirkonna/keele kaupa).

4. Liikmelehekülg / kogukond / veebikursused (palju sisselogimisi, tugev personaliseerimine)

Eesmärk: Teha avalik sisu kiireks, tagades samal ajal, et “sisselogitud kasutaja sisu ei seotaks”.

4.1 Säästa, kuid vaja on rangeid välistamisstrateegiaid

  • WP Rocket
  • + (valikuline) objektide vahemälu (kui dünaamilisi päringuid on palju)
    • CDN

Põhipunktid:

  • Peate välistama vahemälu kasutamise leheküljed: Isiklik keskus, Tellimused, Õppimise edenemine, Sõnumid, Ostukorv ja nii edasi.
  • Seda tüüpi saidid on kõige altimad “teiste inimeste sisu nägemisele/vale lubade andmisele” ning riskid tuleks lehel selgelt välja tuua.

4.2 LiteSpeed Hosting + täiustatud poliitika

  • LiteSpeed Cache (serveri vahemälu + keerukamad poliitikavahendid)
  • + (nõudmisel) objektide vahemälu salvestamine
    • CDN

Põhipunktid:

  • Liikmelisuse saitidel on vaja pigem “vahemälu kasutatav keha + mittekaitstav fragment” mentaliteeti.
  • Soojendus- ja puhastusstrateegiaid tuleb täiustada, vastasel juhul on “kasutajad näevad pärast uuendamist ikka veel vana sisu” väga sagedane nähtus.

Veebipõhine vahemälu “Demineerimisraamat”

Juhtum 1: Paigaldatud vahemälu plugin, kiirus on peaaegu muutumatu

Fenomen:

  • Kohalikud/piirkonnaülesed kiirused OK, välismaised (kontinentidevahelised) ikka veel aeglased.
  • TTFB on paranenud, kuid üldine laadimisaeg ei ole oluliselt vähenenud.

Ühised põhjused:

  • Teete ainult allikate vahemälu (TTFB), kuid staatilised ressursid (pildid/JS/CSS/fonts) laaditakse endiselt allikast üle kontinentide.
  • Kolmandate osapoolte skriptid (reklaamid, chat, statistika) aeglustavad renderdamist ja interaktsiooni.
  • aeglane allalaadimine suurte piltide tõttu (vahemälu ei lahenda “esimese allalaadimise” suuruse probleemi).

Lahenduse idee:

  • Cache plugin hoolitseb esmalt “allika alahindamise + tabamuste” eest.”
  • Staatilised ressursid lähevad CDN
  • Pildi ära pildi optimeerimine
  • Kolmandate osapoolte skriptid teevad viivituse / jagatud strateegiad

Lugemine:


Juhtum 2: Pärast vahemälu aktiveerimist muudetakse lehte, kuid otsene osa ei ole uuendatud.

Fenomen:

  • Sisu/stiil on uuendatud backendis ja vana versioon kuvatakse endiselt frontendis.
  • Või ajakohastatakse ainult mõned piirkonnad ja teised jäävad samaks (tavaline globaalsete jaamade puhul).

Ühised põhjused:

  • Lehekülje vahemälu ei ole tühjendatud või on tühjendatud vales ulatuses
  • Soojendus / roomik ei tööta, puhastatud vahemälu muutub külmaks, mille tulemuseks on aeglane esimene külastus, samas kui te ekslikult arvate, et värskendust ei ole olemas
  • Kui te lubate CDN serva vahemälu, võib serv säilitada ka vanu ressursse.

Lahenduse idee:

  • Looge “puhastusstrateegia pärast avaldamist/ümberehitust”: puhastage asjaomased leheküljed, mitte kogu saiti hõlmav kõva puhastus.
  • Looge tähtsate lehekülgede (koduleht, põhilised maandumislehed) jaoks soojendusstrateegia, et vältida “puhastamist = aeglustamist”.”
  • CDN Kiht servade puhastamiseks, kui see on vajalik

Juhtum 3: Vääristatud sisu pärast mitme keele/mitme valuuta vahetamist

Fenomen:

  • Pärast keele vahetamist näitab leht endiselt eelmist keelt
  • Või näevad teatud piirkondade kasutajad vale valuutat/väära sisu.

Ühised põhjused:

  • Vahemälu ei tee vahet “variandimõõtmete” (cookie / parameetrid / keele eesliited / alamdomeenid) vahel.
  • Cache Hit annab keele A lehe tulemused keele B kasutajatele

Lahenduse idee:

  • Määrake oma mitmekeelne programm: kataloogid/alldomeenid/parameetrid/cookie
  • “Variantide poliitikate” lisamine vahemälureeglitele või võtmelehtede väljajätmine
  • Mõned saidid nõuavad rohkem arenenud “viiluta ja noppige” vahemälu ideid (W3TC sobib paremini insenerikontrolliks).

Juhtum 4: Probleemid ostukorviga/kaardiga e-kaubanduse saidil, kus on lubatud vahemälu salvestamine

Fenomen:

  • Ostukorvi vale kogus, vale hind, kassanupp ei tööta
  • Sisenemine ja sisu nägemine, mis ei kuulu teile (tõsiselt)

Ühised põhjused:

  • Kriitilised leheküljed, nagu ostukorv/kassa/ minu konto, on vahemällu salvestatud.
  • JS minify/merge põhjustab makse/dünaamilise komponendi ühildamatust

Lahenduse idee:

  • WooCommerce on ametlik: ostukorvi/kaarti/kontosid ei tohiks vahemällu salvestada ja JS-faili pakkimist on soovitatav vältida.
  • Esmalt käivitage “page cache + exclude”, seejärel kaaluge front-end optimeerimist.
  • Kui kasutate WP Super Cache'i, mainib WooCommerce, et see on natiivselt ühilduv ja väldib vaikimisi peamiste lehekülgede vahemälu.

Juhtum 5: Menüü/vorm/avakuva on katki pärast “Delay JS/Merge Scripts” lubamist.

Fenomen:

  • Navigatsioonimenüü ei avane
  • Vormi valideerimine ebaõnnestus või seda ei saanud esitada
  • Popup/Rollup erand
  • Stats/konversioonisündmused ei käivitu (suurim valu käivitamise saitidel)

Ühised põhjused:

  • Edasilükatud JS muudab skriptide täitmise ajastust: skripte ei käivitata enne, kui kasutaja nendega interakteerub, ja mõned komponendid tuginevad “initsialiseeri lehekülje laadimisel”.”
  • Skriptide ühendamine/pakkimine võib muuta skriptide järjekorda või rikkuda sõltuvusi.

WP Rocket kirjeldab ametlikult “edasilükatud JS-täitmist” kui ühte oma tugevamat JS-optimeerimist: skriptid lükatakse edasi kuni pärast kasutaja interaktsiooni, et seada lehe renderdamine prioriteediks. See on suurepärane võimalus, kuid see tähendab ka suuremat ühilduvusriski.

Lahenduse idee:

  • Lubage etapiviisiliselt: vahemälu, siis pildid, siis CSS, siis JS.
  • Lisage võtmeskriptidele (maksed, vormid, menüüd, jälgimine) erandid.
  • Tehke regressioonitesti kontrollnimekiri iga muudatuse kohta.

Juhtum 6: Ainult LiteSpeed Cache on paigaldatud, kuid tundub, et see ei tööta.

Fenomen:

  • LiteSpeed Cache on sisse lülitatud, kuid TTFB ei lange palju.
  • Ka tabamused ei ole ilmselged

Ühised põhjused:

  • Teie server ei ole LiteSpeed/OpenLiteSpeed ja ei saa kasutada LSCache'i põhifunktsioone.
  • Või äkki sa aktiveerisid selle jaoks hulga optimeerimisi, kuid “lehekülje vahemälupoliitika/eelsoojendamine/väljajätmine” ei olnud loodud!

Lahenduse idee:

  • Kontrollige esmalt host stack: kas see on LiteSpeed/OpenLiteSpeed (see on eelduseks).
  • Keskendumine taas “lehekülje vahemälustrateegia + soojendamine + tõrkeotsing + koristamine”
  • Kui ei ole LiteSpeed host: kaaluge WP Rocket või WP Super Cache