אַרטיקל וועגווייַזער
שוועריגקייטן צו קלייבן דעם ריכטיגן עמבעדדינג טיפ פאר W3 Total Cache Minify? דער ארטיקל טיילט א וועבמאסטער'ס פראקטישע ערפארונג און גיט א שריט-ביי-שריט אנווייזונג צו גענוי אויסקלייבן דעם ריכטיגן Minify עמבעדדינג טיפ, פארמיידנדיג וועבזייטל סטיל אומגליקן און לאודינג קראכן. עס שליסט אויך איין א זיכערע סעטאפ לייזונג וואס אפילו אנפאנגער קענען לייכט אנווענדן, זיכערנדיג א גלאט און שנעל ווארדפרעס ערפארונג!
איך האָב אָפּטימיזירט אַ וועבזייטל און ווען איך האָב געעפֿנט די מיניפֿיי סעטטינגס אין W3 טאָטאַל קאַש, בין איך געווען גאָר פֿאַרשטוינט. די דראָפּדאַון מעניו פֿאַר די עמבעדיד טיפּ האָט געהאַט פֿיר אָפּציעס: דיפֿאָלט (בלאָק), ניצן JS פֿאַר נישט-בלאָקירן, ניצן "אַסינקראָנאָוס" פֿאַר נישט-בלאָקירן, און ניצן "פֿאַרשפּעטיקט" פֿאַר נישט-בלאָקירן.
איך האָב זיך אַ רגע געטראַכט וועגן דעם, וואָס איז דאָס אַלץ?
גלויבט מיר, איר זענט נישט אליין. די פיר אָפּציעס וועלן מסתּמא לאָזן אפילו אַ אָנהייבער צעמישט, און זיכער נישט איינעם וואָס ניצט וואָרדפּרעס שוין יאָרן. דער אַרטיקל פּרעזענטירט די פּיטפאָלז וואָס איך האָב באַגעגנט און די לעקציעס וואָס איך האָב געלערנט, גלייך צו אײַך. איר דאַרפֿט נישט באַראַטן זיך מיט דער דאָקומענטאַציע; נאָר פֿאָלגט מײַנע אינסטרוקציעס.
וואָס פּונקט זענען די פֿיר טיפּן עמבעדדינג?

