الان که در حال مطالعه این محتوا هستید قطعا در سیستم عاملهای مختلف مثل ویندوز، لینوکس یا اندروید و IOS تجربه استفاده از فایلهایی با فرمت ZIP. رو داشتید. یا براتون اتفاق افتاده که موقع دانلود یک فیلم، برنامه، آلبوم موسیقی و هرچیزی از سایتهای مختلف در بیشتر اوقات فایلها با فرمت zip هستند. شده تا حالا براتون این سوال پیش بیاد که چرا استفاده از این فرمت در سایتهای دانلودی خیلی مرسوم هست؟ دلیل انجام این کار به خاطر کاهش حجم فایل هست، چرا که وقتی فایلی رو zip میکنید فشرده شده و تا حد قابل توجهی حجم فایل کمتر میشه. این کار هم برای سایت مورد نظر دارای مزیت هست که حجم کمتری از سرور و هاست رو اشغال میکنه و هم برای کاربری که در حال دانلود فایلها هست ترافیک کمتری خواهد برد. استفاده از Gzip در سایت هم درست به همین دلیل هست و باعث کاهش حجم فایلها و افزایش سرعت سایت میشه که توی این اموزش میخوام نحوه رفع خطای Enable gzip compression در GTmetrix رو آموزش بدم.
توی این آموزش از پایگاه دانش میزبانفا اول به این موضوع که اصلا Gzip چی هست و آیا لازمه که ازش استفاده کنیم پرداخته و سپس به معرفی راهکارهای مختلف برای فعال سازی gzip در هاست و انواع سرور میپردازم.
Gzip چیست؟ و چه کاربردی داره؟
حتما با فرمتهای فشرده سازی zip و rar که برای کاهش حجم فایلهاتون از این فرمتها استفاده میکنید آشنایی دارید. gzip هم دقیقا کارکردی مشابه این نرمافزارها و فرمتها داره که با استفاده از الگوریتم مورد استفاده توسط همین روش فشردهسازی برای کاهش حجم صفحات سایتها مورد استفاده قرار میگیره که اونو با نام gzip میشناسیم. امروزه همه مرورگرها از این قابلیت پشتیبانی میکنند. وقتی وارد سایتی میشید مرورگر ابتدا درخواستی رو ارسال میکنه که مشخص بشه که gzip روی این سرور فعال هست یا خیر. اگر پاسخ به این درخواست مثبت بود و از سمت سرور هم مشخص شد که مرورگر از این قابلیت پشتیبانی میکنه، سرور شروع به ارسال فایلها با فرمت فشرده شده به مرورگر میکنه. اما اگر پاسخ منفی باشه فایلها با حجم عادی ارسال میشن که در حالت فشرده نبوده و به دلیل بالا بودن حجم فایلها هم سرعت سایت شما پایین خواهد بود.
وقتی کاربری وارد سایت شما میشه درخواست برای دریافت اطلاعات سایت در مرورگر برای سرور ارسال شده و بعد از اینکه سرور به این درخواست پاسخ مثبت داد فایلها شروع به بارگذاری میکنند. حالا هرچه حجم این فایلهای استفاده شده در صفحات بیشتر باشه زمان بیشتری صرف لود کامل سایت خواهد شد. بنابراین باید حجم صفحات خودمون را با استفاده از gzip کاهش بدیم تا در مدت زمان کوتاهتری یک صفحه وب برای کاربر لود شده و در دسترس قرار گیرد. با استفاده از gzip کلیه فایلهای مربوط به html، css و جاوا اسکریپت فشرده شده و کدهای تکراری اون نادیده گرفته میشوند که در نهایت منجر به افزایش سرعت سایت خواهد شد.
در فایلهایی که مربوط به برنامه نویسی هستند کدها به کاراکترهای خلاصهتر و کوتاهتر با استفاده از فناوری فشرده سازی حجم صفحات تبدیل خواهند شد. به عنوان نمونه اگر فایل شما حاوی متنی باشه که عبارت MM I ZZZZZ BB A nnn f AAA در اون درج شده باشه که شامل ۲۵ کاراکتر هست، به صورت خلاصه شده تبدیل شده و به شکل ۳M I 5Z 2B A 3n f 3A برای مرورگر ارسال خواهد شد که تا ۵ کاراکتر(با احتساب فاصله) خلاصه شده است. سپس مرورگر که از قابلیت Gzip پشتیبانی میکنه این موضوع رو درک کرده و کدها را در حالت استاندارد پردازش و در نهایت ساختار یک سایت رو به درستی نمایش خواهد داد.
آنالیز و بررسی فعال بودن Gzip
قبل از اینکه به روشهای استفاده از gzip بپردازم پیشنهاد میکنم برای اینکه واقعا ببینید gzip تا چه میزان در افزایش سرعت سایت وردپرس تاثیرگذار خواهد بود یک بار سایت خودتون را که از gzip استفاده نشده آنالیز و بررسی کنید. برای این منظور به وبسایت checkgzipcompression.com مراجعه کنید و سپس مشابه چیزی که در تصویر زیر مشاهده میکنید آدرس کامل سایت خودتون را در فیلد مربوطه وارد کرده و روی آیکون جستجو کلیک کرده و منتظر بمونید تا سایت آنالیز شده و بر اساس افزونههای وردپرس و قالبی که از اون استفاده میکنید به شما بگه که با استفاده از Gzip تا چه میزان قادر هستید تا حجم صفحات خود را کم کنید.
از اونجایی که Gzip بر روی سرورهای هاست میزبانفا فعال است در تستی که انجام دادم ۲۸٫۱ درصد از حجم صفحات من در مجموع کم خواهد شد. اما بر روی هاستی که gzip فعال نباشه تا ۷۰ درصد هم میشه حجم صفحات را کم کنید.
یکی دیگه از روشهای بررسی هم با استفاده از خود مرورگر هست که میتونید با راست کلیک کردن در صفحه سایت و انتخاب گزینه Inspect Element سورس صفحات رو ببینید. سپس مشابه تصویر زیر روی سربرگ Network کلیک کرده و حالا یک بار سایت رو بدون بستن پنجره Inspect Element رفرش کنید. در صورتی که content-incoding: gzip رو مشاهده کردید نشون دهنده فعال بودن Gzip در سایت هست.