W3 Total Cache Minify плагининин жөндөөлөрү: Кыстаруу түрүн кантип тандоо керек? Менин көйгөйлөрдү чечүү тажрыйбам жана өмүрдү сактап калуучу кеңештерим

W3 Total Cache Minify үчүн туура киргизүү түрүн тандоодо кыйналып жатасызбы? Бул макалада веб-мастердин реалдуу дүйнөдөгү тажрыйбасы баяндалат жана веб-сайттын стилиндеги кырсыктардан жана жүктөөнүн бузулушунан сактануу үчүн туура Minify киргизүү түрүн так тандоо боюнча этап-этабы менен көрсөтмө берилет. Ошондой эле, ал жаңы баштагандар да оңой колдоно ала турган кемчиликсиз орнотуу чечимин камтыйт, бул WordPressтин жылмакай жана тез тажрыйбасын камсыз кылат !

Мен веб-сайтты оптималдаштырып жатып, W3 Total Cache'те Minify жөндөөлөрүн ачканда, таптакыр таң калдым. Кыстарылган түр үчүн ачылуучу менюда төрт параметр бар болчу: Демейки (Блок), Блоктобогон үчүн JS колдонуу, Блоктобогон үчүн "Асинхрондуу" колдонуу жана Блоктобогон үчүн "Кечиктирилген" колдонуу.

Бир аз ойлонуп калдым, мунун баары эмне жөнүндө?

Ишенип коюңуз, сиз жалгыз эмессиз. Бул төрт вариант жаңыдан баштагандарды да, WordPressти көп жылдардан бери колдонуп келе жаткандарды да таң калтырышы мүмкүн. Бул макалада мен туш болгон кыйынчылыктар жана түздөн-түз алган сабактар ​​келтирилген. Документацияны карап чыгуунун кажети жок; жөн гана менин көрсөтмөлөрүмдү аткарыңыз.

Бул төрт киргизүү түрү так кайсылар?

W3 Total Cache Minify плагининин жөндөөлөрү: Кыстаруу түрүн кантип тандоо керек? Менин көйгөйлөрдү чечүү тажрыйбам жана өмүрдү сактап калуучу кеңештерим

Келгиле, алгач бул төрт вариант кандай мүнөздө экени жөнүндө сүйлөшөлү.

Демейки шартта бөгөттөө эң жөнөкөй ыкма. Браузер скриптти көргөндө, ал токтоп, скриптти толугу менен жүктөп алып, аткарат, андан кийин баракты көрсөтүүнү улантат. Ишенимдүү угулат, туурабы? Бирок, эң негизгиси, баштапкы баракча жүктөлүшү кечигип калат; колдонуучулар бир нерсени көрө алганга чейин скрипттин иштешин күтүшү керек болот.

JavaScriptти бөгөттөбөө үчүн колдонуу абдан кызыктуу. Баракка түз `<script>` тегдерин жазуунун ордуна, ал алгач кичинекей скриптти чыгарат, андан кийин барак иштеп баштагандан кийин JavaScript аркылуу керектүү скрипттерди баракка динамикалык түрдө киргизет. Ошентип, барак алгач көрсөтүлөт жана скрипттер акырындык менен жүктөлөт. Сонун угулат, туурабы? Бирок, көйгөй бул динамикалык киргизүү процесси скрипттердин баштапкы аткаруу тартибин бузушу мүмкүн экендигинде. Эгерде сиздин баракчаңыздагы кээ бир скрипттер аткаруу тартибине абдан көз каранды болсо, көйгөйлөр жаралышы мүмкүн.

Блоктобогон аткаруу үчүн "асинхрондуу" функциясын колдонуу жөн гана `<script>` тегине `async` атрибутун кошууну камтыйт. Скрипт фондо асинхрондуу түрдө жүктөлүп алынат жана барак күтпөстөн, аяктагандан кийин дароо аткарылат. Бирок, кемчилиги - аткаруу тартиби толугу менен башкарылбайт; биринчи жүктөлүп алынган нерсе, коддо көрсөтүлгөн тартипке карабастан, аткарылат.

Бөгөттөөсүз аткаруу үчүн "кечигүүнү" колдонуу `defer` атрибутун кошуу менен ишке ашат. Скрипт аткарылардан мурун бүтүндөй баракча талданганга чейин күтөт жана эң негизгиси, ал сиз аны жазган баштапкы тартипти сактайт. Бул колдонуучуга абдан ыңгайлуу, анткени ал биринчи экранды бөгөттөй албайт жана скрипттин тартибин бузбайт.

