W3 Total Cache Minify Plugin-ի կարգավորումներ. Ինչպե՞ս ընտրել ներդրման տեսակը: Իմ խնդիրների լուծման փորձը և փրկարար խորհուրդները

Դժվարանում եք ընտրել W3 Total Cache Minify-ի համար ճիշտ ներդրման տեսակը: Այս հոդվածը ներկայացնում է վեբմաստերի իրական աշխարհի փորձը և տրամադրում է քայլ առ քայլ ուղեցույց՝ Minify ներդրման ճիշտ տեսակը ճշգրիտ ընտրելու համար՝ խուսափելով կայքի ոճային անհաջողություններից և բեռնման խափանումներից: Այն նաև ներառում է անթերի կարգավորման լուծում, որը նույնիսկ սկսնակները կարող են հեշտությամբ կիրառել՝ ապահովելով WordPress-ի սահուն և արագ փորձ:

Ես կայք էի օպտիմալացնում, և երբ W3 Total Cache-ում բացեցի Minify կարգավորումները, ամբողջովին ապշեցի։ Ներդրված տիպի համար ցանկում կար չորս տարբերակ՝ Default (Block), Use JS for Non-Blocking, Use "Asynchronous" for Non-Blocking, և Use "Delayed" for Non-Blocking։

Մի պահ մտածեցի՝ ի՞նչ է այս ամենը։

Հավատացեք ինձ, դուք միայնակ չեք։ Այս չորս տարբերակները, հավանաբար, շփոթության մեջ կթողնեն նույնիսկ սկսնակին, առավել ևս՝ նրանց, ովքեր տարիներ շարունակ օգտագործել են WordPress-ը։ Այս հոդվածը ներկայացնում է այն թերությունները, որոնց ես հանդիպել եմ և դասերը, որոնք ես անմիջապես քաղել եմ։ Ձեզ անհրաժեշտ չէ դիմել փաստաթղթերին. պարզապես հետևեք իմ հրահանգներին։

Որո՞նք են այս չորս ներդրման տեսակները։

W3 Total Cache Minify Plugin-ի կարգավորումներ. Ինչպե՞ս ընտրել ներդրման տեսակը: Իմ խնդիրների լուծման փորձը և փրկարար խորհուրդները

Նախ խոսենք այն մասին, թե ինչպիսի կերպարներ են այս չորս տարբերակները։

Լռելյայն արգելափակումը ամենապարզ մոտեցումն է: Երբ զննարկիչը հանդիպում է սկրիպտի, այն կանգնեցնում է, ներբեռնում և ամբողջությամբ կատարում սկրիպտը, ապա շարունակում է էջը ցուցադրելը: Հուսալի է հնչում, այնպես չէ՞: Բայց փոխզիջումն այն է, որ ձեր սկզբնական էջի բեռնումը կուշանա. օգտատերերը ստիպված կլինեն սպասել, մինչև սկրիպտի աշխատանքն ավարտվի, նախքան որևէ բան տեսնելը:

JavaScript-ի օգտագործումը չարգելափակելու համար բավականին հետաքրքիր է: Էջի վրա `<script>` թեգեր ուղղակիորեն գրելու փոխարեն, այն նախ արտածում է մի փոքր սկրիպտ, ապա էջի գործարկումից հետո JavaScript-ի միջոցով դինամիկ կերպով ներարկում է անհրաժեշտ սկրիպտները էջի մեջ: Այս կերպ, էջը կարող է առաջինը ցուցադրվել, և սկրիպտները բեռնվում են աստիճանաբար: Հիանալի է հնչում, այնպես չէ՞: Այնուամենայնիվ, խնդիրն այն է, որ այս դինամիկ ներարկման գործընթացը կարող է խաթարել սկրիպտների սկզբնական կատարման հերթականությունը: Եթե ձեր էջի որոշ սկրիպտներ մեծապես կախված են կատարման հերթականությունից, կարող են խնդիրներ առաջանալ:

«Ասինխրոն» օգտագործումը ոչ արգելափակող կատարման համար պարզապես ենթադրում է `async` ատրիբուտի ավելացում `<script>` թեգին: Սկրիպտը կներբեռնվի ասինխրոն ֆոնային ռեժիմով և կկատարվի ավարտից անմիջապես հետո՝ առանց էջի սպասելու: Սակայն, թերությունն այն է, որ կատարման հերթականությունը լիովին անվերահսկելի է. առաջինը կատարված ներբեռնումները կատարվում են՝ անկախ կոդում նշված հերթականությունից:

«Delay»-ի օգտագործումը չարգելափակող կատարման համար իրականացվում է `defer` ատրիբուտի ավելացմամբ: Սկրիպտը կսպասի մինչև ամբողջ էջը վերլուծվի, նախքան կատարելը, և ամենակարևորը՝ այն կպահպանի այն սկզբնական հերթականությունը, որով դուք այն գրել եք: Սա բավականին հարմար է օգտագործողի համար, քանի որ այն ո՛չ արգելափակում է առաջին էկրանը, ո՛չ էլ խախտում է սկրիպտի հերթականությունը:

