W3 ٽوٽل ڪيش منيفائي پلگ ان سيٽنگون: ايمبيڊنگ ٽائپ ڪيئن چونڊيو؟ منهنجو مسئلو حل ڪرڻ جو تجربو ۽ زندگي بچائڻ جو مشورو

W3 ٽوٽل ڪيش مينيفائي لاءِ صحيح ايمبيڊنگ قسم چونڊڻ ۾ ڏکيائي ٿي رهي آهي؟ هي مضمون ويب ماسٽر جي حقيقي دنيا جي تجربي کي شيئر ڪري ٿو ۽ صحيح مينيفائي ايمبيڊنگ قسم کي صحيح طور تي چونڊڻ لاءِ قدم بہ قدم گائيڊ فراهم ڪري ٿو، ويب سائيٽ جي انداز جي غلطين ۽ لوڊنگ حادثن کان بچڻ لاءِ. ان ۾ هڪ فول پروف سيٽ اپ حل پڻ شامل آهي جيڪو شروعاتي ماڻهو به آساني سان لاڳو ڪري سگهن ٿا، هڪ هموار ۽ تيز ورڈپریس تجربو کي يقيني بڻائي ٿو!

مان هڪ ويب سائيٽ کي بهتر بڻائي رهيو هوس ۽ جڏهن مون W3 ٽوٽل ڪيش ۾ Minify سيٽنگون کوليون، ته مان مڪمل طور تي حيران ٿي ويس. ايمبيڊڊ ٽائپ لاءِ ڊراپ ڊائون مينيو ۾ چار آپشن هئا: ڊفالٽ (بلاڪ)، نان بلاڪنگ لاءِ JS استعمال ڪريو، نان بلاڪنگ لاءِ "Asynchronous" استعمال ڪريو، ۽ نان بلاڪنگ لاءِ "Delayed" استعمال ڪريو.

مون هڪ لمحي لاءِ سوچيو، هي سڀ ڇا آهي؟

مون تي يقين ڪريو، توهان اڪيلا نه آهيو. اهي چار آپشن شايد هڪ نئين سکندڙ کي به حيران ڪري ڇڏيندا، ڪنهن کي ته ڇڏيو جيڪو سالن کان ورڈپریس استعمال ڪري رهيو آهي. هي آرٽيڪل انهن نقصانن کي پيش ڪري ٿو جن کي مون منهن ڏنو آهي ۽ اهي سبق جيڪي مون سڌو سنئون سکيا آهن. توهان کي دستاويزن سان صلاح ڪرڻ جي ضرورت ناهي؛ صرف منهنجي هدايتن تي عمل ڪريو.

اهي چار ايمبيڊنگ قسم اصل ۾ ڪهڙا آهن؟

W3 ٽوٽل ڪيش منيفائي پلگ ان سيٽنگون: ايمبيڊنگ ٽائپ ڪيئن چونڊيو؟ منهنجو مسئلو حل ڪرڻ جو تجربو ۽ زندگي بچائڻ جو مشورو

اچو ته پهرين ڳالهايون ته اهي چار آپشن ڪهڙي قسم جا ڪردار آهن.

ڊفالٽ بلاڪنگ سڀ کان سڌو طريقو آهي. جڏهن برائوزر ڪنهن اسڪرپٽ سان ملندو آهي، ته اهو اسڪرپٽ کي مڪمل طور تي روڪي ٿو، ڊائون لوڊ ڪري ٿو ۽ عمل ڪري ٿو، ۽ پوءِ صفحي کي رينڊر ڪرڻ جاري رکي ٿو. قابل اعتماد لڳي ٿو، صحيح؟ پر واپار بند اهو آهي ته توهان جو شروعاتي صفحو لوڊ ٿيڻ ۾ دير ٿيندي؛ صارفين کي ڪجهه به ڏسڻ کان اڳ اسڪرپٽ جي هلڻ ختم ٿيڻ جو انتظار ڪرڻو پوندو.

نان بلاڪنگ لاءِ جاوا اسڪرپٽ استعمال ڪرڻ ڪافي دلچسپ آهي. صفحي تي سڌو سنئون `<script>` ٽيگ لکڻ جي بدران، اهو پهريان هڪ ننڍڙو اسڪرپٽ آئوٽ پُٽ ڪندو آهي، ۽ پوءِ صفحي جي هلڻ کان پوءِ جاوا اسڪرپٽ ذريعي ضروري اسڪرپٽ کي متحرڪ طور تي صفحي ۾ داخل ڪندو آهي. هن طريقي سان، صفحو پهريان رينڊر ٿي سگهي ٿو، ۽ اسڪرپٽ بتدريج لوڊ ٿين ٿا. سٺو لڳندو آهي، صحيح؟ بهرحال، مسئلو اهو آهي ته هي متحرڪ انجيڪشن عمل اسڪرپٽ جي اصل عملدرآمد جي ترتيب کي خراب ڪري سگهي ٿو. جيڪڏهن توهان جي صفحي تي ڪجهه اسڪرپٽ عملدرآمد جي ترتيب تي تمام گهڻو ڀروسو ڪن ٿا، ته مسئلا پيدا ٿي سگهن ٿا.

