احتمالاً شما هم برای بهینهسازی سرعت وبسایت، آموزشهای متفاوتی را دیدهاید و از ابزارهای مختلفی برای سنجش سرعت وبسایت خود استفاده میکنید. یکی از فاکتورهایی که ابزارهای تست سرعت وبسایت از آن بهعنوان یک فاکتور مهم یاد میکنند، فعالبودن فشردهسازی Gzipاست. برای مثال، وبسایتهای Gtmetrix و Page Speed Insights ارور Enable gzip Compression را بهعنوان فاکتورهای مهم سرعت مطرح میکنند.
فعالسازی Gzip، یکی از فاکتورهایی است که تأثیر غیرمستقیم بر روی سئو دارد! یعنی با فعالسازی Gzip، سرعت وبسایت افزایش پیدا میکند و در نتیجه، بهبود نتایج در گوگل برای وبسایت شما اتفاق میافتد.
فشردهسازی Gzip یکی از فعالیتهای سمت سرور است که در صورت فعالسازی، میتواند سرعت لود صفحات را برای کاربران کاهش و بهبود دهد. این نوع فشردهسازی، با کمکردن حجم فایلهای سایت، در حجم صفحه و لود کلی صفحه، تأثیر بسیار زیادی میگذارد. البته در نظر داشته باشید که امکان فشردهسازی فقط برای فرمتهای به خصوصی مثل فایلهای HTML، CSS و JavaScript امکانپذیر است. یعنی امکان فشردهسازی تصاویر و ویدئوها وجود ندارد.
نحوه کارکرد Gzip
- کاربر وقتی اقدام به باز کردن یکصفحهای میکند، مرورگر یک ریکوئست (Request) به سرور ارسال میکند.
- زمانی که سرور، ریکوئست را دریافت میکند، بررسی میکند که آیا مرورگر، از Gzip پشتیبانی میکند یا خیر.
- درصورتیکه مرورگر از Gzip پشتیبانی کند، سرور یک نسخه از صفحه ایجاد میکند و آن را فشرده میکند. سپس به مرورگر کاربر ارسال میشود.
- زمانی که مرورگر، اطلاعات فشرده شده دریافت میکند، آن را از حالت فشرده خارج میکند که به آن اصطلاحاً Decompress نیز میگویند.
نحوه فعالسازی Gzip از طریق فایل Htaccess
یک راهحل دستی نیز وجود دارد. شما میتوانید از طریق ویرایش فایل Htaccess، GZip را فعال کنید. برای این کار، وارد کنترل پنل هاست خود شوید و در شاخه اول فایلهای هاست، فایل “.htaccess” را پیدا کنید. (توجه کنید که امکان دارد این فایل وجود نداشته باشد یا مخفی باشد)
پس از واردشدن به فایل، کد زیر را در آخرین خط از این فایل اضافه کنید:
# BEGIN DEFLATE COMPRESSION
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE "application/atom+xml" \
"application/javascript" \
"application/json" \
"application/ld+json" \
"application/manifest+json" \
"application/rdf+xml" \
"application/rss+xml" \
"application/schema+json" \
"application/vnd.geo+json" \
"application/vnd.ms-fontobject" \
"application/x-font-ttf" \
"application/x-javascript" \
"application/x-web-app-manifest+json" \
"application/xhtml+xml" \
"application/xml" \
"font/eot" \
"font/opentype" \
"image/bmp" \
"image/svg+xml" \
"image/vnd.microsoft.icon" \
"image/x-icon" \
"text/cache-manifest" \
"text/css" \
"text/html" \
"text/javascript" \
"text/plain" \
"text/vcard" \
"text/vnd.rim.location.xloc" \
"text/vtt" \
"text/x-component" \
"text/x-cross-domain-policy" \
"text/xml"
</IfModule>
# END DEFLATE COMPRESSION
نحوه فعالسازی Gzip در وب سرور Apache
اگر وبسایت شما توسط وب سرور Apache میزبانی میشود، میتوانید کد زیر را در فایل کانفیگ وبسایت خود وارد کنید تا Gzip برای شما فعال شود:
# BEGIN GZIP COMPRESSION
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>
# END GZIP COMPRESSION
نحوه فعالسازی Gzip در وب سرور Nginx
اگر وبسایت شما توسط وب سرور Nginx میزبانی میشود، میتوانید کد زیر را در فایل کانفیگ وبسایت خود وارد کنید تا Gzip برای شما فعال شود:
nano /etc/nginx/nginx.conf
gzip on;
gzip_comp_level 2;
gzip_http_version 1.0;
gzip_proxied any;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_disable "MSIE [1-6].(?!.*SV1)";
gzip_vary on;
لازم به ذکر است بعد از فعال سازی با همچین صحنه ای مواجه خواهید شد