Мақала анықтамалығы
W3 Total Cache Minify үшін дұрыс ендіру түрін таңдауда қиналып жүрсіз бе? Бұл мақалада веб-шебердің нақты тәжірибесімен бөлісіледі және веб-сайт стиліндегі қателіктер мен жүктеудегі ақауларды болдырмау үшін дұрыс Minify ендіру түрін дәл таңдау бойынша қадамдық нұсқаулық берілген. Сондай-ақ, ол тіпті жаңадан бастаушылар да оңай қолдана алатын, WordPress-тің тегіс және жылдам тәжірибесін қамтамасыз ететін тамаша орнату шешімін қамтиды!
Мен веб-сайтты оңтайландырып жатқан едім және W3 Total Cache бағдарламасындағы Minify параметрлерін ашқан кезде, мен мүлдем таң қалдым. Кірістірілген түрге арналған ашылмалы мәзірде төрт опция болды: Әдепкі (Блоктау), Блокталмаған үшін JS пайдалану, Блокталмаған үшін "Асинхронды" пайдалану және Блокталмаған үшін "Кешіктірілген" пайдалану.
Бір сәтке ойландым, мұның бәрі не туралы?
Маған сеніңіз, сіз жалғыз емессіз. Бұл төрт нұсқа тіпті жаңадан бастаған адамды да, WordPress-ті жылдар бойы қолданып келе жатқан адамды да таң қалдыруы мүмкін. Бұл мақалада мен кездестірген қиындықтар мен алған сабақтар тікелей сізге ұсынылады. Құжаттаманы қараудың қажеті жоқ; тек менің нұсқауларымды орындаңыз.
Бұл төрт ендіру түрі қандай?