Кайсынысын тандашым керек?

Жөнөкөй сөз менен айтканда, бул төрт вариант бир нече жоопту тандоодон турган суроо сыяктуу: сизге ылдамдык керекпи же тартип керекпи?

Менин сунушум төмөнкүдөй:

Эгер веб-сайтыңыз кичинекей, скрипттери аз болсо жана жүктөө ылдамдыгына өтө жогорку талаптарыңыз жок болсо, демейки (бөгөттөлгөн) жөндөөнү колдонуу эң оңой вариант болуп саналат. Ал бир аз жайыраак болгону менен, эч кандай көйгөй жаратпайт.

Эгер сиз биринчи экрандын ылдамдыгын жакшырткыңыз келсе жана скрипттериңизде "А В алдында аткарылышы керек" сыяктуу күчтүү көз карандылыктар жок болсо, бөгөт койбостон аткаруу үчүн "defer" функциясын колдонууга артыкчылык бериңиз . Бул учурда жеткиликтүү болгон дээрлик идеалдуу чечим, анткени ал аткаруу тартибин сактап калуу менен рендерингди бөгөттөөдөн качат.

Эгер сиз defer функциясын колдонуп көргөндөн кийин дагы эле кээ бир функцияларда көйгөйлөр бар экенин байкасаңыз, анда JavaScriptти бөгөттөбөө үчүн колдонуп көрүңүз . Бул ыкма агрессивдүү, бирок анын шайкештиги бир аз начарыраак.

Блоктобоону "асинхрондоштуруу" деп колдонуу - мен эң аз сунуштаган вариант. Аткаруу тартиби толугу менен башаламан болгондуктан, скрипттериңиз өз алдынча иштей турганына толук ишенбесеңиз, анын бузулуп калышы оңой.

Мен түшкөн эки чоң тузак

Сүйлөшүү арзан. Мен кетирген эки катамды жазып койдум; алардан качууга болобу же жокпу, өз тажрыйбаңыз менен салыштырып көрсөңүз болот.

Биринчи кемчилик: WordPressтин жеке темаларын реалдуу убакыт режиминде алдын ала көрүү мүмкүн эмес.

Бир аз убакытка чейин, теманы ыңгайлаштырганда, "сактоо" баскычын баскандан кийин, алдын ала көрүү жаңыртылбай калчу. Мен бир аз өзгөртүүлөрдү киргизип, баракты жаңыртчумун, бирок ал ошол бойдон калчу.

Бир аз иликтөө жүргүзгөндөн кийин, мен Minify'дин кысуу функциясы күнөөлүү экенин аныктадым. Чечим жөнөкөй:

W3 Total Cache плагининин жалпы жөндөөлөрүнө өтүп, "Кысуу" опциясын таап , аны алып салыңыз. Андан кийин, жогорку оң бурчтагы "Жөндөөлөрдү сактоо" астындагы кичинекей жебени чыкылдатып, " Жөндөөлөрдү сактоо жана кэшти тазалоо " дегенди тандаңыз. Бул кадам абдан маанилүү; кэшти тазалабасаңыз да, эски версиясын көрө бересиз.

Бүткөндөн кийин, теманы ыңгайлаштырууга кайтыңыз, ошондо түз эфирдеги алдын ала көрүү кадимки абалына кайтып келет.

Экинчи көйгөй: Astra темасын издөө кутучасы чыкылдатылганда жооп бербейт.

Мен бул көйгөйгө бир топ убакыт мурун туш болгом. Мен Astra темасын колдонуп жаткам, бир күнү күтүүсүздөн издөө кутучасы аны канча бассам да жооп бербей жатканын байкадым. Башында көйгөй теманын өзүндө деп ойлогом, бирок кийинчерээк анын W3TC'нин Minify жөндөөлөрүнөн келип чыкканын билдим.

Чечим төмөнкүдөй:

W3 Total Cache → Жалпы жөндөөлөр → Өркүндөтүлгөн кысуу жөндөөлөрү → JS → Minify Engine жөндөөлөрү → Жергиликтүү жөндөөлөр бөлүмүнө өтүп, киргизүү түрүн бул экөөнүн бирине өзгөртүңүз:

  1. Буга чейин JavaScript аркылуу бөгөттөөсүз иштөөгө жетишилчү.
  2. Андан кийин, бөгөт койбоо үчүн JS колдонуңуз

Ошо сыяктуу эле, кэшти тазалоо жана баракты жаңыртуу издөө кутучасынын туура иштешине мүмкүндүк берет.

Эмне үчүн башкаларынын ордуна бул эки вариант тандалып алынганына келсек, мен бир аз изилдөө жүргүздүм. Жөнөкөй сөз менен айтканда, Astra темасынын фронт-энд компоненттери скрипттин аткарылуу убактысына өтө сезгич келет жана айрым бөгөттөбөгөн ыкмалар окуянын байланышынын иштебей калышына алып келиши мүмкүн. "JS менен бөгөттөбөгөн" режимин колдонуу скрипттин барак жүктөлүп бүткөндөн кийин гана аткарылышын камсыздайт, ошол эле учурда асинхрондуу түрдө көрүнгөн башаламан аткаруудан качат.

Барууга боло турган жерлердин тизмеси

Акырында, сиз түздөн-түз аткара турган текшерүү тизмеси:

Биринчи кадам - ​​максатыңызды тактоо. Барактын эң тез баштапкы жүктөлүшүн каалайсызбы же туруктуулукту жана катасыз иштөөнү артыкчылык катары көрөсүзбү? Бул кайсы киргизүү түрүн колдонуу керектигин аныктайт.

Экинчи кадам - ​​баарын бир убакта өзгөртүү эмес. Биринчиден, аны сынап көрүү үчүн анча маанилүү эмес баракчаны таап, бир же эки күн байкап, эч кандай көйгөй жок экенине ишенсеңиз гана аны бүтүндөй сайтка жарнамалаңыз.

Үчүнчүдөн, ар бир өзгөртүүдөн кийин кэшти тазалап туруңуз. W3TC'нин кэштөө механизми сизге акыркы өзгөртүүлөрдү көрүүгө тоскоол болот, андыктан "кэшти тазалап, кайра текшерүү" кадамы абдан маанилүү.

Төртүнчүдөн, жүктөө ылдамдыгын мурунку жана кийинкисин салыштыруу үчүн браузериңиздин иштеп чыгуучу куралдарын же PageSpeed ​​​​Insights сыяктуу куралдарды колдонуңуз. Маалыматтар өзү үчүн сүйлөсүн, жөн гана ички туюмуңуз эмес.

Аягында жаз

Чынын айтсам, бул камтылган тип жөндөөсүн биринчи жолу көргөндө, көпкө чейин таң калдым. Демейки бөгөттөө режими өтө жай көрүндү, ал эми асинхрондук режим тартипти кепилдеген жок, ал эми кийинкиге калтыруу шайкештик көйгөйлөрүн жаратышы мүмкүн. Кайсы вариантты тандаарымды билбей жаттым.

Бирок кийинчерээк мен мунун компромисс экенин түшүндүм. Эң ылдам жана эң туруктуусун тең колдоно албайсыз; ар дайым бирөөсүнөн баш тартууга туура келет. Менин тажрыйбам боюнча, алгач defer функциясын колдоном, ал учурда эң коопсуз бөгөт койбогон чечим болуп саналат, андан кийин көйгөйлөр жаралса, кайра чалуу функциясын колдоном.

Эгерде сиз ушул сыяктуу көйгөйлөргө туш болсоңуз же менин ыкмамды колдонгондон кийин дагы эле башка көйгөйлөрүңүз болсо, анда аны талкуулоодон тартынбаңыз. Вебсайтты иштеп чыгуу толугу менен сыноо жана ката аркылуу жүргүзүлөт; эч ким четте калбайт.

Макаланы окуганыңыз үчүн рахмат. Кийинки жолу көрүшкөнчө.

Чен Вэйлиангдын блогунда ( https://www.chenweiliang.com/ ) бөлүшүлгөн "W3 Total Cache Minify Plugin Settings: Inserting Type кантип тандоо керек? Менин тузактарым жана өмүрдү сактап калуучу кеңештерим" макаласы сизге пайдалуу болот деп үмүттөнөм.

Бул макаланын шилтемеси менен бөлүшүүдөн тартынбаңыз: https://www.chenweiliang.com/cwl-34003.html

Көбүрөөк жашыруун трюктарды ачуу үчүн🔑, биздин Telegram каналыбызга кошулуңуз!

Бөлүшүп, жакса лайк! Сиздин бөлүшүүлөрүңүз жана лайктарыңыз биздин туруктуу мотивациябыз!

 

发表 评论

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

Жылдыруу үчүн Top