غير بلاڪنگ ايگزيڪيوشن لاءِ "غير مطابقت پذير" استعمال ڪرڻ ۾ صرف "<سڪرپٽ>" ٽيگ ۾ "غير مطابقت پذير" خاصيت شامل ڪرڻ شامل آهي. اسڪرپٽ پس منظر ۾ غير مطابقت پذير طور تي ڊائون لوڊ ٿيندي ۽ مڪمل ٿيڻ تي فوري طور تي عمل ڪندي، بغير صفحي جي انتظار جي. بهرحال، خرابي اها آهي ته عملدرآمد جو حڪم مڪمل طور تي بي قابو آهي؛ جيڪو به ڊائون لوڊ پهريون ڀيرو عمل ڪري ٿو، قطع نظر ان جي ته توهان ڪوڊ ۾ ڪهڙو آرڊر بيان ڪيو آهي.

"ڊيلي" کي غير بلاڪنگ ايگزيڪيوشن لاءِ استعمال ڪرڻ "ڊيفر" خاصيت شامل ڪرڻ سان حاصل ڪيو ويندو آهي. اسڪرپٽ انتظار ڪندي جيستائين پوري صفحي کي ايگزيڪيوٽو ڪرڻ کان اڳ پارس نه ڪيو وڃي، ۽ اهم طور تي، اهو اصل ترتيب برقرار رکندو جنهن ۾ توهان ان کي لکيو هو. هي ڪافي استعمال ڪندڙ دوستانه آهي، ڇاڪاڻ ته اهو نه ته پهرين اسڪرين کي بلاڪ ڪري ٿو ۽ نه ئي اسڪرپٽ جي آرڊر کي خراب ڪري ٿو.

مون کي ڪهڙو چونڊڻ گهرجي؟

سادي لفظن ۾، اهي چار آپشن هڪ گھڻ-چونڊي سوال وانگر آهن: ڇا توهان رفتار چاهيو ٿا، يا توهان آرڊر چاهيو ٿا؟

منهنجي تجويز هن ريت آهي:

جيڪڏهن توهان جي ويب سائيٽ ننڍي آهي، ان ۾ ڪجهه اسڪرپٽ آهن، ۽ توهان کي لوڊ ڪرڻ جي رفتار لاءِ تمام گهڻيون گهرجون نه آهن، ته پوءِ ڊفالٽ (بلاڪ ٿيل) سيٽنگ استعمال ڪرڻ سڀ کان آسان آپشن آهي. جيتوڻيڪ اهو ٿورو سست آهي، پر ان سان ڪو به مسئلو نه ٿيندو.

جيڪڏهن توهان پهرين اسڪرين جي رفتار کي بهتر بڻائڻ چاهيو ٿا ۽ توهان جي اسڪرپٽ ۾ مضبوط انحصار نه آهن جهڙوڪ "A must execute before B"، غير بلاڪنگ ايگزيڪيوشن لاءِ "defer" استعمال ڪرڻ کي ترجيح ڏيو . هي تقريبن مثالي حل آهي جيڪو هن وقت موجود آهي، ڇاڪاڻ ته اهو ايگزيڪيوشن جي ترتيب کي برقرار رکندي رينڊرنگ کي بلاڪ ڪرڻ کان پاسو ڪري ٿو.

جيڪڏهن توهان ڏسندا آهيو ته ڪجهه فنڪشنز کي ڊيفر ڪرڻ جي ڪوشش ڪرڻ کان پوءِ به مسئلا آهن، ته پوءِ نان بلاڪنگ لاءِ جاوا اسڪرپٽ استعمال ڪرڻ تي غور ڪريو . هي طريقو وڌيڪ جارحاڻو آهي، پر ان جي مطابقت ٿوري خراب آهي.

"async" کي غير بلاڪنگ لاءِ استعمال ڪرڻ اهو آپشن آهي جيڪو مان گهٽ ۾ گهٽ سفارش ڪريان ٿو. ڇاڪاڻ ته عملدرآمد جو حڪم مڪمل طور تي خراب آهي، ان کي ڪريش ڪرڻ آسان آهي جيستائين توهان کي پڪ ناهي ته توهان جا اسڪرپٽ آزاديءَ سان هلن ٿا.

ٻہ وڏا ڦڙا جن ۾ مان پئجي ويس

ڳالهائڻ سستو آهي. مون ٻہ غلطيون لکيون آهن جيڪي مون ڪيون آهن؛ توهان انهن کي پنهنجي تجربي سان جانچي سگهو ٿا ته ڏسو ته ڇا توهان انهن کان بچي سگهو ٿا.

پهريون نقصان: ڪسٽم ورڈپریس ٿيمز کي حقيقي وقت ۾ ڏسي نه ٿو سگهجي.

ڪجهه وقت لاءِ، جڏهن ڪنهن ٿيم کي ڪسٽمائيز ڪيو ويندو هو، ته پوءِ محفوظ ڪريو تي ڪلڪ ڪرڻ کان پوءِ، پريويو ريفريش نه ٿيندو هو. مان ڪجهه تبديليون ڪندس، صفحي کي ريفريش ڪندس، ۽ اهو اڃا تائين ساڳيو رهندو.

ڪجهه جاچ کان پوءِ، مون کي خبر پئي ته Minify جو ڪمپريشن فنڪشن مجرم هو. حل سادو آهي:

W3 ٽوٽل ڪيش پلگ ان جي جنرل سيٽنگز ڏانهن وڃو، "ڪمپريشن" آپشن ڳوليو ، ۽ ان کي چيڪ ڪريو. پوءِ، مٿي ساڄي ڪنڊ ۾ "سيو سيٽنگون" هيٺان ننڍڙي تير تي ڪلڪ ڪريو، ۽ " سيو سيٽنگون ۽ صاف ڪيش " چونڊيو. هي قدم اهم آهي؛ ڪيش صاف ڪرڻ کان سواءِ، توهان اڃا تائين پراڻو ورجن ڏسندا.

جڏهن توهان مڪمل ڪري وٺو، ته پوءِ ٿيم ڪسٽمائيزيشن ڏانهن واپس وڃو، ۽ لائيو پريويو معمول تي واپس اچي ويندو.

ٻيو مسئلو: ايسٽرا ٿيم سرچ باڪس ڪلڪ ڪرڻ تي جواب نٿو ڏئي.

مون کي ڪافي وقت اڳ هي مسئلو پيش آيو هو. مان ايسٽرا ٿيم استعمال ڪري رهيو هوس، ۽ هڪ ڏينهن اوچتو مون ڏٺو ته سرچ باڪس جواب نه ڏئي رهيو هو، جيتوڻيڪ مان ان تي ڪيترو به ڪلڪ ڪريان. پهرين ته، مون سوچيو ته اهو ٿيم سان ئي مسئلو آهي، پر بعد ۾ مون کي خبر پئي ته اهو W3TC جي Minify سيٽنگن جي ڪري ٿيو آهي.

حل هن ريت آهي:

W3 ٽوٽل ڪيش → جنرل سيٽنگون → ايڊوانسڊ ڪمپريشن سيٽنگون → JS → مينيفائي انجن سيٽنگون → لوڪل سيٽنگون ڏانهن وڃو، ۽ ايمبيڊنگ جي قسم کي انهن ٻن مان هڪ ۾ تبديل ڪريو:

  1. اڳي، جاوا اسڪرپٽ استعمال ڪندي نان بلاڪنگ حاصل ڪئي ويندي هئي.
  2. ان کان پوءِ، غير بلاڪنگ لاءِ JS استعمال ڪريو

ساڳئي طرح، ڪيش صاف ڪرڻ ۽ صفحي کي ريفريش ڪرڻ سان سرچ باڪس صحيح طريقي سان ڪم ڪندو.

جيئن ته انهن ٻن اختيارن کي ٻين جي بدران ڇو چونڊيو ويو، مون ڪجهه تحقيق ڪئي آهي. آسان لفظن ۾، ايسٽرا ٿيم جا فرنٽ اينڊ جزا اسڪرپٽ ايگزيڪيوشن جي وقت لاءِ ڪافي حساس آهن، ۽ ڪجهه نان بلاڪنگ طريقا ايونٽ بائنڊنگ کي ناڪام بڻائي سگهن ٿا. "نان بلاڪنگ وِد جي ايس" موڊ استعمال ڪرڻ يقيني بڻائي ٿو ته اسڪرپٽ صرف صفحي جي لوڊ ٿيڻ کان پوءِ عمل ڪري ٿي، جڏهن ته ايس سنڪ سان نظر ايندڙ بي ترتيب عملدرآمد کان پاسو ڪري ٿي.

گهمڻ لاءِ جڳهن جي فهرست

آخرڪار، هتي هڪ چيڪ لسٽ آهي جنهن تي توهان سڌو سنئون عمل ڪري سگهو ٿا:

پهريون قدم توهان جي مقصد کي واضح ڪرڻ آهي. ڇا توهان تيز ترين شروعاتي صفحي لوڊ چاهيو ٿا، يا توهان استحڪام ۽ غلطي کان پاڪ آپريشن کي ترجيح ڏيو ٿا؟ اهو طئي ڪندو ته توهان کي ڪهڙي قسم جي ايمبيڊنگ استعمال ڪرڻ گهرجي.

ٻيو قدم اهو ناهي ته سڀ ڪجهه هڪ ئي وقت تبديل ڪيو وڃي. پهرين، هڪ گهٽ اهم صفحو ڳوليو ان کي جانچڻ لاءِ، ان کي هڪ يا ٻن ڏينهن لاءِ مشاهدو ڪريو، ۽ ان کي صرف پوري سائيٽ تي فروغ ڏيو جيڪڏهن توهان کي پڪ آهي ته ڪو مسئلو ناهي.

ٽيون، هر ترميم کان پوءِ هميشه ڪيش صاف ڪريو. W3TC جو ڪيشنگ ميڪانيزم توهان کي تازيون تبديليون ڏسڻ کان روڪيندو، تنهن ڪري "ڪيش صاف ڪريو ۽ ٻيهر ٽيسٽ ڪريو" قدم بلڪل ضروري آهي.

چوٿون، پنهنجي برائوزر جي ڊولپر ٽولز يا پيج اسپيڊ انسائيٽس جهڙن اوزارن کي استعمال ڪريو لوڊنگ جي رفتار کان اڳ ۽ پوءِ جو مقابلو ڪرڻ لاءِ. ڊيٽا کي پاڻ لاءِ ڳالهائڻ ڏيو، صرف توهان جي آنڊن جي احساس کي نه.

آخر ۾ لکو

سچ پڇو ته، جڏهن مون پهريون ڀيرو هي ايمبيڊڊ ٽائيپ سيٽنگ ڏٺي، ته مان گهڻي وقت تائين دنگ رهجي ويس. ڊفالٽ بلاڪنگ موڊ تمام سست لڳي رهيو هو، جڏهن ته غير مطابقت وارو موڊ آرڊر جي ضمانت نه ڏيندو هو، ۽ ملتوي ڪرڻ سان مطابقت جا مسئلا پيدا ٿي سگهن ٿا. مون کي پڪ نه هئي ته ڪهڙو آپشن چونڊيو وڃي.

پر مون کي بعد ۾ احساس ٿيو ته اهو هڪ واپار آهي. توهان وٽ تيز ترين ۽ مستحڪم ٻئي نه ٿي سگهن؛ توهان کي هميشه هڪ قربان ڪرڻو پوندو. منهنجو تجربو اهو آهي ته پهريان ڊيفر استعمال ڪيو وڃي، جيڪو هن وقت محفوظ ترين غير بلاڪنگ حل آهي، ۽ پوءِ جيڪڏهن مسئلا پيدا ٿين ٿا ته ڪال بيڪ استعمال ڪيو وڃي.

جيڪڏهن توهان کي ساڳين مسئلن جو منهن ڏسڻو پوي ٿو، يا منهنجي طريقي تي عمل ڪرڻ کان پوءِ به توهان کي ٻيا مسئلا درپيش آهن، ته ان تي بحث ڪرڻ لاءِ آزاد محسوس ڪريو. ويب سائيٽ ڊولپمينٽ سڀ آزمائش ۽ غلطي بابت آهي؛ ڪو به استثنا نه آهي.

منهنجو مضمون پڙهڻ لاءِ مهرباني. ايندڙ ڀيري ملنداسين.

مون کي اميد آهي ته چن ويليانگ جي بلاگ ( https://www.chenweiliang.com/ ) تي شيئر ڪيل مضمون "W3 ٽوٽل ڪيش مينيفائي پلگ ان سيٽنگون: ايمبيڊنگ ٽائپ ڪيئن چونڊيو؟ منهنجا نقصان ۽ زندگي بچائڻ جو مشورو" توهان لاءِ مددگار ثابت ٿيندو.

هن مضمون جي لنڪ شيئر ڪرڻ لاءِ آزاد محسوس ڪريو: https://www.chenweiliang.com/cwl-34003.html

وڌيڪ لڪيل چالون کولڻ لاءِ🔑، اسان جي ٽيليگرام چينل ۾ شامل ٿيڻ لاءِ ڀليڪار!

شئير ڪريو ۽ پسند ڪريو جيڪڏھن توھان کي پسند اچي! توهان جا حصا ۽ پسند اسان جي مسلسل حوصلا آهن!

 

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

جي ويڙھيء وانگي امروٽي