Алдымен осы төрт нұсқаның қандай кейіпкер екендігі туралы сөйлесейік.
Әдепкі бойынша бұғаттау - ең қарапайым тәсіл. Браузер скриптті кездестіргенде, ол тоқтайды, скриптті толығымен жүктеп алып, орындайды, содан кейін бетті көрсетуді жалғастырады. Сенімді естіледі, солай ма? Бірақ келісім - бастапқы бет жүктеу кешіктіріледі; пайдаланушылар ештеңені көре алмас бұрын скрипттің жұмыс істеуін аяқтауын күтуі керек.
JavaScript-ті блоктамау үшін пайдалану өте қызықты. Бетке тікелей `<script>` тегтерін жазудың орнына, ол алдымен шағын скриптті шығарады, содан кейін бет іске қосылғаннан кейін JavaScript арқылы қажетті скрипттерді бетке динамикалық түрде енгізеді. Осылайша, бет алдымен көрсетілуі мүмкін, ал скрипттер біртіндеп жүктеледі. Керемет естіледі, солай ма? Дегенмен, мәселе мынада, бұл динамикалық енгізу процесі скрипттердің бастапқы орындалу ретін бұзуы мүмкін. Егер сіздің бетіңіздегі кейбір скрипттер орындалу ретіне қатты тәуелді болса, мәселелер туындауы мүмкін.
Блокталмаған орындау үшін "асинхронды" пайдалану жай ғана `<script>` тегіне `async` атрибутын қосуды қамтиды. Скрипт фонда асинхронды түрде жүктеледі және аяқталғаннан кейін бірден орындалады, бет күтпей. Дегенмен, кемшілігі - орындау реті мүлдем басқарылмайды; кодта көрсетілген ретке қарамастан, алдымен жүктелген кез келген нәрсе орындалады.
Блоктамайтын орындау үшін "кідірту" функциясын пайдалану `defer` атрибутын қосу арқылы жүзеге асырылады. Скрипт орындалмас бұрын бүкіл бет талданғанша күтеді және ең бастысы, ол сіз оны жазған бастапқы ретті сақтайды. Бұл өте ыңғайлы, себебі ол бірінші экранды бұғаттамайды және скрипттің ретін бұзбайды.
Қайсысын таңдауым керек?
Қарапайым тілмен айтқанда, бұл төрт нұсқа бірнеше жауап нұсқасы бар сұрақ сияқты: жылдамдықты қалайсыз ба, әлде реттілікті қалайсыз ба?
Менің ұсынысым келесідей:
Егер веб-сайтыңыз кішкентай, скрипттер аз болса және жүктеу жылдамдығына өте жоғары талаптар қойылмаса, әдепкі (бұғатталған) параметрді пайдалану ең оңай нұсқа болып табылады. Ол сәл баяу болса да, ешқандай қиындық тудырмайды.
Егер сіз бірінші экран жылдамдығын жақсартқыңыз келсе және сценарийлеріңізде «А» функциясы В-дан бұрын орындалуы керек сияқты күшті тәуелділіктер болмаса, бұғаттамайтын орындау үшін «defer» функциясын пайдалануды басымдыққа алыңыз . Бұл қазіргі уақытта қолжетімді ең жақсы шешім, себебі ол орындау ретін сақтай отырып, рендерингті бұғаттаудан аулақ болады.
Егер сіз defer функциясын қолданып көргеннен кейін кейбір функцияларда әлі де мәселелер бар екенін байқасаңыз, онда бұғаттамау үшін JavaScript пайдалануды қарастырыңыз . Бұл тәсіл агрессивтірек, бірақ оның үйлесімділігі сәл нашар.
Блоктамау үшін «асинхронды» пайдалану - мен ең аз ұсынатын нұсқа. Орындау реті толығымен бұзылғандықтан, скрипттеріңіздің тәуелсіз жұмыс істейтініне толық сенімді болмасаңыз, істен шығуы мүмкін.
Мен түскен екі үлкен тұзақ
Әңгіме арзан. Мен жіберген екі қателікті жазып қойдым; олардан аулақ бола алатыныңызды білу үшін оларды өз тәжірибеңізбен салыстыра аласыз.
Бірінші қателік: WordPress тақырыптарын нақты уақыт режимінде алдын ала қарау мүмкін емес.
Біраз уақыт бойы тақырыпты теңшеген кезде, сақтау түймесін басқаннан кейін, алдын ала қарау жаңартылмайтын. Мен кейбір өзгертулер енгізіп, бетті жаңартатынмын, бірақ ол әлі де сол қалпында қалатын.
Біраз зерттеуден кейін, Minify-дің қысу функциясы кінәлі екенін анықтадым. Шешімі қарапайым:
W3 Total Cache плагинінің жалпы параметрлеріне өтіп , «Қысу» опциясын тауып, оны алып тастаңыз. Содан кейін, жоғарғы оң жақ бұрыштағы «Параметрлерді сақтау» астындағы кішкентай көрсеткіні басып, « Параметрлерді сақтау және кэшті тазарту » таңдаңыз. Бұл қадам өте маңызды; кэшті тазаламай, сіз әлі де ескі нұсқасын көресіз.
Аяқтағаннан кейін, тақырыпты теңшеуге оралыңыз, сонда тікелей алдын ала қарау қалыпты жағдайға оралады.
Екінші мәселе: Astra тақырыбын іздеу жолағы басылған кезде жауап бермейді.
Мен бұл мәселеге біраз уақыт бұрын тап болдым. Мен Astra тақырыбын пайдаланып жүргенмін, бір күні кенеттен іздеу жолағы оны қалай басқаныммен жауап бермей жатқанын байқадым. Алдымен бұл тақырыптың өзінде мәселе деп ойладым, бірақ кейінірек оның W3TC Minify параметрлерінен туындағанын анықтадым.
Шешімі келесідей:
W3 Total Cache → Жалпы параметрлер → Кеңейтілген қысу параметрлері → JS → Minify Engine параметрлері → Жергілікті параметрлер бөліміне өтіп, ендіру түрін осы екеуінің біріне өзгертіңіз:
- Бұрын бұғаттамау JavaScript арқылы жүзеге асырылған.
- Содан кейін, бұғаттамау үшін JS пайдаланыңыз
Сол сияқты, кэшті тазалау және бетті жаңарту іздеу өрісінің дұрыс жұмыс істеуіне мүмкіндік береді.
Неліктен басқаларының орнына осы екі нұсқа таңдалғанына келетін болсақ, мен біраз зерттеу жүргіздім. Қарапайым тілмен айтқанда, Astra тақырыбының алдыңғы компоненттері скрипттің орындалу уақытына өте сезімтал, ал кейбір бұғаттамайтын әдістер оқиғаны байланыстырудың сәтсіз аяқталуына әкелуі мүмкін. «JS арқылы бұғаттамайтын» режимін пайдалану скрипттің тек бет жүктелгеннен кейін ғана орындалатынын қамтамасыз етеді, сонымен қатар асинхронды режимде көрінетін ретсіз орындалуды болдырмайды.
Баруға болатын орындардың тізімі
Соңында, сіз тікелей орындай алатын тексеру тізімі:
Бірінші қадам - мақсатыңызды нақтылау. Бастапқы беттің ең жылдам жүктелуін қалайсыз ба, әлде тұрақтылық пен қатесіз жұмыс істеуді басымдыққа қоясыз ба? Бұл қандай ендіру түрін пайдалану керектігін анықтайды.
Екінші қадам - бәрін бірден өзгерту емес. Біріншіден, оны тексеру үшін онша маңызды емес бетті тауып, оны бір-екі күн бақылап, ешқандай проблемалар жоқ екеніне сенімді болсаңыз ғана бүкіл сайтқа жарнамалаңыз.
Үшіншіден, әрбір өзгертуден кейін кэшті әрқашан тазалаңыз. W3TC кэштеу механизмі сізге соңғы өзгерістерді көруге мүмкіндік бермейді, сондықтан «кэшті тазалап, қайтадан тексеру» қадамы өте маңызды.
Төртіншіден, жүктеу жылдамдығын бұрын және кейін салыстыру үшін браузеріңіздің әзірлеуші құралдарын немесе PageSpeed Insights сияқты құралдарды пайдаланыңыз. Тек ішкі сезіміңізге ғана емес, деректерге де сөйлеуге мүмкіндік беріңіз.
Соңында жазыңыз
Шынымды айтсам, мен бұл ендірілген тип параметрін алғаш көргенде, ұзақ уақыт бойы таң қалдым. Әдепкі блоктау режимі тым баяу болып көрінді, ал асинхронды режим операциялардың ретіне кепілдік бермеді, ал кейінге қалдыру үйлесімділік мәселелерін тудыруы мүмкін. Қай нұсқаны таңдау керектігін білмей тұрдым.
Бірақ кейінірек мен мұның ымыраға келу екенін түсіндім. Ең жылдам және ең тұрақтысын алу мүмкін емес; әрқашан біреуін құрбан етуге тура келеді. Менің тәжірибем бойынша, алдымен defer функциясын қолданамын, ол қазіргі уақытта ең қауіпсіз блоктамайтын шешім болып табылады, содан кейін мәселелер туындаған жағдайда кері шақыруды пайдаланамын.
Егер сіз де осындай мәселелерге тап болсаңыз немесе менің әдісімді қолданғаннан кейін басқа да мәселелер туындаса, оны талқылаудан тартынбаңыз. Веб-сайтты әзірлеу сынақ және қателіктерге негізделген; ешкім де ерекшелік емес.
Мақаланы оқығаныңызға рақмет. Келесі кездескенше.
Чен Вэйлиангтың блогында ( https://www.chenweiliang.com/ ) бөлісілген «W3 Total Cache Minify плагин параметрлері: ендірме түрін қалай таңдауға болады? Менің қателіктерім және өмірді сақтап қалатын кеңестерім» мақаласы сізге пайдалы болады деп үміттенемін.
Осы мақаланың сілтемесін бөлісуден тартынбаңыз: https://www.chenweiliang.com/cwl-34003.html
