این مقاله قصد داریم، تا به حل مشکل خطای Enable gzip compression یا Compress components with gzip که، در سایت GTMetrix به شما نمایش داده میشود، بپردازیم.
برای خرید کلاس آنلاین اسکای روم میتوانید، در این صفحه اقدام نمایید.
GZip چیست ؟
اگر با کامپیوتر و نرم افزارهای کامپیوتری کمی آشنا باشید. حتما با نرم افزارها و فایل های rar و Zip آشایی دارید. شما اگر یک فولدر با حجم بالا داشته باشید. با تبدیل این فایل به Zip یا rar حجم آن را کاهش میدهید. و از آن فایل با حجم کم استفاده مینمایید. Gzip نیز دقیقا همین کار را برای صفحات و کدهای سایت شما انجا میدهد. حجم کلی یک سایت و یک صفحه را کاهش میدهد تا سرعت بارگذاری و لود سایت افزایش یابد.
شما زمانیکه یک سایت را در مرورگر خود باز کنید، ابتدا مرورگر یک درخواست به سرور ارسال مینماید. که آیا سایت مذکور دارای فایل GZip میباشد. یا خیر. پاسخ از سمت سرور اگر بله باشد. و مرورگر نیز از فایل GZip پشتیبانی نماید. (امروزه تمام مرورگرها از این نوع فایل پشتیبانی میکنند.) مرورگر فایل GZip را با حجم کم از سرور دریافت مینماید، به همین خاطر سرعت لود سایت کاهش خواهد یافت. و اما اگر پاسخ سرور در خصوص وجود فایل GZip منفی باشد. مرورگر فایل های اصلی را با حجم اصلی و بیشتر از سرور دریافت مینماید. به همین خاطر سرعت لود سایت افزایش خواهد یافت. با استفاده از gzip کلیه فایلهای مربوط به html، css، فایلهای استایلدهی (stylesheets) و جاوا اسکریپت فشرده شده. و کدهای تکراری آنها نادیده گرفته میشوند. که در نهایت منجر به افزایش سرعت سایت خواهد شد.
خطای Enable gzip compression به چه معناست ؟
زمانیکه شما سایت خود را در سایت GTMetrix مورد بررسی قرار میدهید، اگر فایل های سایت خود را GZip نکرده باشید، قطعا با خطای Enable gzip compression یا Compress components with gzip مواجه خواهید شد. این خطا دقیقا به این معناست که شما فایل های سایتتان را GZip نکردهاید. و باید برای افزایش سرعت سایت حتما این کار را انجام دهید. Gzip باعث کاهش حجم سایت و افزایش سرعت لود سایت میشود، در واقع این تابع میتواند حجم فایلهای ذکر شده را بیش از ۷۰ درصد کاهش بدهد. این تابع دو مولفه اصلی را در سایت GTmetrix کاهش میدهد یکی Page Load Time و دیگری Total Page Size میباشد.
توجه داشته باشید. کدهایی که توسط برنامهنویسهای وب نوشته شده است. برای اینکه چشم برنامه نویس کدها را به راحتی درک کنند، باید با یک ترکیب خاص و منظمی کدنویسی را انجام دهند. تا در ویرایشها و رفع خطاها در آینده مشکلی نداشته باشند. ولی موتورهای جستجو همانند گوگل و مرورگرها همانند کروم و فایرفاکس، نیازی به کدنویسی زیبا و فصای خالی بین کدها ندارند، و به راحتی میتوانند آنها را تجزیه و همه آنها در یک بلوک یا خط بخوانند، برای همین در بهینه سازی سایت پیشنهاد میشود که فایلها را minify و combine کنید. و جدا از رفع خیلی از خطاها باعث برطرف شدن مشکل Enable gzip compression میشود.
آنالیز و برسی فعال بودن gzip compression
برای تست و بررسی فعال بودن gzip compression میتوانید از ابزارهای زیر استفاده نمایید:
1- با استفاده از سایت GTMetrix
یکی از اصلیترین سایتها و ابزارهای تست سرعت سایت سایت GTMetrix است. برای تست سرعت سایت خود و همچنین بررسی فعال بودن gzip compression از سایت GTMetrix استفاده نمایید. اگر gzip compression در سایت شما فعال نباشد. بعد از بررسی در سایت GTMetrix خطایی مشابه زیر مشاهده میکنید.
2- با استفاده از ابزار Google PageSpeed Insights
میتوانید، سایت خود را در Page Speed گوگل تست کنید. و اگر gzip فعال نباشد. پیغامی همانند زیر دریافت میکنید.
3- با استفاده از مرورگر روی کامپیوتر و لب تاپ
شما میتوانید، براحتی و با استفاده از خود مرورگر این ویژگی را مورد بررسی قراردهید. و حتی میتوانید، مقایسه نمایید. که فعالسازی GZip چه تاثیری روی سایت دارد. برای انجام اینکار سایت مورد نظرتان را روی مرورگر (کروم یا موزیلا فرقی ندارد) باز نمایید. بعد از باز شدن سایت روی صفحه کلیک راست کرده. و روی گزینه Insepct بزنید و به تب Network بروید. سایت را رفرش نمایید. تا اطلاعات سربرگ نمایان شود.
برای مشاهده و مقایسه قبل و بعد از فعالسازی GZip طبق تصویر زیر روی قسمت مشخص شده کلیک نمایید.
4– با استفاده از ابزار Check GZIP compression tool
این سایت هم میتواند، ابزار جالبی باشد. و میزان فشرده سازی سایتتان را بعد از فعالسازی GZip مشخص مینماید. کافیست به سایت checkgzipcompression.com مراجعه کنید. و آدرس سایت خودتان را جهت بررسی وارد نمایید. و نتیجه را مشاهده نمایید.
آموزش رفع خطای Enable gzip compression در GTmetrix و فعال سازی gzip
در این بخش سعی داریم. تا نحوه فعالسازی GZip را در تمام وب سرورها و CMS ها را توضیح دهیم.
- فعال سازی gzip در وردپرس.
- فعال سازی gzip در جوملا.
- فعال کردن فشرده سازی gzip در cPanel.
- فعال سازی gzip در سرور آپاچی.
- فعال سازی gzip در وب سرور NGINX
- فعال سازی gzip در IIS ویندوز سرور.
رفع خطای gzip در وردپرس
رفع خطای gzip در وردپرس بسیار ساده است. و یکی از راحتترین راههای فعالسازی GZip ؛ در سایت وردپرس است.
رفع خطای gzip در وردپرس با نصب یک افزونه انجام خواهد شد. افزونههای فعالسازی gzip compression مانند Autoptimize ، WP Rocket و W3 Total Cache از جملهی این افزونه ها هستند. افزونه رفع خطای gzip در وردپرس را دانلود و روی سایت وردپرسی خود نصب نمایید. مشکل شما مرتفع خواهد شد. و رفع خطای gzip در وردپرس انجام خواهد شد. لازم به ذکر است. که باید این نکته را نیز در نظر بگیرید. که باید دسترسی لازم برای نوشتن در فایل .htaccess را به این افزونهها بدهید.
رفع خطای gzip در جوملا
آموزش رفع خطای gzip در جوملا شاید ساده تر از فعالسازی GZip در وردپرس هم باشد. اگر شما از cms جوملا (joomla) برای سایت خود استفاده میکنید. برای فعال کردن Gzip وارد مدیریت جوملا شوید سپس در منوی سایت وارد بخش تنظیمات کلی شوید. و در تب سرور گزینه فشردهسازی Gzip را روی بلی قرارداده و ذخیره نمایید. همانطور که ملاحظه کردید، آموزش رفع خطای gzip در جوملا کار سختی نیست.
برای سفارش طراحی سایت به این لینک مراجعه کنید.
فعال کردن فشرده سازی gzip در cPanel
حل مشکل enable gzip compression از طریق cpanel نیز قابل انجام میباشد. برای انجام این کار کافیست وارد cpanel شوید. و در قسمت Software and Services روی گزینه Optimize Website کلیک نمایید. در صفحه باز شده دو گزینه وجود دارد. compress all content و compress the specified MIME types و یک فضای متنی برای وارد کردن MIME. درصورت انتخاب گزینه compress all content تمامی فایل های شما فشرده خواهند شد. و درصورت انتخاب گزینه compress the specified MIME types فقط فایل هایی که MIME آنها را در بخش مشخص شده وارد نمودهاید. فشرده خواهد شد. بعد از انتخاب هرکدام از گزینه های مدنظرتان روی Update Settings کلیک نمایید. تا فشرده سازی محتویات سایت شما انجام شود.
رفع خطای gzip در سرور آپاچی
اما آموزش رفع خطای gzip از طریق سرور آپاچی به این شکل است. که باید کد زیر را کپی کرده و در فایل .htaccess پیست (paste) و دخیره نمایید. این روش برای زمانی است. که شما از سرور APACHE استفاده میکنید. و قصد فشرده سازی بصورت دستی از روی سرور را دارید. فایل .htaccess در File Manager و در پوشه public_html قراردارد. اگر فایل public_html قابل مشاهده نبود. روی setting سمت راست بالا کلیک کرده. و گزینه Show Hidden Files را فعال کنید. فایل .htaccess نمایان خواهد شد. اگر با انجام این کار فایل .htaccess مجددا رویت نشد. پس باید یک فایل جدید با نام .htaccess ایجاد نمایید. و کد زیر را داخل آن قراردهید.
<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# Removing browser bugs for older 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>
رفع خطای gzip در وب سرور NGINX
اگر وبسرور شما NGINX یا بعبارتی انجین ایکس باشد. میتوانید، از دستورات این مقاله برای فعالسازی تابع gzip استفاده کنید، باید وارد دایرکتوری /etc/nginx/nginx.conf شده و یک سری تغییرات ساده و جزئی را ایجاد نمایید.
رفع خطای gzip در IIS ویندوز سرور
ممکن است. سایت شما در ویندوز سرور های شرکت مایکروسافت میزبانی شود. که روند فعال سازی تابع gzip کمی متفاوت خواهد بود، ابتدا باید بدانید که جهت فشرده سازی یا compression داخل ویندوز سرور باید ۴ مرحله را طی کنید، که ۳ مرحله اول همانند هم هستند، باید در ابتدا مطمئن باشید. که ادمین سرور در زمان نصب ویندوز سرور در server manager و تب Role Services بخش Web Server رفته و در ادامه وارد Performance شده و گزینههای Static Content Compression و Dynamic Content Compression را تیک زده باشد.
بعد از اینکه مطمئن شدید، این گزینه توسط ادمین سرور فعال است. (جهت اطمینان میتوانید تیکت ارسال کنید.) باید وارد IIS سرور خود شده در قسمت Compression دوباره ۲ گزینه که در بالا اشاره شده است. را فعال کنید.
بعد از آن سایت خود را در کنترل پنلی که دارید، مثلا؛ همانند SolidCP انتخاب کرده و بسته به کنترل پنل باید دنبال گزینه های Enable Static Content Compression و همینطور Enable Dynamic Content Compression باشد و سپس فعال کنید.
و سپس کدهای زیر را در Web.Config اضافه کنید:
<system.webServer>
<httpCompression directory=”%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files”>
<scheme name=”gzip” dll=”%Windir%\system32\inetsrv\gzip.dll” staticCompressionLevel=”9″ />
<dynamicTypes>
<add mimeType=”text/*” enabled=”true” />
<add mimeType=”message/*” enabled=”true” />
<add mimeType=”application/x-javascript” enabled=”true” />
<add mimeType=”application/javascript” enabled=”true” />
<add mimeType=”application/json” enabled=”true” />
<add mimeType=”application/json; charset=utf-8″ enabled=”true” />
<add mimeType=”application/atom+xml” enabled=”true” />
<add mimeType=”application/xaml+xml” enabled=”true” />
<add mimeType=”*/*” enabled=”false” />
</dynamicTypes>
<staticTypes>
<add mimeType=”text/*” enabled=”true” />
<add mimeType=”message/*” enabled=”true” />
<add mimeType=”application/x-javascript” enabled=”true” />
<add mimeType=”application/javascript” enabled=”true” />
<add mimeType=”application/json” enabled=”true” />
<add mimeType=”application/json; charset=utf-8″ enabled=”true” />
<add mimeType=”application/atom+xml” enabled=”true” />
<add mimeType=”application/xaml+xml” enabled=”true” />
<add mimeType=”*/*” enabled=”false” />
</staticTypes>
</httpCompression>
<urlCompression doStaticCompression=”true” doDynamicCompression=”true” /></system.webServer>
⛔توجه !
توجه داشته باشید؛ که این موارد بالا کاملا بستگی به نوع تنظیمات وب سرور شما توسط ادمین دارد. و ممکن است. خیلی از مراحل بالا فعال باشد. و حتی کد وجود داشته باشید. و صرفا نیاز باشید. که در کنترل پنلی که ارائه دهندهگان سرور به شما میدهند. در آنجا فعال کنید. ولی قبل از هر تغییری بک آپ گیری را فراموش نکنید.