Article Directory
W3 Total Cache Minify үчүн туура киргизүү түрүн тандоодо кыйналып жатасызбы? Бул макалада веб-мастердин реалдуу дүйнөдөгү тажрыйбасы баяндалат жана веб-сайттын стилинин карама-каршылыктарынан жана жүктөөнүн бузулушунан качуу үчүн туура Minify киргизүү түрүн так тандоо боюнча этап-этабы менен көрсөтмө берилет. Ошондой эле, ал жаңы баштагандар да оңой колдоно ала турган кемчиликсиз орнотуу чечимин камтыйт.WordPress Кырсыксыз ылдамдаңыз!
Мен веб-сайтты оптималдаштырып жатып, W3 Total Cache'те Minify жөндөөлөрүн ачканда, таптакыр таң калдым. Кыстарылган түр үчүн ачылуучу менюда төрт параметр бар болчу: Демейки (Блок), Блоктобогон үчүн JS колдонуу, Блоктобогон үчүн "Асинхрондуу" колдонуу жана Блоктобогон үчүн "Кечиктирилген" колдонуу.
Бир аз ойлонуп калдым, мунун баары эмне жөнүндө?
Ишенип коюңуз, сиз жалгыз эмессиз. Бул төрт вариант жаңыдан баштагандарды да, WordPressти көп жылдардан бери колдонуп келе жаткандарды да таң калтырышы мүмкүн. Бул макалада мен туш болгон кыйынчылыктар жана түздөн-түз алган сабактар келтирилген. Документацияны карап чыгуунун кажети жок; жөн гана менин көрсөтмөлөрүмдү аткарыңыз.
Бул төрт киргизүү түрү так кайсылар?

Келгиле, алгач бул төрт вариант кандай мүнөздө экени жөнүндө сүйлөшөлү.
Демейки (Бөгөттөлгөн)Бул "Демейки бөгөттөө" деп аталат. Бул эң жөнөкөй ыкма: браузер скриптке туш болгондо токтоп, аны толугу менен жүктөп алып, иштетет, андан кийин баракты көрсөтүүнү улантат. Ишенимдүү угулат, туурабы? Бирок, эң негизгиси, баштапкы баракча жүктөлүшү бөгөттөлөт; колдонуучулар бир нерсени көрө алышы үчүн скрипттин иштешин күтүшү керек болот.
JSти бөгөттөөсүз колдонууБул абдан кызыктуу. Баракка түз `<script>` тегдерин жазуунун ордуна, ал алгач кичинекей скриптти чыгарат, андан кийин барак иштеп баштагандан кийин JavaScript аркылуу жүктөлүшү керек болгон скрипттерди динамикалык түрдө киргизет. Ошентип, баракча алгач көрсөтүлүшү мүмкүн жана скрипттер акырындык менен жүктөлүшү мүмкүн. Сонун угулат, туурабы? Бирок, көйгөй бул динамикалык киргизүү процесси скрипттердин баштапкы аткаруу тартибин бузушу мүмкүн экендигинде. Эгерде сиздин баракчаңыздагы кээ бир скрипттер аткаруу тартибине абдан көз каранды болсо, көйгөйлөр жаралышы мүмкүн.
Бөгөттөбөө үчүн "асинхрондуу" колдонуңузБул `<script>` тегине `async` атрибутун кошууну камтыйт. Скрипт фондо асинхрондуу түрдө жүктөлүп алынат жана жүктөлүп алынгандан кийин дароо, баракча күтпөстөн аткарылат. Бирок, кемчилиги - аткаруу тартиби толугу менен башкарылбайт; кайсы скрипт биринчи жүктөлүп бүтсө, ал биринчи аткарылат, коддо көрсөтүлгөн тартипке карабастан.
Бөгөттөөсүз "кечигүү" функциясын колдонуу`defer` атрибутун кошуу ушуну билдирет. Скрипт аткарылардан мурун бүтүндөй баракча талданганга чейин күтөт жана эң негизгиси, ал сиз жазган баштапкы тартипти сактайт. Бул колдонуучуга абдан ыңгайлуу, анткени ал биринчи экранды бөгөттөй да, тартипти да бузбайт.
Кайсынысын тандашым керек?
Жөнөкөй сөз менен айтканда, бул төрт вариант көп жооптуу суроо сыяктуу:Сизге ылдамдык керекпи же тартиппи?
Менин сунушум төмөнкүдөй:
Эгер веб-сайтыңыз кичинекей, скрипттери аз болсо жана жүктөө ылдамдыгына өтө жогорку талаптарыңыз жок болсо, демейки (бөгөттөлгөн) жөндөөнү колдонуу эң оңой вариант болуп саналат. Ал бир аз жайыраак болгону менен, эч кандай көйгөй жаратпайт.
Эгер сиз биринчи экрандын ылдамдыгын жакшырткыңыз келсе жана скрипттериңизде "А" экземпляры В экземплярынан мурун аткарылышы керек сыяктуу күчтүү көз карандылыктар жок болсо, артыкчылыктарды белгилеңиз...Бөгөттөөсүз "кечигүү" функциясын колдонуу(кечиреек). Бул учурда дээрлик эң идеалдуу чечим, анткени ал рендерингди токтотпойт жана тартипти бузбайт.
Эгер сиз кийинкиге калтырууга аракет кылып көрсөңүз жана дагы эле кээ бир функцияларда көйгөйлөр бар экенин байкасаңыз, анда төмөнкүлөрдү карап көрүңүз...JSти бөгөттөөсүз колдонууБул чечим радикалдуураак, бирок анын шайкештиги бир аз начарыраак.
Бөгөттөбөө үчүн "асинхрондуу" колдонуңуз(асинхрондук) - мен эң аз сунуштаган вариант. Аткаруу тартиби толугу менен башаламан болгондуктан, скрипттериңиздин баары өз алдынча иштеп жатканына толук ишенбесеңиз, анын бузулуп калышы оңой.
Мен түшкөн эки чоң тузак
Сүйлөшүү арзан. Мен кетирген эки катамды жазып койдум; алардан качууга болобу же жокпу, өз тажрыйбаңыз менен салыштырып көрсөңүз болот.
Биринчи кемчилик: WordPressтин жеке темаларын реалдуу убакыт режиминде алдын ала көрүү мүмкүн эмес.
Бир аз убакытка чейин, теманы ыңгайлаштырганда, "сактоо" баскычын баскандан кийин, алдын ала көрүү жаңыртылбай калчу. Мен бир аз өзгөртүүлөрдү киргизип, баракты жаңыртчумун, бирок ал ошол бойдон калчу.
Бир аз иликтөө жүргүзгөндөн кийин, мен Minify'дин кысуу функциясы күнөөлүү экенин аныктадым. Чечим жөнөкөй:
W3 Total Cache плагинине кирүү常规设置,келип чыгуу"кысуу"Ал параметрди алып салыңыз. Андан кийин жогорку оң бурчтагы "Жөндөөлөрдү сактоо" дегендин астындагы кичинекей жебени чыкылдатып, "..." тандаңыз.Жөндөөлөрдү сактоо жана кэшти тазалооБул кадам абдан маанилүү; эгер сиз кэшти тазалабасаңыз, эски версиясын көрө бересиз.
Бүткөндөн кийин, теманы ыңгайлаштырууга кайтыңыз, ошондо түз эфирдеги алдын ала көрүү кадимки абалына кайтып келет.
Экинчи көйгөй: Astra темасын издөө кутучасы чыкылдатылганда жооп бербейт.
Мен бул көйгөйгө бир топ убакыт мурун туш болгом. Мен Astra темасын колдонуп жаткам, бир күнү күтүүсүздөн издөө кутучасы аны канча бассам да жооп бербей жатканын байкадым. Башында көйгөй теманын өзүндө деп ойлогом, бирок кийинчерээк анын W3TC'нин Minify жөндөөлөрүнөн келип чыкканын билдим.
Чечим төмөнкүдөй:
W3 Total Cache → Жалпы жөндөөлөр → Өркүндөтүлгөн кысуу жөндөөлөрү → JS → Minify Engine жөндөөлөрү → Жергиликтүү жөндөөлөр бөлүмүнө өтүп, киргизүү түрүн бул экөөнүн бирине өзгөртүңүз:
- Буга чейин JavaScript аркылуу бөгөттөөсүз иштөөгө жетишилчү.
- Андан кийин, бөгөт койбоо үчүн JS колдонуңуз
Ошо сыяктуу эле, кэшти тазалоо жана баракты жаңыртуу издөө кутучасынын туура иштешине мүмкүндүк берет.
Эмне үчүн башкаларынын ордуна бул эки вариант тандалып алынганына келсек, мен бир аз изилдөө жүргүздүм. Жөнөкөй сөз менен айтканда, Astra темасынын фронт-энд компоненттери скрипттин аткарылуу убактысына өтө сезгич келет жана айрым бөгөттөбөгөн ыкмалар окуянын байланышынын иштебей калышына алып келиши мүмкүн. "JS менен бөгөттөбөгөн" режимин колдонуу скрипттин барак жүктөлүп бүткөндөн кийин гана аткарылышын камсыздайт, ошол эле учурда асинхрондуу түрдө көрүнгөн башаламан аткаруудан качат.
Барууга боло турган жерлердин тизмеси
Акырында, сиз түздөн-түз аткара турган текшерүү тизмеси:
Биринчи кадам - максатыңызды тактоо. Барактын эң тез баштапкы жүктөлүшүн каалайсызбы же туруктуулукту жана катасыз иштөөнү артыкчылык катары көрөсүзбү? Бул кайсы киргизүү түрүн колдонуу керектигин аныктайт.
Экинчи кадам - баарын бир убакта өзгөртүү эмес. Биринчиден, аны сынап көрүү үчүн анча маанилүү эмес баракчаны таап, бир же эки күн байкап, эч кандай көйгөй жок экенине ишенсеңиз гана аны бүтүндөй сайтка жарнамалаңыз.
Үчүнчүдөн, ар бир өзгөртүүдөн кийин кэшти тазалап туруңуз. W3TC'нин кэштөө механизми сизге акыркы өзгөртүүлөрдү көрүүгө тоскоол болот, андыктан "кэшти тазалап, кайра текшерүү" кадамы абдан маанилүү.
Төртүнчүдөн, жүктөө ылдамдыгын мурунку жана кийинкисин салыштыруу үчүн браузериңиздин иштеп чыгуучу куралдарын же PageSpeed Insights сыяктуу куралдарды колдонуңуз. Маалыматтар өзү үчүн сүйлөсүн, жөн гана ички туюмуңуз эмес.
Аягында жаз
Чынын айтсам, бул камтылган тип жөндөөсүн биринчи жолу көргөндө, көпкө чейин таң калдым. Демейки бөгөттөө режими өтө жай көрүндү, ал эми асинхрондук режим тартипти кепилдеген жок, ал эми кийинкиге калтыруу шайкештик көйгөйлөрүн жаратышы мүмкүн. Кайсы вариантты тандаарымды билбей жаттым.
Бирок кийинчерээк мен мунун компромисс экенин түшүндүм. Эң ылдам жана эң туруктуусун тең колдоно албайсыз; ар дайым бирөөсүнөн баш тартууга туура келет. Менин тажрыйбам боюнча, алгач defer функциясын колдоном, ал учурда эң коопсуз бөгөт койбогон чечим болуп саналат, андан кийин көйгөйлөр жаралса, кайра чалуу функциясын колдоном.
Эгерде сиз ушул сыяктуу көйгөйлөргө туш болсоңуз же менин ыкмамды колдонгондон кийин дагы эле башка көйгөйлөрүңүз болсо, анда аны талкуулоодон тартынбаңыз. Вебсайтты иштеп чыгуу толугу менен сыноо жана ката аркылуу жүргүзүлөт; эч ким четте калбайт.
Макаланы окуганыңыз үчүн рахмат. Кийинки жолу көрүшкөнчө.
Hope Chen Weiliang блогу ( https://www.chenweiliang.com/ Мен бөлүшкөн "W3 Total Cache Minify плагининин жөндөөлөрү: Кыстаруу түрүн кантип тандоо керек? Менин тузактарым жана өмүрдү сактап калуу боюнча кеңештерим" деген макала сизге пайдалуу болушу мүмкүн.
Бул макаланын шилтемесин бөлүшүүгө кош келиңиз:https://www.chenweiliang.com/cwl-34003.html