Ո՞րը պետք է ընտրեմ։

Պարզ ասած, այս չորս տարբերակները նման են բազմակի ընտրության հարցի. արագությո՞ւն եք ուզում, թե՞ հերթականություն։

Իմ առաջարկը հետևյալն է.

Եթե ​​ձեր կայքը փոքր է, քիչ սկրիպտներ ունի, և դուք չունեք բեռնման արագության չափազանց բարձր պահանջներ, լռելյայն (արգելափակված) կարգավորումն օգտագործելը ամենահեշտ տարբերակն է: Չնայած այն մի փոքր ավելի դանդաղ է, այն որևէ խնդիր չի առաջացնի:

Եթե ​​ցանկանում եք բարելավել առաջին էկրանի արագությունը, և ձեր սկրիպտները չունեն ուժեղ կախվածություններ, ինչպիսին է «A-ն պետք է կատարվի B-ից առաջ», առաջնահերթություն տվեք «defer»-ի օգտագործմանը՝ չարգելափակող կատարման համար : Սա գրեթե իդեալական լուծում է ներկայումս, քանի որ այն խուսափում է մատուցման արգելափակումից՝ պահպանելով կատարման հերթականությունը:

Եթե ​​որոշ ֆունկցիաներ դեռևս խնդիրներ ունեն հետաձգումը փորձելուց հետո, ապա խորհուրդ է տրվում օգտագործել JavaScript-ը չարգելափակելու համար ։ Այս մոտեցումն ավելի ագրեսիվ է, բայց դրա համատեղելիությունը մի փոքր ավելի վատ է։

«Async»-ի օգտագործումը ոչ արգելափակման համար այն տարբերակն է, որը ես ամենաքիչն եմ խորհուրդ տալիս: Քանի որ կատարման հերթականությունը լիովին խճճված է, այն հեշտ է խափանել, եթե դուք լիովին վստահ չեք, որ ձեր սկրիպտները աշխատում են անկախ:

Երկու մեծ թակարդ, որոնց մեջ ես ընկա

Խոսակցությունը էժան է։ Ես գրի եմ առել իմ թույլ տված երկու սխալը. դուք կարող եք դրանք համեմատել ձեր սեփական փորձի հետ՝ տեսնելու համար, թե արդյոք կարող եք խուսափել դրանցից։

Առաջին թակարդը. WordPress-ի հատուկ թեմաները հնարավոր չէ նախադիտել իրական ժամանակում։

Որոշ ժամանակ, թեման հարմարեցնելիս, «Պահպանել» կոճակը սեղմելուց հետո, նախադիտումը չէր թարմացվում։ Ես որոշ փոփոխություններ էի անում, թարմացնում էի էջը, և այն դեռ նույնն էր մնում։

Որոշակի հետաքննությունից հետո ես պարզեցի, որ մեղավորը Minify-ի սեղմման ֆունկցիան էր։ Լուծումը պարզ է.

Անցեք W3 Total Cache հավելվածի ընդհանուր կարգավորումներ , գտեք «Սեղմում» տարբերակը և հանեք այն նշումը: Այնուհետև սեղմեք վերին աջ անկյունում գտնվող «Պահպանել կարգավորումները» ստորև գտնվող փոքրիկ սլաքը և ընտրեք « Պահպանել կարգավորումները և մաքրել քեշը »: Այս քայլը կարևոր է. քեշը մաքրելու դեպքում դուք դեռ կտեսնեք հին տարբերակը:

Ավարտելուց հետո վերադարձեք թեմայի անհատականացմանը, և ուղիղ նախադիտումը կվերադառնա սովորականի պես։

Երկրորդ խնդիրը. Astra թեմայի որոնման դաշտը չի արձագանքում սեղմելիս։

Ես այս խնդրին բախվեցի բավականին վաղուց։ Ես օգտագործում էի Astra թեման, և մի օր հանկարծ նկատեցի, որ որոնման դաշտը չէր արձագանքում անկախ նրանից, թե ինչպես էի սեղմում դրա վրա։ Սկզբում կարծեցի, որ խնդիրը թեմայի մեջ է, բայց ավելի ուշ պարզեցի, որ այն առաջացել է W3TC-ի Minify կարգավորումներից։

Լուծումը հետևյալն է.

Անցեք W3 Total Cache → General Settings → Advanced Compression Settings → JS → Minify Engine Settings → Locale Settings և փոխեք ներդրման տեսակը այս երկուսից մեկով՝

  1. Նախկինում արգելափակումից զերծ մնալը հնարավոր էր դառնում JavaScript-ի միջոցով։
  2. Այնուհետև օգտագործեք JS՝ չարգելափակելու համար

