افزایش سرعت سایت با فعال سازی Gzip Compression

برای اکثر افرادی که با کامپیوتر و دنیای اینترنت آشنا هستند فشرده سازی یا Compression مفهوم پیچیده ای نیست، همه ما به نوعی از نرم افزارهای فشرده سازی مثل Winzip یا Winrar استفاده می کنیم که با چند کلیک ساده کاری بزرگ برای ما انجام می دهند، به راستی این ابزارها چه مزایایی دارند؟ انتقال سریع اطلاعات و کاهش حجم ذخیره سازی از جمله مزایایی است که به کمک این ابزارها بدست می آوریم.

حال به این فکر کنید که فشرده سازی چه تاثیری می تواند در سرعت و عمکرد وب سایت تان داشته باشد؟

پاسخ این سوال کاملا به سود شما خواهد بود، با فشرده سازی می توانید سرعت بارگذاری وب سایت تان را به طور قابل ملاحظه ای افزایش داده و مدت زمان انتظار افراد را کاهش دهید، نتیجه آن کاربرانی راضی و خوشحال خواهد بود که هیچگاه وب سایت تان را فراموش نخواهند کرد.

فشرده سازی Gzip چیست؟

همانطور که می دانید صفحات وب شامل ترکیبی از فایل های HTML، CSS، JS، تصاویر و… هستند، با فرض فعال بودن Gzip در صورت مراجعه یک کاربر به سایت تان مراحل کلی زیر اتفاق می افتد:

  • کاربر آدرس صفحه وب مورد نظرش را در مرورگر کروم، فایرفاکس یا هر مرورگر دیگری وارد می کند.
  • مرورگر درخواست کاربر را به سمت وب سرور(در اینجا Apache web server) ارسال می کند(ارسال درخواست).
  • وب سرور پس از بررسی فعال بودن قابلیت فشرده سازی، صفحه وب درخواست شده را با استفاده از الگوریتم Gzip فشرده کرده و به مرورگر کاربر برمی گرداند(ارسال پاسخ).
  • مرورگر صفحه دریافت شده را از حالت فشرده خارج کرده و به کاربر نمایش می دهد(دریافت پاسخ).

قابلیت فشرده سازی که به عنوان یک گام اضافی به فرآیند بالا اضافه کردیم باعث صرفه جویی در پهنای باند، کاهش حجم صفحات وب تا ۷۰%،  افزایش سرعت بارگذاری صفحات وب و افزایش رضایت کاربران می شود. قویا پیشنهاد می کنیم از Gzip فقط برای فشرده سازی فایل هایی که حاوی محتوای متنی(HTML، CSS، JS، TXT، JSON) هستند استفاده نمائید.

ابزار Check Gzip Compression به شما کمک می کند تا از وضعیت Gzip مطلع شوید، قابلیت فوق برای وب سایتی که در ادامه بررسی خواهیم کرد غیر فعال می باشد.

check gzip compression

روش ۱: فعال سازی Gzip با استفاده از فایل htaccess.

برای فعال سازی Gzip در وب سرور آپاچی خطوط زیر را به فایل htaccess اضافه کنید، در صورتی که با این فایل آشنایی ندارید مطلب چگونه از فایل htaccess. استفاده کنیم؟ را مطالعه فرمائید.

نکته مهم: فشرده سازی Gzip یکی از قابلیت های وب سرور است و به وردپرس وابسته نیست، خطوط زیر را می توانید برای وب سایت های غیر وردپرسی نیز استفاده کنید، این تنظیمات بسته به نوع وب سرور(َApache، Nginx، Litespeed) متفاوت می باشد.

<IfModule mod_deflate.c>
# Compress HTML, CSS, JavaScript, Text, XML and fonts
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml</pre>
# Remove browser bugs (only needed for really old browsers)
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
</IfModule>

بررسی عملی یک سایت

در ابتدا با استفاده از ابزار GTmetrix وضعیت جاری وب سایت هدفمان را که بر روی وب سرور آپاچی میزبانی می شود مورد ارزیابی قرار دادیم، همانطور که در تصویر زیر مشاهده می کنید قابلیت فشرده سازی برای این سایت غیرفعال می باشد. مجموع حجم صفحه وب ۹۴۸ کیلوبایت و مدت زمان بارگذاری کامل آن ۱٫۸ ثانیه می باشد و بدتر آنکه از GTmetrix نمره بسیار ضعیف (F) را دریافت کرده است.

در صورتی که با ابزارهای ارزیابی سرعت آشنایی ندارید، پیشنهاد می کنیم مطلب ارزیابی سرعت سایت با استفاده از GTmetrix را مطالعه فرمائید.

check gzip compression

پس از فعال سازی Gzip مجموع حجم صفحات به ۲۵۲ کیلوبایت و مدت زمان بارگذاری کامل آن به ۱٫۴ ثانیه کاهش یافت، تاثیر الگوریتم Gzip و دریافت نمره عالی (A) در تصاویر زیر کاملا واضح و مشخص است.

تاثیر فعال سازی gzip در سرعت سایت

بررسی وصعیت gzip بعد از فعال سازی

enable gzip compression

روش ۲: فعال سازی Gzip با استفاده از افزونه W3 Total Cache

در صورتی که  به فایل htaccess دسترسی ندارید می توانید از افزونه های وردپرسی استفاده کنید، W3 Total Cache گزینه ای مناسب برای افزایش سرعت سایت است که یکی از امکانات آن فعال سازی  Gzip می باشد.

پس از نصب افزونه Total Cache از منوی Performance گزینه Browser Cache و سپس Enable HTTP (gzip) compression را انتخاب کنید(این گزینه به صورت پیش فرض فعال می باشد)، تصویر زیر مراحل این کار را نشان می دهد.

فعال سازی gzip با استفاده از w3 total cache

جمع بندی

Gzip یکی از بهترین تکنیک هایی است که با استفاده از آن می توانید سرعت وب سایت تان را به طور قابل توجه ای افزایش دهید، تکنیک های زیادی برای بهبود عمکرد سایت وجود دارد که هر کدام از آنها را به صورت جداگانه بررسی خواهیم کرد.

پیشنهاد می کنیم Gzip را مستقیما و از طریق فایل htaccess فعال کنید تا نیازی به نصب افزونه اضافی نباشد، در صورتی که می خواهید از امکانات بسیار عالی افزونه Total Cache استفاده کنید و از طرفی به فایل htaccess دسترسی ندارید از روش دوم استفاده کنید.

نظرات و سوالات کاربران
    1. درود بر شما
      فعال بودن gzip کاملا به سرویس دهنده وب بستگی داره، ممکنه gzip در وب سرور نصب شده باشه، اما به صورت پیش فرض غیرفعال باشه که میتونید طبق آموزش عمل کنید.
      من تا حالا سروری رو ندیدم که قابلیت gzip رو کلا نداشته باشه. دو سروری که اخرین بار بررسی کردم، یکی به صورت پیش فرض فعال بود، یکی رو هم از طریق htaccess فعال کردم.

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *