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-ի կարգավորումներ. Ինչպե՞ս ընտրել ներդրման տեսակը: Իմ խնդիրների լուծման փորձը և փրկարար խորհուրդները

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

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

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

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

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

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

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

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

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

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

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

Օգտագործեք «ասինխրոն»՝ ոչ արգելափակման համար(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-ը՝ համեմատելու համար բեռնման արագությունը մինչև և հետո։ Թող տվյալները խոսեն իրենց մասին, այլ ոչ թե միայն ձեր ներքին զգացողությունը։

Գրեք վերջում

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

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

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

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

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

Բարի գալուստ՝ կիսելու այս հոդվածի հղումը.https://www.chenweiliang.com/cwl-34003.html

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

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

 

发表 评论

Ձեր էլփոստի հասցեն չի հրապարակվի: Օգտագործվում են պահանջվող դաշտերը * Պիտակ

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