לאָמיר ערשט רעדן וועגן וואָסער סאָרט כאַראַקטער די פיר אָפּציעס זענען.
דיפאָלט בלאָקירן איז דער גרינגסטער צוגאַנג. ווען דער בלעטערער טרעפט אַ סקריפּט, שטעלט ער זיך אָפּ, דאַונלאָודט און עקסעקוטירט דעם סקריפּט גאָר, און דערנאָך פאָרזעצט עס צו רענדערן די בלאַט. קלינגט פאַרלעסלעך, נישט אַזוי? אָבער דער קאָמפּראָמיס איז אַז אייער ערשטע בלאַט לאָוד וועט זיין פאַרהאַלטן; באַניצער וועלן דאַרפן וואַרטן ביז דער סקריפּט ענדיגט לויפן איידער זיי קענען עפּעס זען.
ניצן דזשאַוואַסקריפּט פֿאַר נישט-בלאָקירן איז גאַנץ אינטערעסאַנט. אַנשטאָט גלייך צו שרייבן `<script>` טעגס אויף דער בלאַט, גיט עס ערשט אַרויס אַ קליין סקריפּט, און דערנאָך דינאַמיש אַרײַנשטעקט די נויטיקע סקריפּטן אין דער בלאַט דורך דזשאַוואַסקריפּט נאָכדעם וואָס דער בלאַט לויפט. אויף דעם וועג קען דער בלאַט ערשט רענדערן, און די סקריפּטן לאָדן זיך ביסלעכווייַז. קלינגט גוט, נישט אַזוי? אָבער, די פּראָבלעם איז אַז דער דינאַמישער אַרײַנשטעקונג פּראָצעס קען צעשטערן די אָריגינעלע אויספֿירונג סדר פֿון די סקריפּטן. אויב עטלעכע סקריפּטן אויף אײַער בלאַט פֿאַרלאָזן זיך שטאַרק אויף דער אויספֿירונג סדר, קענען פּראָבלעמען אויפֿקומען.
ניצן "אסינכראניש" פאר נישט-בלאקירנדיקע אויספירונג באדייט פשוט צולייגן דעם `async` אטריביוט צום `<script>` טעג. דער סקריפּט וועט זיך אראפלאדן אסינכראניש אין הינטערגרונט און אויספירן גלייך נאכן ענדיגן, אן דעם וואס דער בלאט זאל ווארטן דערויף. אבער, דער חסרון איז אז די אויספירונג סדר איז אינגאנצן נישט קאנטראלירבאר; וואס אימער די אראפלאדן ווערן ערשט אויסגעפירט ווערט אויסגעפירט, נישט קיין חילוק אין וועלכער סדר איר ספעציפיצירט אין קאוד.
ניצן "delay" פאר נישט-בלאקירנדיקע אויספירונג ווערט דערגרייכט דורך צולייגן דעם `defer` אטריביוט. דער סקריפּט וועט וואַרטן ביז די גאנצע בלאַט איז געוואָרן געפּאַרסט איידער עס ווערט אויסגעפירט, און וויכטיגסטנס, עס וועט האַלטן די אָריגינעלע סדר אין וועלכער איר האָט עס געשריבן. דאָס איז גאַנץ באַניצער-פֿרײַנדלעך, ווײַל עס בלאָקירט נישט דעם ערשטן עקראַן און עס שטערט נישט די סדר פֿונעם סקריפּט.
וועלכע זאָל איך אויסקלײַבן?
פשוט געזאָגט, די פיר אָפּציעס זענען ווי אַ פֿראַגע מיט קייפל ברירות: ווילסטו שנעלקייט, צי ווילסטו די סדר?
מיין פאָרשלאָג איז דאָס:
אויב אייער וועבזייטל איז קליין, האט ווייניק סקריפּטן, און איר האט נישט קיין גאר הויכע באדערפענישן פאר לאודינג גיכקייט, איז ניצן די דיפאָלט (בלאקירט) סעטינג די גרינגסטע אפציע. כאטש עס איז אביסל שטייטער, וועט עס נישט שאפן קיין פראבלעמען.
אויב איר ווילט פֿאַרבעסערן די גיכקייט פֿון ערשטן עקראַן און אייערע סקריפּטן האָבן נישט שטאַרקע אָפּהענגיקייטן ווי "A מוז אויספֿירן פֿאַר B," זאָלט איר פּריאָריטיזירן צו נוצן "defer" פֿאַר נישט-בלאָקירנדיקע אויספֿירונג . דאָס איז כּמעט די אידעאַלע לייזונג וואָס איז איצט פֿאַראַן, ווײַל עס פֿאַרמײַדט בלאָקירן רענדערינג בשעת עס האַלט די סדר פֿון אויספֿירונג.
אויב איר טרעפט אז עטלעכע פונקציעס האבן נאך אלץ פראבלעמען נאכדעם וואס איר פרובירט "defer", דאן באטראכט צו ניצן דזשאוואסקריפט פאר נישט-בלאקירן . די צוגאנג איז מער אגרעסיוו, אבער איר קאמפאטיבילעטי איז עטוואס ערגער.
ניצן "async" פאר נישט-בלאקירן איז די אפציע וואס איך רעקאמענדיר ווייניגער. ווייל די אויספיר-סדר איז אינגאנצן צעמישט, איז עס גרינג צו קראכן סיידן איר זענט גאר זיכער אז אייערע סקריפטן לויפן זעלבשטענדיג.
צוויי גרויסע פּיטפאָלז אין וועלכער איך בין געפאַלן
רעדן איז ביליג. איך האב אויפגעשריבן צוויי טעותים וואָס איך האב געמאכט; איר קענט זיי קאנטראלירן מיט אייער אייגענער ערפארונג צו זען אויב איר קענט זיי אויסמיידן.
דער ערשטער פאַל: מען קען נישט פאָרויסקוקן קאַסטאַם וואָרדפּרעס טעמעס אין פאַקטישער צייט.
פאר א וויילע, ווען איך האב קאסטומיזירט א טעמע, נאכן קליקן אויף "שפארן", האט זיך די פאראויסקוק נישט געפרעשט. איך פלעג מאכן עטליכע ענדערונגען, רעפרעשן די בלאט, און עס פלעגט נאך אלץ זיין די זעלבע.
נאך עטליכע אויספארשונגען, האב איך אנטדעקט אז מיניפיי'ס קאמפרעסיע פונקציע איז געווען די שולדיקע. די לייזונג איז פשוט:
גייט צו די אלגעמיינע סעטינגס פון די W3 טאטאל קעש פלאגין , זוכט די "קאמפרעשאן" אפציע, און נעמט עס ארויס. דערנאך, דריקט דעם קליינעם פייל אונטער "ראטעווען סעטינגס" אין דער אויבערשטער רעכטער ווינקל, און סעלעקטירט " ראטעווען סעטינגס און רייניגן קעש ." דער שריט איז קריטיש; אן אויסרייניגן דעם קעש, וועט איר נאך אלץ זען די אלטע ווערסיע.
נאכדעם וואס איר זענט פארטיג, גייט צוריק צו טעמע קאסטומיזאציע, און די לייוו פריוויו וועט זיין צוריק צו נארמאל.
די צווייטע פראבלעם: די אַסטראַ טעמע זוכקעסטל רעאַגירט נישט ווען מען קליקט דערויף.
איך בין אנגעקומען צו דעם פראבלעם א שטיק צייט צוריק. איך האב גענוצט די אסטרא טעמע, און איין טאג האב איך פלוצלינג געפונען אז די זוכקעסטל רעאגירט נישט ווי איך האב עס געקליקט. אין אנפאנג האב איך געמיינט אז דאס איז א פראבלעם מיטן טעמע אליין, אבער שפעטער האב איך אנטדעקט אז דאס איז געווען געפֿירט דורך W3TC'ס מיניפיי סעטינגס.
די לייזונג איז ווי פאלגנד:
גיי צו W3 טאָטאַל קאַש → אַלגעמיינע סעטטינגס → אַוואַנסירטע קאַמפּרעשאַן סעטטינגס → JS → מיניפי ענדזשין סעטטינגס → לאָקאַל סעטטינגס, און ענדער די עמבעדדינג טיפּ צו איינע פון די צוויי:
- פריער, איז נישט-בלאָקירן דערגרייכט געוואָרן ניצנדיק דזשאַוואַסקריפּט.
- דערנאך, ניצט JS פאר נישט-בלאקירן
אזוי אויך, אויסרייניקן דעם קעש און דערפרישן די בלאט וועט ערלויבן די זוכקעסטל צו ארבעטן ריכטיג.
וואָס שייך פאַרוואָס די צוויי אָפּציעס זענען אויסגעקליבן געוואָרן אַנשטאָט אַנדערע, האָב איך געטאָן אַ ביסל פאָרשונג. פשוט געזאָגט, די אַסטראַ טעמע'ס פראָנט-ענד קאָמפּאָנענטן זענען גאַנץ סענסיטיוו צו דער צייט פון סקריפּט אויספירונג, און געוויסע ניט-בלאָקירנדיקע מעטאָדן קענען פאַראורזאַכן געשעעניש ביינדינג צו דורכפאַלן. ניצן דעם "ניט-בלאָקירנדיק מיט JS" מאָדע זיכערט אַז דער סקריפּט אויספירט זיך נאָר נאָכדעם וואָס די בלאַט האָט זיך געענדיקט לאָדן, בשעת מען פֿאַרמייַדט די נישט-געאָרדנטע אויספירונג וואָס מען זעט מיט אַסינק.
ליסטע פון ערטער צו באַזוכן
צום סוף, דאָ איז אַ טשעקליסט וואָס איר קענט גלייך נאָכפֿאָלגן:
דער ערשטער שריט איז צו קלארשטעלן אייער ציל. ווילט איר די שנעלסטע ערשטע בלאַט לאָדן, אדער שטעלט איר אין פּריאָריטעט פעסטקייט און טעות-פֿרייע אָפּעראַציע? דאָס וועט באַשטימען וועלכע עמבעדדינג טיפּ איר זאָלט נוצן.
דער צווייטער שריט איז נישט צו ענדערן אלעס אויף איין מאל. ערשטנס, זוכט א ווייניגער וויכטיגע בלאט צו עס טעסטן, באאבאכט עס פאר א טאג אדער צוויי, און פראמאטירט עס נאר אויף דער גאנצער זייטל אויב איר זענט זיכער אז עס זענען נישטא קיין פראבלעמען.
דריטנס, שטענדיק אויסמעקן דעם קעש נאך יעדער ענדערונג. W3TC'ס קעשינג מעכאניזם וועט אייך פארמיידן צו זען די לעצטע ענדערונגען, ממילא איז דער "אויסמעקן קעש און נאכאמאל טעסטן" שריט גאר וויכטיג.
פערטנס, ניצט אייער בראַוזער'ס דעוועלאָפּער מכשירים אדער מכשירים ווי PageSpeed Insights צו פאַרגלייַכן די לאָודינג גיכקייט פריער און נאָך. לאָזט די דאַטן רעדן פֿאַר זיך, נישט נאָר אייער געפיל.
שרייב אין די סוף
צו זיין ערלעך, ווען איך האב צום ערשטן מאל געזען די איינגעבעטענע טיפ סעטינג, בין איך געווען שאקירט פאר א לאנגע צייט. דער דיפאלט בלאקירן מאָדוס האט אויסגעזען צו שטייט, בשעת די אסינכראנישע מאָדוס האט נישט גאראנטירט די סדר פון די אפעראציעס, און די פארלענגערונג קען שאפן קאמפאטיבילעטי פראבלעמען. איך בין געווען אומזיכער וועלכע אפציע צו קלייבן.
אבער איך האב שפעטער איינגעזען אז ס'איז א קאמפראמיס. מען קען נישט האבן ביידע די שנעלסטע און די מערסט סטאבילע; מען מוז שטענדיג אפפערן איינס. מיין ערפארונג איז צו ניצן דעפער ערשט, וואס איז יעצט די זיכערסטע נישט-בלאקירנדע לייזונג, און דערנאך ניצן א קאלבעק אויב פראבלעמען קומען אויף.
אויב איר טרעפט ענלעכע פראבלעמען, אדער אויב איר האט נאך אלץ אנדערע פראבלעמען נאכדעם וואס איר האט נאכגעפאלגט מיין מעטאד, פילט זיך פריי צו דיסקוטירן דאס. וועבזייטל אנטוויקלונג איז אלץ וועגן פרובירן און טעותן; קיינער איז נישט קיין אויסנאם.
א דאנק פארן לייענען מיין ארטיקל. זעהט אייך דאס נעקסטע מאל.
איך האף אז דער ארטיקל "W3 Total Cache Minify Plugin Settings: How to Choose the Embedding Type? My Pitfalls and Lifesaving Advice" וואס איז געשערט געווארן אויף טשען ווייליאנג'ס בלאג ( https://www.chenweiliang.com/ ) וועט זיין נוצלעך פאר אייך.
פילט אייך פריי צו טיילן דעם לינק פון דעם ארטיקל: https://www.chenweiliang.com/cwl-34003.html
