شرح كود lazy Load لتسريع مدونة بلوجر
19779792034227590
recent
أخبار ساخنة

شرح كود lazy Load لتسريع مدونة بلوجر

الخط


تسريع مدونة بلوجر، كيف اسرع مدونتى ، كود لتسريع تصفح مدونة بلوجر، مدونتى بطيئه كيف اسرعها، اختبار سرعة مدونة بلوجر ، كود lazy load لتسريع مدونات بلوجر .

كل هذه أسئله تتبادر الى الذهن حين نرى مدونتنا على بلوجر بطيئه، فنقوم بالبحث فى محرك البحث جوجل عن سبيل لزيادة سرعة المدونه بالطرق المعروفه سواء أكواد لتسريع التصفح أو من خلال تعديلات بالقالب الخاص بالمدونه ..... الخ .
فكل صاحب مدونه يتمنى ان تكون مدونته سريعه أمام الزائر لكى يكسب من خلال ذلك زوار ويزيد من تصفح مواضيع المدونه نظرا لسهولة تصفحها وهو مايفضله الزائر وبالتالى يقل الـ Bounce rate لمدونتك مما يؤهلها لكسب ثقة محركات البحث .
وهنا فى مقالى هذا سأتطرق الى وسيله فعاله لتسريع التصفح فى مدونتك بلوجر وهو كود رائع اسمه Lazy Load يعمل على تسريع المدونه .

دعونا اولا نتعرف على ماهو كود Lazy Load ووظيفته.

كود Lazy Load هو عباره عن كود برمجى بلغة html وظيفته العمل على تتابع تحميل محتويات الصفحه بمعنى أنه عندما يكون لديك صفحه بها كثير من الصور فهذا الكود يقوم أولا بتحميل الكلام الموجود بالصفحه ثم يقوم بعد ذلك بتحميل الصور وعرضها أمامك حسب الطلب أى عند تحريك الصفحه لأسفل تظهر لديك الصور بالتتابع ممايكسب مدونتك سرعه فى التصفح وهذا مانسعى اليه .

لماذا يجب عليك نحميل كود Lazy Load بمدونتك

لم تعد مدوناتنا على منصة بلوجر وغيرها تحتوى على صفحه او صفحتين وقليل من الصور مع كثير من النصوص ممالايحدث أى حمل زائد على تصفح تلك المدونه ، ولكن تغير الحال اليوم حيث تحتوى المدونات على كثير من الصور وأزرار وسائل التواصل الاجتماعى والاكواد والاعلانات وغيرها الأمر الذى يتطلب سرعة تحميل لتلك الصفحات أمام الزائر والا ستفقد زوارك وثقة محركات البحث فى مدونتك .
كل هذا يتطلب تسريع لمدونتك وهنا بأتى الطلب على تحميل كود ليزى لود بمدونتك ودمجه بالقالب الخاص بمدونتك للوصول للسرعه المثاليه لمدونتك والتى يفضلها الزائر.
ولكى نبدأ يجب أولا أخذ نسخه احتياطيه من قالب مدونتك لكى يتم العمل بدون اخطاء بحيث لو حدث أى خطأ تستطيع الرجوع للنسخه الاحتياطيه من قالبك .
ويتم ذلك عبر الدخول الى لوحة تحكم مدونتك ..... ثم المظهر ..... ثم اخذ نسخه احتياطيه وحفظها بجهازك .... شاهد الصوره التاليه:


ثم من الصوره التاليه اضغط على تنزيل المظهر ....

1- اضافة jQuery الى مدونتك .

اغلب القوالب الحديثه والمتجاوبه تستخدم jQuery فهذا السكربت مهم جدا فى مدونتك حيث يعمل على تشغيل وظيفة المقالات ذات الصله، السايق والقادم بالنسبه للمقالات ، السلايدر بقالب المدونه وغيره الكثير .
فيمكنك التاكد من وجود هذا الكود بمدونتك من خلال البحث فى القالب أو من خلال هذا الموقع ، أما القوالب القديمه والتى ان لم يوجد بها الكود فتستطيع وضع الكود التالى بقالب مدونتك 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
ويتم وضعه اعلا وسم </head> بالقالب ثم حفظ القالب .

2- طريقة اضافة كود Lazy Load الى مدونتك بلوجر.

هذا الكود مهم فى تحميل الصور وعرضها وقت الطلب للزائر اثناء وصوله بالقراءه لها فتظهر فورا وهكذا ، وهذا الكود يعمل على
 اغلب المتصفحات ومتوافق معها وهى 
IE 6-11, Chrome 1-31, Firefox 1.5-27.0, Safari 3-7, Opera 10.6-18.0, iOS 5-7,
 Android 2.3-4.4, Amazon Kindle Fire 2 and HD 8.9, Opera Mini 7.
