Maqolalar katalogi
W3 Total Cache Minify uchun to'g'ri joylashtirish turini tanlashda qiynalayapsizmi? Ushbu maqola veb-ustaning real hayotdagi tajribasini baham ko'radi va veb-sayt uslubidagi nosozliklar va yuklashdagi nosozliklarning oldini olish uchun to'g'ri Minify joylashtirish turini to'g'ri tanlash bo'yicha bosqichma-bosqich qo'llanmani taqdim etadi. Shuningdek, u hatto yangi boshlovchilar ham osongina qo'llashi mumkin bo'lgan ishonchli o'rnatish yechimini ham o'z ichiga oladi.WordPress Avariyasiz tezlashing!
Men veb-saytni optimallashtirayotgan edim va W3 Total Cache-da Minify sozlamalarini ochganimda, butunlay hayratda qoldim. O'rnatilgan turdagi ochiladigan menyuda to'rtta variant bor edi: Standart (Bloklash), Bloklanmagan uchun JS dan foydalaning, Bloklanmagan uchun "Asinxron" dan foydalaning va Bloklanmagan uchun "Kechiktirilgan" dan foydalaning.
Bir zum o'ylab qoldim, bularning barchasi nima haqida?
Ishoning, siz yolg'iz emassiz. Ushbu to'rtta variant hatto yangi boshlovchini ham, WordPressdan yillar davomida foydalanib kelayotgan odamni ham hayratda qoldirishi mumkin. Ushbu maqolada men duch kelgan xavf-xatarlar va to'g'ridan-to'g'ri olgan saboqlarim keltirilgan. Hujjatlarga murojaat qilishingiz shart emas; shunchaki mening ko'rsatmalarimga amal qiling.
Bu to'rtta joylashtirish turi aniq nima?

