در این مقاله قصد داریم درباره خطای Minimize request size و حل آن در GTmetrix صحبت کنیم. رفع ارور Minimize request size برای افزایش سرعت سایت و بهینه سازی لود شما بسیار حائز اهمیت خواهد بود و از طرفی رفع این مشکل باعث رفع مشکلات دیگری هم خواهد شد که در ادامه به بررسی و تشریح آن میپردازیم.
نام: Minimize request size
نوع: محتواها
اولویت: بالا
میزان سختی: متوسط
میانگین امتیاز: 98%
معمولا در هر صفحه از طراحی سایت (طراحی سایت فروشگاهی، طراحی سایت شرکتی) تعدادی فایل (عکسها، استایلها، فایلهای جاوا اسکریپت و …) استفاده شده است ، برای دریافت هر کدام از این فایلها مرورگر مجبور است یک درخواست به سمت سرور ارسال کند ، رد و بدل این درخواستها توسط مرورگر و سرور نیاز به زمان زیادی دارد و اگر تعداد فایلها زیاد باشید به مراتب تعداد درخواستها بیشتر میشود و طبیعتا درگیری سرور هم بالا میرود، این موضوع شاید در سایتهای کم بازدید خیلی محسوس نباشد ولی وقتی بازدیدکننده سایت بالا باشد قطعا رفع ارور Minimize request size قدم بزرگی در بهینه سازی سایت چه در سمت سرور و چه در سمت کاربر خواهد کرد.
حال اگر با ارور Minimize request size در GTMetrix برخورد کردید نشان از این است که تعداد درخواستها برای بارگذاری عکسها، فایلهای CSS یا جاوا اسکریپت و… به سرور ارسال میگردد، باید کاهش پیدا کند. چنین خطاهایی مخصوصا در CMS های رایگان بسیار رایج است چرا که سازنده قالب برای بالا بردن انعطافپذیری قالب خود ناگزیر است استایلها و فایلهای جداگانهای تعریف کند مثلا برای راستچین کردن قالب، کدهای آن را در rtl.css قرار میدهد درحالی که در اکثر سایتهایی که طراحی سایت آن به شکل اختصاصی صورت میگیرد و دارای CMS اختصاصی هستند چنین مواردی کمتر دیده میشود البته این موضوع به معنی ضعف CMSهای رایگان نیست و با کمی مدیریت و بهینه سازی قالب میتوان این مشکل را به راحتی رفع نمود.
روشهای مختلفی را میتوان برای فایلها اجرا کرد تا ارور Minimize request size رفع شود، ادغام فایلها، ایجاد لود تنبل فایلها و یا حذف فایلهای اضافی از مهمترین روشها برای رفع این خطا است.
یکپارچه سازی تصاویر و ادغام آنها یکی از مهمترین فاکتورها در بهبود خطای Minimize request size است. یکی از بهترین روشها برای ادغام تصاویر ٰcss sprites است و ما در مقاله رفع خطای Combine images using CSS sprites به تشریح درباره این خطا صبحت کردیم و پیشنهاد میشود برای رفع ارور Minimize request size مقاله اشاره شده را حتما بخوانید.
همچنین شما میتوانید از لود تنبل برای عکسها (Images Lazy Loading) نیز استفاده کنید تا تعداد درخواستهای همزمان نیز به شدت کاهش یابد، روش Lazy Load اگر برای عکسها فعال شوید به این شکل است که کاربرها صرفا عکسهایی را لود میکنند که در صفحه مانیتور آنها قابل مشاهده است و مثلا عکسهای موجود در پایین سایت را در مرورگر خود لود نمیکنند مگر با اسکرول به سمت پایین صفحه بروند و آن زمان درخواست برای بارگذاری عکس به سمت سرور ارسال میشود، روش لود تنبل باعث کاهش چشمگیری از درخواستهای اولیه برای لود یک صفحه میشود. برای فعالسازی این قابلیت در سایت خود کافی است بسته به نوع کدنویسی و CMS خود در گوگل جستجو کنید. مثلا lazy load Plugin WordPress یا lazy load Plugin Joomla یا اگر CMS اختصاصی دارید براساس نوع زبان نوشته شده سایت خود جستجو را انجام دهید مثلا lazy load PHP Example یا lazy load ASP.NET MVC
روشهایی مشابه همانند عکس برای فایلهای CSS و JS نیز وجود دارد اگر از CMS اختصاصی استفاده میکنید بهترین است به طراح سایت خود این موضوع را به اشتراک بگذارید و از او بخواهید برای رفع این خطا اقدام کند ولی اگر از CMSهای رایگان استفاده میکنید افزونه های مختلفی برای یکپارچه سازی و ادغام فایل های سایت شما وجود دارد. افزونه وردپرس Autoptimize جدا از رفع ارور Minify CSS ، رفع ارور Minify JavaScript و همچنین رفع ارور Minify HTML، خطای Minimize request size را هم میتواند برطرف کند، این افزونه با ادغام کردن فایلهای CSS با هم و همینطور ادغام کردن فایلهای JS با هم باعث کاهش تعداد این فایلها شده و در نتیجه باعث کاهش تعداد درخواستها هم نیز میشود. البته باید توجه داشته باشید که بعد از فعالسازی این امکان سایت شما ظاهر خود را نگهداشته باشد چرا که گاهی ممکن است ادغام فایلها باعث تداخل و بهمریختی سایت شود.افزونه وردپرس WP Rocket نیز تمام امکانات افزونه Autoptimize را نیز دارد بعلاوه میتواند حالت لود تنبل را برای عکسها نیز محیا کند. یکی دیگر از روشهای کاهش درخواست و برای رفع مشکل Minimize request size استفاده از اتریبیوتهای defer و یا async است.
روش سوم که شاید راحتترین روش برای رفع ارور Minimize request size باشد حذف فایلهای اضافه است، شما باید به خوبی سایت خود را بشناسید و بدانید فلان فایل برای چه عملی در صفحات فراخوانی میشود و سعی کنید فقط پلاگینهایی را نصب کنید که لازم دارید، هر چه تعداد پلاگینهای موجود در سایت شما کمتر باشد لود سایت شما بهتر خواهد بود چرا که فایلهای کمتری در مرورگر لود میشود و از طرفی سرور هم کمتر درگیر میشود. سعی کنید در ساخت سایت خود از یک نوع فونت استفاده کنید و از فونتهای مختلف که باعث لود اضافه میشود پرهیز کنید.
اگر توجه کرده باشید طبق عکس زیر میتوانید به جای ایجاد فایل جاوااسکریپت خارجی، به روش inline از آنها استفاده نمایید که باعث کاهش تعداد درخواست یا همان Minimize request size میشود، البته توجه داشته باشید که باید یک سری شرایط را رعایت نمایید، برای اینکه این روش را به شکل اصولی برای فایلهای CSS و JS و حتی عکسها انجام دهید.