ويتم اضافة الكود التالى بأعلى الوسم </body> بقالب المدونه.
<script type='text/javascript'>//<![CDATA[ /*! Lazy Load XT | (C)2014 RESS.io | MIT License * BLOGGER Implementation by Muntasir Minhaz //www.techinfoknow.com/2014/08/lazy-load-blogger.html */(function($,window,document,undefined){var lazyLoadXT='lazyLoadXT',dataLazied='lazied',load_error='load error',classLazyHidden='lazy-hidden',docElement=document.documentElement||document.body,forceLoad=(window.onscroll===undefined||!!window.operamini||!docElement.getBoundingClientRect),options={autoInit:true,selector:'img[data-src]',blankImage:'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7',throttle:99,forceLoad:forceLoad,loadEvent:'pageshow',updateEvent:'load orientationchange resize scroll touchmove focus',forceEvent:'',oninit:{removeClass:'lazy'},onshow:{addClass:classLazyHidden},onload:{removeClass:classLazyHidden,addClass:'lazy-loaded'},onerror:{removeClass:classLazyHidden},checkDuplicates:true},elementOptions={srcAttr:'data-src',edgeX:0,edgeY:0,visibleOnly:true},$window=$(window),$isFunction=$.isFunction,$extend=$.extend,$data=$.data||function(el,name){return $(el).data(name)},$contains=$.contains||function(parent,el){while(el=el.parentNode){if(el===parent){return true}}return false},elements=[],topLazy=0,waitingMode=0;$[lazyLoadXT]=$extend(options,elementOptions,$[lazyLoadXT]);function getOrDef(obj,prop){return obj[prop]===undefined?options[prop]:obj[prop]}function scrollTop(){var scroll=window.pageYOffset;return(scroll===undefined)?docElement.scrollTop:scroll}$.fn[lazyLoadXT]=function(overrides){overrides=overrides||{};var blankImage=getOrDef(overrides,'blankImage'),checkDuplicates=getOrDef(overrides,'checkDuplicates'),scrollContainer=getOrDef(overrides,'scrollContainer'),elementOptionsOverrides={},prop;$(scrollContainer).on('scroll',queueCheckLazyElements);for(prop in elementOptions){elementOptionsOverrides[prop]=getOrDef(overrides,prop)}return this.each(function(index,el){if(el===window){$(options.selector).lazyLoadXT(overrides)}else{if(checkDuplicates&&$data(el,dataLazied)){return}var $el=$(el).data(dataLazied,1);if(blankImage&&el.tagName==='IMG'&&!el.src){el.src=blankImage}$el[lazyLoadXT]=$extend({},elementOptionsOverrides);triggerEvent('init',$el);elements.push($el)}})};function triggerEvent(event,$el){var handler=options['on'+event];if(handler){if($isFunction(handler)){handler.call($el[0])}else{if(handler.addClass){$el.addClass(handler.addClass)}if(handler.removeClass){$el.removeClass(handler.removeClass)}}}$el.trigger('lazy'+event,[$el]);queueCheckLazyElements()}function triggerLoadOrError(e){triggerEvent(e.type,$(this).off(load_error,triggerLoadOrError))}function checkLazyElements(force){if(!elements.length){return}force=force||options.forceLoad;topLazy=Infinity;var viewportTop=scrollTop(),viewportHeight=window.innerHeight||docElement.clientHeight,viewportWidth=window.innerWidth||docElement.clientWidth,i,length;for(i=0,length=elements.length;i<length;i++){var $el=elements[i],el=$el[0],objData=$el[lazyLoadXT],removeNode=false,visible=force,topEdge;if(!$contains(docElement,el)){removeNode=true}else if(force||!objData.visibleOnly||el.offsetWidth||el.offsetHeight){if(!visible){var elPos=el.getBoundingClientRect(),edgeX=objData.edgeX,edgeY=objData.edgeY;topEdge=(elPos.top+viewportTop-edgeY)-viewportHeight;visible=(topEdge<=viewportTop&&elPos.bottom>-edgeY&&elPos.left<=viewportWidth+edgeX&&elPos.right>-edgeX)}if(visible){triggerEvent('show',$el);var srcAttr=objData.srcAttr,src=$isFunction(srcAttr)?srcAttr($el):el.getAttribute(srcAttr);if(src){$el.on(load_error,triggerLoadOrError);el.src=src}removeNode=true}else{if(topEdge<topLazy){topLazy=topEdge}}}if(removeNode){elements.splice(i--,1);length--}}if(!length){triggerEvent('complete',$(docElement))}}function timeoutLazyElements(){if(waitingMode>1){waitingMode=1;checkLazyElements();setTimeout(timeoutLazyElements,options.throttle)}else{waitingMode=0}}function queueCheckLazyElements(e){if(!elements.length){return}if(e&&e.type==='scroll'&&e.currentTarget===window){if(topLazy>=scrollTop()){return}}if(!waitingMode){setTimeout(timeoutLazyElements,0)}waitingMode=2}function initLazyElements(){$window.lazyLoadXT()}function forceLoadAll(){checkLazyElements(true)}$(document).ready(function(){triggerEvent('start',$window);$window.on(options.loadEvent,initLazyElements).on(options.updateEvent,queueCheckLazyElements).on(options.forceEvent,forceLoadAll);$(document).on(options.updateEvent,queueCheckLazyElements);if(options.autoInit){initLazyElements()}})})(window.jQuery||window.Zepto||window.$,window,document);(function($){var options=$.lazyLoadXT;options.selector+=',video,iframe[data-src]';options.videoPoster='data-poster';$(document).on('lazyshow','video',function(e,$el){var srcAttr=$el.lazyLoadXT.srcAttr,isFuncSrcAttr=$.isFunction(srcAttr);$el.attr('poster',$el.attr(options.videoPoster)).children('source,track').each(function(index,el){var $child=$(el);$child.attr('src',isFuncSrcAttr?srcAttr($child):$child.attr(srcAttr))});this.load()})})(window.jQuery||window.Zepto||window.$); //]]></script>




 

وبعد تركيب الكود قمت بإختبار السرعه للمدونه عبر PageSpeed Insights وكانت النتيجه كما بالصورتين على التوالى :

ثم


اتمنى أن اكون وفقت فى ايصال معلومه لكم
مع وافر تحياتى
ليست هناك تعليقات
إرسال تعليق

إرسال تعليق

نموذج الاتصال
الاسمبريد إلكترونيرسالة