Նմանապես, քեշի մաքրումը և էջը թարմացնելը թույլ կտա որոնման դաշտին ճիշտ աշխատել։

Ինչ վերաբերում է նրան, թե ինչու են ընտրվել այս երկու տարբերակները մյուսների փոխարեն, ես որոշակի ուսումնասիրություն եմ կատարել: Պարզ ասած, Astra թեմայի առջևի մասերը բավականին զգայուն են սկրիպտի կատարման ժամանակացույցի նկատմամբ, և որոշակի չարգելափակող մեթոդներ կարող են հանգեցնել իրադարձությունների կապման ձախողմանը: «Չարգելափակող JS-ով» ռեժիմի օգտագործումը ապահովում է, որ սկրիպտը կատարվի միայն էջի բեռնումն ավարտվելուց հետո, միաժամանակ խուսափելով async-ի դեպքում նկատվող անկարգ կատարումից:

Այցելելու վայրերի ցանկ

Վերջապես, ահա ստուգաթերթիկ, որին կարող եք անմիջապես հետևել.

Առաջին քայլը ձեր նպատակը պարզաբանելն է: Արդյո՞ք ցանկանում եք ամենաարագ սկզբնական էջի բեռնումը, թե՞ առաջնահերթություն եք տալիս կայունությանը և սխալներից զերծ աշխատանքին: Սա կորոշի, թե ներդրման որ տեսակը պետք է օգտագործեք:

Երկրորդ քայլը ամեն ինչ միանգամից չփոխելն է։ Նախ, գտեք ավելի քիչ կարևոր էջ՝ այն փորձարկելու համար, դիտարկեք այն մեկ կամ երկու օր, և այն ամբողջ կայքում տարածեք միայն այն դեպքում, եթե վստահ եք, որ խնդիրներ չկան։

Երրորդ, միշտ մաքրեք քեշը յուրաքանչյուր փոփոխությունից հետո: W3TC-ի քեշավորման մեխանիզմը կխանգարի ձեզ տեսնել վերջին փոփոխությունները, ուստի «մաքրել քեշը և կրկին ստուգել» քայլը բացարձակապես անհրաժեշտ է:

Չորրորդ, օգտագործեք ձեր զննարկչի մշակողի գործիքները կամ այնպիսի գործիքներ, ինչպիսին է PageSpeed ​​Insights-ը՝ համեմատելու համար բեռնման արագությունը մինչև և հետո։ Թող տվյալները խոսեն իրենց մասին, այլ ոչ թե միայն ձեր ներքին զգացողությունը։

Գրեք վերջում

Անկեղծ ասած, երբ առաջին անգամ տեսա ներդրված տառատեսակի այս կարգավորումը, երկար ժամանակ ապշած էի։ Լռելյայն արգելափակման ռեժիմը թվում էր չափազանց դանդաղ, մինչդեռ ասինխրոն ռեժիմը չէր երաշխավորում հերթականությունը, և հետաձգումը կարող էր համատեղելիության խնդիրներ առաջացնել։ Ես անվստահ էի, թե որ տարբերակն ընտրել։

Բայց ավելի ուշ հասկացա, որ դա փոխզիջում է։ Դուք չեք կարող ունենալ և՛ ամենաարագը, և՛ ամենակայունը. միշտ պետք է զոհաբերել մեկը։ Իմ փորձը ցույց է տալիս, որ նախ օգտագործում եմ հետաձգումը, որն այժմ ամենաապահով ոչ արգելափակող լուծումն է, իսկ հետո՝ հետկանչի գործառույթը, եթե խնդիրներ են առաջանում։

Եթե ​​նմանատիպ խնդիրների հանդիպեք, կամ եթե իմ մեթոդը կիրառելուց հետո դեռ այլ խնդիրներ ունեք, մի հապաղեք քննարկել դրանք։ Կայքերի մշակումը հիմնված է փորձի և սխալի վրա. ոչ ոք բացառություն չէ։

Շնորհակալություն եմ հայտնում իմ հոդվածը կարդալու համար։ Կհանդիպենք հաջորդ անգամ։

Հուսով եմ, որ Չեն Վեյլիանգի բլոգում ( https://www.chenweiliang.com/ ) տեղադրված «W3 Total Cache Minify Plugin Settings: How to Choose the Embedding Type: My Tips and Lifespan Advice» հոդվածը օգտակար կլինի ձեզ համար։

Ազատորեն կիսվեք այս հոդվածի հղումով՝ https://www.chenweiliang.com/cwl-34003.html

Ավելի շատ թաքնված հնարքներ բացահայտելու համար🔑, միացեք մեր Telegram ալիքին։

Տարածեք և հավանեք, եթե ձեզ դուր եկավ: Ձեր կիսումներն ու հավանումները մեր շարունակական շարժառիթն են:

 

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Ոլորել դեպի սկիզբ