خطای Make fewer HTTP requests در GTmetrix یک شعار اساسی را به رُخ سایتتان میکشد: «درخواست کمتر، سرعت بیشتر». در این مقاله از بلاگ ایران سرور، به شما خواهیم گفت چگونه میتوانید تعداد درخواستهای HTTP را کاهش داده و سرعت سایت وردپرسی خود را افزایش دهید. ابتدا با خطای Make fewer HTTP requests آشنا خواهیم شد و سپس روشهای کاهش آن را بررسی میکنیم. این راهکارها علاوهبر بهبود امتیاز سایت شما در ابزارهایی مثل GTmetrix، به افزایش سرعت کلی سایت و بهبود تجربه کاربری کمک خواهند کرد
خطای Make fewer HTTP requests در GTmetrix چیست؟
خطای Make fewer HTTP requests در GTmetrix زمانی ظاهر میشود که وبسایت شما تعداد زیادی درخواست HTTP به سرور ارسال میکند. هر بار کاربر از وبسایت شما دیدن میکند، مرورگر او برای بارگذاری عناصر مختلف صفحه مانند تصاویر، CSS و جاوا اسکریپت، درخواستهایی به سرور میفرستد. اگر تعداد این درخواستها زیاد باشد، زمان بارگذاری صفحه بیشتر شده و این قضیه تجربه کاربری را ناخوشایند میکند.
فرمول ساده و کاربردی برای داشتن یک سایت پرسرعت این است: HTTP را کم و سرعت را زیاد کنید!
چگونه از تعداد درخواست های HTTP آگاه شویم؟
Google’s PageSpeed Insights یک ابزار رایگان برای بررسی عملکرد یک صفحه وب است. این ابزار کارایی صفحه وب را آنالیز کرد ه و یک نمره بین ۰ تا ۱۰۰ به آن خواهد داد. علاوهبراین، گزارشی برای سرعت بارگذاری وبسایت نیز تولید میکند. GTmetrix نیز یک ابزار جامع دیگر برای آنالیز عملکرد صفحات وب می باشد.
همچنین در صورتی که از مرورگر Chrome استفاده می کنید، با استفاده از ابزار توسعه دهندگان، میتوانید بررسی کنید چه تعداد از درخواستهای HTTP بر سرعت بارگذاری وبسایت تاثیرگذارند. برای بررسی این موضوع، روی صفحه کلیک راست کرده و گزینه “Inspect” را انتخاب نمایید. در صفحه باز شده، روی تب Network کلیک نمایید.
صفحه Network فعالیتهای شبکهای مربوط به وبسایت شما را نمایش می دهد. برای دیدن اتفاقات رخ داده در زمان بارگذاری صفحه، در حالی که این پنل باز است، صفحه را رفرش نمائيد. خواهید دید که درخواست های HTTP بهصورت Real-Time ایجاد خواهند شد.
رفع خطای Make fewer HTTP requests در GTmetrix
در این بخش، نحوه کاهش درخواستهای HTTP را بررسی میکنیم. ۱۲ راهکار برای رفع خطای Make fewer HTTP requests در GTmetrix پیشرو دارید:
۱ـ حذف تصاویر غیرضروری
۲- رفع خطای Minimize request size با بهینهسازی تصاویر
۳- استفاده از CSS Sprites
۴- استفاده از افزونه Lazy Load
۵- فعال سازی کش مرورگر (Browser Caching)
۶- ترکیب و ادغام فایلهای CSS و Js
۷– استفاده از شبکه های توزیع محتوا (CDN)
۸. حذف پلاگینهای اضافه
۹.استفاده از Conditionally Load برای اسکریپتهای پردردسر
۱۰. تنظیم قابلیت Render-Blocking جاوا اسکریپت
۱۱. فعالسازی قابلیت Keep Alive
۱۲. غیرفعال کردن Serve resources from a consistent URL
۱. شرّ تصاویر غیرضروری را از سر سایتتان باز کنید
خیلی از مواقع، زمان بارگذاری صفحات به دلیل وجود تصاویر افزایش می یابد. اولین کاری که برای رفع خطای Make fewer HTTP requests در GTmetrix باید انجام دهید، حذف تصاویر غیرضروری از کتابخانه رسانه است. هیچ دلیلی ندارد که تصاویری را ذخیره کنید که از آنها استفاده نمیکنید؛ بنابراین تصاویر مورد استفاده را حفظ و بقیه را حذف نمایید.
۲- خطای Minimize request size با بهینهسازی تصاویر برطرف کنید
زمانی که تصمیم گرفتید تصاویر موردنظر را حفظ کنید، باید آنها را فشرده و بهینه نمایید. بهینه سازی تصاویر، اطلاعات اضافی فایل را حذف میکند. همچنین مطمئن شوید که اندازه تصاویر خیلی بزرگ نباشد و در صورت نیاز، آنها را فشرده نمایید. در این مورد، میتوانید از گزینه Save For Web فوتوشاپ هنگام ذخیرهسازی تصویر استفاده کنید.
پیشنهاد می شود مقاله “افزونه های کاهش حجم تصاویر در وردپرس” را مطالعه بفرمایید و با 4 افزونه حرفهای برای کاهش حجم تصاویر در وردپرس آشنا شوید.
۳- از CSS Sprites استفاده کنید
برای رفع خطای Make fewer HTTP requests در GTmetrix میتوانید چندین تصویر مختلف را در یک تصویر ادغام کرده و بگنجانید. با انجام این کار همانطور که تعداد تصویر بکار رفته در صفحه کاهش مییابد، تعداد درخواست های HTTP نیز کمتر میشود؛ در نتیجه سرعت بارگذاری وب سایت بهبود خواهد یافت.
۴- از افزونه Lazy Load برای تصاویر و ویدیوها استفاده کنید
با استفاده از تکنیک Lazy Load فقط تصاویر بخشی از صفحه بارگذاری خواهند شد که کاربر از آن بخش بازدید کند. این تکنیک با استفاده از جاوا اسکریپت کار میکند. در این تکنیک بارگذاری بخشی از تصاویر زمانی انجام خواهد شد که کاربر در صفحه شروع به حرکت نماید. بدین ترتیب تعداد درخواست های HTTP کاهش خواهند یافت.
بیشتر بخوانید: آموزش افزایش سرعت وردپرس با 23 راهکار طلایی
۵- کش مرورگر (Browser Caching) را فعال کنید
زمانی که مرورگر شما قصد دارد وب سایتی را بارگذاری کند، اطلاعات زیادی مانند تصاویر، فایلهای CSS و … را دریافت میکند. برخی از این اطلاعات همواره ثابت و بدون تغییر هستند. پس برای رفع خطای Make fewer HTTP requests در GTmetrix بهتر است که مرورگر این فایلها را در حافظه کش (browser caching) خود ذخیره کند تا از دریافت آنها در هر بار مراجعه به وب سایت جلوگیری کرده و در نتیجه مدت زمان لازم برای بارگذاری وب سایت کاهش یابد.
مطلب مرتبط: برای رفع خطا Leverage Browser Caching این مقاله را بخوانید.
۶- فایلهای CSS و Js را ادغام کنید
قالبهای وردپرسی بهطور معمول شامل فایل های CSS متعدد می باشند؛ چون توسعه دهندگان با فایلهای مجزا راحتتر کار خواهند کرد. بنابراین برای دریافت هر فایل CSS، مرورگر یک درخواست HTTP مجزا به سمت سرور ارسال خواهد کرد که سرعت لود سایت را بیشتر میکند.
برای رفع خطای Make fewer HTTP requests در GTmetrix میتوانید فایلهای CSS را با هم ترکیب کرده یا آنها را در یک فایل ادغام کنید. همچنین این مورد را برای فایلهای Js نیز میتوانید به کار ببرید.
این قابلیت عموما با نام Combine CSS files در افزونه های کش شناخته می شود.
۷- از شبکه توزیع محتوا (CDN) استفاده کنید
استفاده از یک CDN سرعت لود سایت شما را بهخوبی بهبود میبخشد. یک CDN، شبکهای از سرورها بوده که معمولا در سرتاسر دنیا قرار گرفتند. این سرورها محتویات استاتیک وب سایت مانند تصاویر، فایل های CSS و جاوا اسکریپت را کش میکنند. وقتی کسی وارد وب سایت شما میشود، محتوای استاتیک آن از نزدیکترین سرور از لحاظ موقعیت فیزیکی به کاربر، لود خواهد شد. فاصله کوتاه با سرور به این معناست که اطلاعات سایت با سرعت بیشتری بارگذاری خواهد شد.
این نکته را هم در نظر داشته باشید که اکثرا سایت ها، بازدیدکنندگان از یک موقعیت مشخص دارند و استفاده از CDN برای این موارد کمک زیادی نخواهد کرد. CDN در مواردی باعث بهبود سرعت خواهد شد که سایت، ترافیک بین المللی داشته باشد.
رهایی از خطای Make fewer HTTP requests با CDN ایران سرور
ایران سرور با ارائه امکاناتی نظیر CDN، کشینگ و بهینهسازی سرور، به شما کمک میکند تا تعداد درخواستهای HTTP سایت خود را به حداقل رسانده و سرعت بارگذاری صفحات را بهطور چشمگیری افزایش دهید. برای رفع خطا و کسب اطلاعات بیشتر همین حالا به صفحه خرید CDN مراجعه کنید.
۸. پلاگینهای اضافه را حذف کنید
در این قسمت از آموزش رفع خطای Make fewer HTTP requests در GTmetrix برای اینکه بتوانید تمام درخواستهای HTTP مربوط به افزونهها را از پوشه wp-content/plugins مشاهده کنید، از منوی آبشاری «waterfall analysis» استفاده کنید. با نگه داشتن نشانگر ماوس روی نام فایل، میتوانید مشاهده کنید این درخواست از کدام افزونه آمده است. برای مثال، در تصویر زیر میتوانید درخواستی از افزونه اسلایدر را مشاهده کنید.
با بررسی بیشتر متوجه خواهید شد که افزونه Slider Revolution حتی اگر هیچ اسلایدر در صفحه آزمایشی شما وجود نداشته باشد، سه درخواست HTTP اضافه میکند؛ بنابراین، بهتر است کل لیست را بررسی کرده و ببینید آیا هر افزونه ارزش افزودهای برای سایت شما دارد یا خیر. اگر افزونهای ضروری نیست و درخواستهای HTTP اضافه میکند، بهتر است آن را حذف کنید.
۹. استفاده از Conditionally Load برای اسکریپتهای پردردسر
برخی از افزونهها فقط در بخش خاصی از سایت استفاده میشوند. باوجوداین، اسکریپتهای افزونه در تمام قسمتهای سایت بارگذاری میشود؛ برای مثال، افزونه محبوب Contact Form 7 را در نظر بگیرید. احتمالا فقط به این افزونه در چند صفحه (مانند صفحه تماس با ما) نیاز دارید. با این حال، Contact Form 7 اسکریپتهای خود را در هر صفحهای از سایت شما بارگذاری میکند. برای حل این مشکل، میتوانید از بارگیری مشروط افزونهها فقط درجایی که نیاز دارید، استفاده کنید. برای مثال، میتوانید طوری آن را تنظیم کنید که Contact Form 7 در صفحه «تماس با ما» سایتتان بارگذاری و در قسمتهای دیگر سایت غیرفعال شود.
اگر توسعهدهنده نیستید، بهجای کدنویسی از افزونههایی مانند Asset CleanUp یا Perfmatters میتوانید برای رفع خطای Make fewer HTTP requests در GTmetrix با این تکنیک استفاده کنید.
۱۰. قابلیت Render-Blocking جاوا اسکریپت را به تعویق بیندازید
هرچند این تکنیک بهطور مشخص منجر به رفع خطای Make fewer HTTP requests در GTmetrix نمیشود، اما با به تعویق انداختن درخواستها برای برخی فایلها یا بارگذاری آنها به صورت ناهمزمان، میتوانید از مسدود شدن منابع مهم برای بارگذاری سریع بخش قابل مشاهده سایت خود توسط برخی منابع غیرضروری جلوگیری کنید. با استفاده از WP Rocket میتوانید فایلهای جاوا اسکریپت را به تعویق انداخته و منابع مسدودکننده رندر را حذف کنید.
آلت: استفاده از WP Rocket برای تعویق Render-Blocking جاوااسکریپت
۱۱. قابلیت را Keep Alive را فعال کنید
یکی از روشهای مؤثر برای کاهش تعداد درخواستهای HTTP و بهبود سرعت بارگذاری وبسایت، فعالسازی قابلیت Keep Alive است. قابلیت Keep Alive به مرورگرها این امکان را میدهد که برای بارگذاری چندین عنصر از یک وبسایت، فقط یک اتصال به سرور برقرار کنند. به عبارت دیگر، به جای اینکه برای هر عنصر (مانند تصاویر، CSS و جاوا اسکریپت) یک اتصال جدید برقرار شود، مرورگر میتواند از همان اتصال برای بارگذاری تمام این عناصر استفاده کند. این کار نه تنها تعداد درخواستهای HTTP را کاهش میدهد، بلکه زمان بارگذاری صفحه را نیز بهطور چشمگیری بهبود میدهد. برای فعالسازی آن میتوانید مقاله زیر را مطالعه کنید.
مطلب مرتبط: Keepalive چیست؟ و چگونه به افزایش سرعت وبسایت شما کمک میکند؟
۱۲. حالت Serve resources from a consistent URL را غیرفعال کنید
این تیتر قابلیت توضیح فنیتر و تبدیل به مقاله جداگانه دارد
به آخرین راهکار برای رفع خطای Make fewer HTTP requests در GTmetrix میرسیم. این حالت یعنی منابع مختلف وبسایت شما (مانند تصاویر، فایلهای CSS و جاوا اسکریپت) باید از یک URL ثابت بارگذاری شوند. اگر شما از چندین URL مختلف برای بارگذاری یک منبع مشابه استفاده کنید، مرورگر مجبور است چندین درخواست HTTP جداگانه ارسال کند. اینطوری علاوهبراینکه تعداد درخواستها بیشتر میشود، زمان بارگذاری صفحه نیز تحت تأثیر قرار میگیرد. برای رفع این مشکل باید تکتک افزونهها را غیرفعال کنید و سپس یکییکی فعال کرده و ببینید موش در سوراخ کدام افزونه است.
در برخی موارد ممکن است نیاز به اصلاح کدنویسی داشته باشید که باید این کار را به یک متخصص بسپارید.
کلام پایانی؛ سرانجامِ موفقیتآمیز رفع خطای Make fewer HTTP requests در GTmetrix
خطای Make fewer HTTP requests در GTmetrix حکایت نامههای جمعشده و به مقصد نرسیده در اداره پست است. در این مقاله، ۱۲ راهکار برای رفع خطای Make fewer HTTP requests در GTmetrix باهم بررسی کردیم. درنظر بگیرید برای رفع این خطا ممکن است به یک متخصص یا برنامهنویس نیاز پیدا کنید. اگر در انجام هر یک از راهکارهای بالا به مشکل خوردید، کارشناسان ایران سرور مشتاق راهنمایی و پاسخگویی شما هستند.
سوالاتی که شما می پرسید
۱. خطای Make fewer HTTP requests چیست؟
این خطا زمانی رخ میدهد که وبسایت شما تعداد زیادی درخواست HTTP به سرور ارسال میکند و باعث افزایش زمان بارگذاری صفحه و کاهش تجربه کاربری میشود.
۲. چه عواملی باعث ایجاد خطای Make fewer HTTP requests در GTmetrix میشوند؟
عوامل متعددی میتوانند باعث ایجاد این خطا شوند، از جمله:
- عدم بهینهسازی تصاویر
- استفاده بیش از حد از تصاویر
- استفاده از فونتهای سفارشی
- تعداد زیاد فایلهای CSS و JavaScript
- استفاده از افزونههای سنگین در وردپرس
۳. چقدر زمان میبرد تا تغییرات اعمال شده برای رفع خطای Make fewer HTTP requests در GTmetrix نتیجه دهند؟
مدت زمان لازم برای مشاهده نتایج تغییرات اعمال شده، به عوامل مختلفی مانند حجم سایت، تغییرات انجام شده و سرعت اینترنت کاربران بستگی دارد. اما معمولاً پس از چند ساعت تا چند روز، میتوانید نتایج را مشاهده کنید.