Налады плагіна W3 Total Cache Minify: як выбраць тып убудавання? Мой досвед ліквідацыі непаладак і парады па выратаванні жыцця

Цяжка выбраць правільны тып убудавання для W3 Total Cache Minify? У гэтым артыкуле дзеліцца рэальным вопытам вэб-майстра і прапануецца пакрокавае кіраўніцтва па дакладнаму выбару правільнага тыпу ўбудавання Minify, пазбягаючы неадпаведнасцей стылю вэб-сайта і збояў пры загрузцы. Ён таксама ўключае надзейнае рашэнне для налады, якое могуць лёгка выкарыстоўваць нават пачаткоўцы.WordPress Паскорыся без аварый!

Я аптымізаваў вэб-сайт, і калі адкрыў налады Minify ў W3 Total Cache, я быў цалкам ашаломлены. У выпадальным меню для ўбудаванага тыпу было чатыры варыянты: Па змаўчанні (Блакаваць), Выкарыстоўваць JS для неблакіруючага рэжыму, Выкарыстоўваць «Асінхронны» для неблакіруючага рэжыму і Выкарыстоўваць «Затрыманы» для неблакіруючага рэжыму.

Я на хвіліну задумаўся: што ўсё гэта значыць?

Паверце, вы не самотныя. Гэтыя чатыры варыянты, хутчэй за ўсё, збянтэжаць нават пачаткоўца, не кажучы ўжо пра таго, хто карыстаецца WordPress гадамі. У гэтым артыкуле я непасрэдна распавядаю пра падводныя камяні, з якімі я сутыкнуўся, і пра ўрокі, якія я атрымаў. Вам не трэба звяртацца да дакументацыі; проста выконвайце мае інструкцыі.

Што ж гэта за чатыры тыпы ўбудавання?

Налады плагіна W3 Total Cache Minify: як выбраць тып убудавання? Мой досвед ліквідацыі непаладак і парады па выратаванні жыцця

Давайце спачатку пагаворым пра тое, які характар ​​маюць гэтыя чатыры варыянты.

Па змаўчанні (блакіроўка)Гэта называецца блакіроўкай па змаўчанні. Гэта самы просты падыход: браўзер спыняецца, калі сустракае скрыпт, спампоўвае і цалкам выконвае яго, а затым працягвае рэндэрынг старонкі. Гучыць надзейна, праўда? Але кампраміс у тым, што першапачатковая загрузка старонкі будзе заблакіравана; карыстальнікам давядзецца чакаць, пакуль скрыпт скончыць працаваць, перш чым яны змогуць што-небудзь убачыць.

Выкарыстанне JS для адсутнасці блакіроўкіГэта даволі цікава. Замест таго, каб непасрэдна пісаць тэгі `<script>` на старонцы, спачатку выводзіцца невялікі скрыпт, а затым дынамічна ўстаўляецца ў старонку праз JavaScript, якія трэба загрузіць, пасля яе запуску. Такім чынам, старонка можа быць адлюстравана спачатку, а скрыпты могуць загружацца паступова. Гучыць выдатна, праўда? Аднак праблема ў тым, што гэты дынамічны працэс устаўкі можа парушыць першапачатковы парадак выканання скрыптоў. Калі некаторыя скрыпты на вашай старонцы моцна залежаць ад парадку выканання, могуць узнікнуць праблемы.

Выкарыстоўвайце «асінхронны» для неблакіруючага рэжымуГэта прадугледжвае даданне атрыбута `async` да тэга `<script>`. Скрыпт будзе спампоўвацца асінхронна ў фонавым рэжыме і выконвацца адразу пасля загрузкі, без чакання старонкі. Аднак недахопам з'яўляецца тое, што парадак выканання цалкам некантралюемы; скрыпт, які першым скончыць загрузку, выконваецца першым, незалежна ад парадку, указанага вамі ў кодзе.

Выкарыстанне «затрымкі» для адсутнасці блакіроўкіВось што азначае даданне атрыбута `defer`. Скрыпт будзе чакаць, пакуль уся старонка не будзе прааналізавана перад выкананнем, і, што важна, ён захавае першапачатковы парадак, у якім вы яго напісалі. Гэта даволі зручна для карыстальніка, бо не блакуе першы экран і не парушае парадак.

Які з іх мне выбраць?

Проста кажучы, гэтыя чатыры варыянты падобныя на пытанне з некалькімі варыянтамі адказаў:Вам патрэбна хуткасць ці парадак?

Мая прапанова наступная:

Калі ваш сайт невялікі, мае мала скрыптоў і ў вас няма надзвычай высокіх патрабаванняў да хуткасці загрузкі, выкарыстанне налады па змаўчанні (блакіроўка) — самы просты варыянт. Нягледзячы на ​​тое, што гэта крыху павольней, праблем не выкліча.

Калі вы хочаце палепшыць хуткасць адлюстравання першага экрана, і вашы скрыпты не маюць моцных залежнасцей, такіх як "А павінен выканацца перад Б", расстаўце прыярытэты...Выкарыстанне «затрымкі» для адсутнасці блакіроўкі(адкласці). На дадзены момант гэта амаль самае ідэальнае рашэнне, бо яно не блакуе рэндэрынг і не парушае парадак.

Калі вы спрабуеце адкласці і ўсё яшчэ выяўляеце, што некаторыя функцыі маюць праблемы, падумайце...Выкарыстанне JS для адсутнасці блакіроўкіГэтае рашэнне больш радыкальнае, але сумяшчальнасць у яго крыху горшая.

Выкарыстоўвайце «асінхронны» для неблакіруючага рэжыму(асінхронны) — гэта варыянт, які я найменш рэкамендую. Паколькі парадак выканання цалкам парушаны, лёгка прывесці да збою, калі вы не ўпэўненыя, што ўсе вашы скрыпты працуюць незалежна адзін ад аднаго.

Дзве вялікія пасткі, у якія я трапіў

Размовы — гэта танна. Я запісаў дзве свае памылкі; вы можаце параўнаць іх з уласным досведам, каб убачыць, ці можна іх пазбегнуць.

Першая памылка: карыстальніцкія тэмы WordPress нельга папярэдне праглядзець у рэжыме рэальнага часу.

Некаторы час пры наладжванні тэмы, пасля націскання кнопкі «Захаваць», папярэдні прагляд не абнаўляўся. Я ўносіў некаторыя змены, абнаўляў старонку, але яна ўсё роўна заставалася ранейшай.

Пасля некаторых даследаванняў я выявіў, што віной была функцыя сціскання Minify. Рашэнне простае:

Доступ да плагіна W3 Total Cache常规设置, падвярнуцца"сцісканне"Зніміце сцяжок з гэтай опцыі. Затым націсніце на маленькую стрэлку пад надпісам «Захаваць налады» ў правым верхнім куце і выберыце «...»Захаваць налады і ачысціць кэшГэты крок вельмі важны; калі вы не ачысціце кэш, вы ўсё роўна будзеце бачыць старую версію.

Пасля таго, як вы скончыце, вярніцеся да налады тэмы, і папярэдні прагляд вернецца да нармальнага выгляду.

Другая праблема: поле пошуку тэмы Astra не рэагуе пры націсканні.

Я сутыкнуўся з гэтай праблемай даволі даўно. Я карыстаўся тэмай Astra, і аднойчы раптам выявіў, што поле пошуку не рэагуе, колькі б я на яго ні націскаў. Спачатку я думаў, што гэта праблема з самой тэмай, але пазней выявіў, што гэта выклікана наладамі Minify у W3TC.

解决方法如下:

Перайдзіце ў W3 Total Cache → Агульныя налады → Пашыраныя налады сціскання → JS → Налады рухавіка мініфікацыі → Налады лакалізацыі і змяніце тып убудавання на адзін з гэтых двух:

  1. Раней неблакіроўка дасягалася з дапамогай JavaScript.
  2. Пасля гэтага выкарыстоўвайце 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

Каб адкрыць больш схаваных хітрасцяў🔑, далучайцеся да нашага канала ў Telegram!

Падзяліцеся і пастаўце лайкі, калі вам гэта падабаецца! Вашы акцыі і лайкі - наша пастаянная матывацыя!

 

发表 评论

Ваш электронны адрас не будзе апублікаваны. 必填 项 已 用 * Этыкетка

Пракрутка да пачатку