Keling, avval ushbu to'rtta variant qanday xarakterga ega ekanligi haqida gaplashaylik.
Standart (blok)Bu standart bloklash deb ataladi. Bu eng sodda yondashuv: brauzer skriptga duch kelganida to'xtaydi, uni yuklab oladi va to'liq ishga tushiradi va keyin sahifani ko'rsatishda davom etadi. Ishonchli tuyuladi, to'g'rimi? Lekin murosaga kelish shundaki, sizning dastlabki sahifa yuklanishingiz bloklanadi; foydalanuvchilar biror narsani ko'rishdan oldin skriptning ishga tushishini kutishlari kerak bo'ladi.
Bloklamaslik uchun JS dan foydalanishBu juda qiziqarli. Sahifaga to'g'ridan-to'g'ri `<script>` teglarini yozish o'rniga, u avval kichik skriptni chiqaradi va keyin sahifa ishga tushirilgandan so'ng JavaScript orqali sahifaga yuklanishi kerak bo'lgan skriptlarni dinamik ravishda kiritadi. Shu tarzda, avval sahifani ko'rsatish mumkin va skriptlar asta-sekin yuklanishi mumkin. Ajoyib eshitiladi, to'g'rimi? Biroq, muammo shundaki, bu dinamik kiritish jarayoni skriptlarning asl bajarilish tartibini buzishi mumkin. Agar sahifangizdagi ba'zi skriptlar bajarilish tartibiga juda bog'liq bo'lsa, muammolar paydo bo'lishi mumkin.
Bloklamaslik uchun "asinxron" dan foydalaningBu `<script>` tegiga `async` atributini qo'shishni o'z ichiga oladi. Skript fonda asinxron ravishda yuklab olinadi va yuklab olingandan so'ng darhol, sahifa kutmasdan bajariladi. Biroq, salbiy tomoni shundaki, bajarish tartibi butunlay boshqarib bo'lmaydi; qaysi skript avval yuklab olishni tugatsa, kodda ko'rsatilgan tartibdan qat'i nazar, avval bajariladi.
Bloklamaslik uchun "kechiktirish" dan foydalanish`Defer` atributini qo'shish aynan shuni anglatadi. Skript bajarilishidan oldin butun sahifa tahlil qilinmaguncha kutadi va eng muhimi, u siz yozgan asl tartibni saqlab qoladi. Bu juda qulay, chunki u na birinchi ekranni bloklaydi, na tartibni buzadi.
Qaysi birini tanlashim kerak?
Sodda qilib aytganda, bu to'rtta variant ko'p tanlovli savolga o'xshaydi:Tezlikni yoki tartibni xohlaysizmi?
Mening taklifim quyidagicha:
Agar veb-saytingiz kichik bo'lsa, skriptlar kam bo'lsa va yuklash tezligiga juda yuqori talablaringiz bo'lmasa, standart (bloklangan) sozlamadan foydalanish eng oson variant hisoblanadi. Bu biroz sekinroq bo'lsa-da, hech qanday muammo tug'dirmaydi.
Agar siz birinchi ekran tezligini oshirishni istasangiz va skriptlaringizda "A ni B dan oldin bajarish kerak" kabi kuchli bog'liqliklar bo'lmasa, ustuvorlik bering...Bloklamaslik uchun "kechiktirish" dan foydalanish(kechiktirish). Bu hozirda deyarli eng ideal yechim, chunki u na renderlashni bloklaydi, na tartibni buzadi.
Agar siz kechiktirishga urinib ko'rsangiz va ba'zi funktsiyalarda muammolar borligini aniqlasangiz, unda ko'rib chiqing...Bloklamaslik uchun JS dan foydalanishBu yechim yanada radikal, ammo uning mosligi biroz yomonroq.
Bloklamaslik uchun "asinxron" dan foydalaning(async) men eng kam tavsiya qiladigan variant. Bajarish tartibi butunlay chalkash bo'lgani uchun, skriptlaringizning barchasi mustaqil ravishda ishlayotganiga amin bo'lmasangiz, ishdan chiqishi oson.
Men tushib qolgan ikkita katta tuzoq
Gaplashish arzon. Men qilgan ikkita xatoni yozib qo'ydim; ulardan qochishingiz mumkinligini bilish uchun ularni o'z tajribangiz bilan taqqoslashingiz mumkin.
Birinchi kamchilik: Maxsus WordPress mavzularini real vaqt rejimida oldindan ko'rib bo'lmaydi.
Bir muddat, mavzuni sozlashda, saqlash tugmasini bosgandan so'ng, oldindan ko'rish yangilanmasdi. Men ba'zi o'zgarishlar kiritardim, sahifani yangilardim va u baribir o'sha holatda qolardi.
Biroz tekshiruvdan so'ng, men Minify'ning siqish funksiyasi aybdor ekanligini aniqladim. Yechim oddiy:
W3 Total Cache plaginiga kirishchíngjín,ko'rinib qolish; .. ga aylanib qolish"siqish"Ushbu parametrdan belgini olib tashlang. Keyin yuqori o'ng burchakdagi "Sozlamalarni saqlash" ostidagi kichik o'qni bosing va "..." ni tanlang.Sozlamalarni saqlang va keshni tozalangBu qadam juda muhim; agar siz keshni tozalamasangiz, siz hali ham eski versiyasini ko'rasiz.
Tugatganingizdan so'ng, mavzuni sozlashga qayting va jonli ko'rish odatiy holatga qaytadi.
Ikkinchi muammo: Astra mavzusi qidiruv oynasi bosilganda javob bermaydi.
Men bu muammoga ancha oldin duch kelgan edim. Men Astra mavzusidan foydalanayotgan edim va bir kuni to'satdan qidiruv maydonchasi uni qanday bossam ham javob bermayotganini ko'rdim. Avvaliga muammo mavzuning o'zida deb o'ylagandim, lekin keyinchalik bu W3TC ning Minify sozlamalari tufayli yuzaga kelganini aniqladim.
Yechim quyidagicha:
W3 Total Cache → Umumiy sozlamalar → Kengaytirilgan siqish sozlamalari → JS → Minify Engine sozlamalari → Mahalliy sozlamalarga o'ting va joylashtirish turini ushbu ikkitasidan biriga o'zgartiring:
- Ilgari, bloklamaslik JavaScript yordamida amalga oshirilgan.
- Keyin, bloklamaslik uchun JS dan foydalaning
Xuddi shunday, keshni tozalash va sahifani yangilash qidiruv maydonchasining to'g'ri ishlashiga imkon beradi.
Nima uchun boshqa variantlar o'rniga bu ikkita variant tanlanganiga kelsak, men bir oz tadqiqot o'tkazdim. Sodda qilib aytganda, Astra mavzusining old qismidagi komponentlar skriptni bajarish vaqtiga juda sezgir va ba'zi bloklamaydigan usullar hodisalarni bog'lashning muvaffaqiyatsiz bo'lishiga olib kelishi mumkin. "JS bilan bloklamaydigan" rejimidan foydalanish skriptning faqat sahifa yuklangandan so'ng bajarilishini ta'minlaydi, shu bilan birga asinxron rejimda ko'rinadigan tartibsiz bajarilishning oldini oladi.
Tashrif buyuriladigan joylar ro'yxati
Nihoyat, siz to'g'ridan-to'g'ri amal qilishingiz mumkin bo'lgan nazorat ro'yxati:
Birinchi qadam maqsadingizni aniqlashtirishdir. Sahifaning eng tez yuklanishini xohlaysizmi yoki barqarorlik va xatosiz ishlashni ustuvor deb bilasizmi? Bu qaysi joylashtirish turidan foydalanishingiz kerakligini aniqlaydi.
Ikkinchi qadam - hamma narsani birdaniga o'zgartirish emas. Birinchidan, uni sinab ko'rish uchun unchalik muhim bo'lmagan sahifani toping, uni bir yoki ikki kun kuzatib boring va faqat hech qanday muammo yo'qligiga amin bo'lsangizgina uni butun saytga targ'ib qiling.
Uchinchidan, har bir o'zgartirishdan keyin keshni tozalang. W3TC ning keshlash mexanizmi sizga eng so'nggi o'zgarishlarni ko'rishga to'sqinlik qiladi, shuning uchun "keshni tozalash va qayta sinab ko'rish" bosqichi juda muhimdir.
To'rtinchidan, yuklash tezligini oldin va keyin taqqoslash uchun brauzeringizning ishlab chiquvchi vositalaridan yoki PageSpeed Insights kabi vositalardan foydalaning. Faqat ichki sezgilaringiz emas, balki ma'lumotlar o'zi uchun gapirsin.
Oxirida yozing
Rostini aytsam, men ushbu o'rnatilgan turdagi sozlamani birinchi marta ko'rganimda, uzoq vaqt hayratda qoldim. Standart blokirovka rejimi juda sekin tuyuldi, asinxron rejim esa tartibni kafolatlamadi va kechiktirish moslik muammolariga olib kelishi mumkin. Qaysi variantni tanlashni bilmasdim.
Lekin keyinchalik men bu murosaga kelish ekanligini angladim. Siz eng tezkor va eng barqarorni bir vaqtning o'zida ishlata olmaysiz; siz har doim bittasini qurbon qilishingiz kerak. Mening tajribam shuni ko'rsatadiki, avval defer dan foydalanaman, bu hozirda eng xavfsiz bloklamaydigan yechim, keyin esa muammolar yuzaga kelsa, qayta qo'ng'iroq qilishdan foydalanaman.
Agar siz ham shunga o'xshash muammolarga duch kelsangiz yoki mening usulimga amal qilganingizdan keyin ham boshqa muammolarga duch kelsangiz, bu haqda bemalol muhokama qiling. Veb-sayt yaratish butunlay sinov va xatolarga asoslangan; hech kim bundan mustasno emas.
Maqolamni o'qiganingiz uchun tashakkur. Keyingi safar ko'rishguncha.
Umid qilamanki, Chen Veyliang blogi ( https://www.chenweiliang.com/ Men baham ko'rgan "W3 Total Cache Minify Plugin Settings: How to Chop etish Type Click the Embedding Type? My Fields and Lifesaver Tips" maqolasi siz uchun foydali bo'lishi mumkin.
Ushbu maqolaning havolasini baham ko'rish uchun xush kelibsiz:https://www.chenweiliang.com/cwl-34003.html
