اگر از همراهان همیشگی پرشین تولز هستید، حتماً مقاله قبلی در مورد رفع خطاهای سایت به کمک GTmetrix را خواندهاید! در این مقاله هم قصد داریم به بررسی ادامه این بحث بپردازیم تا بتوانید با افزایش سرعت سایت، وضعیت سئوی سایت خود را بهبود ببخشید و رضایت کاربران را هم جلب کنید.
رفع خطای Gzip در Yslow جی تی متریکس
یکی دیگر از خطاهایی که ممکن است موقع تست سرعت سایت با GTmetrix به شما نشان داده شود با عنوان Compress components with gzip است. از آن جایی که این خطا در ستون Yslow جی تی متریکس نمایش داده میشود جز الگوریتمهای یاهو برای افزایش سرعت سایت به حساب میآید. اگر به معنای لغوی این خطا دقت کنید، از شما خواسته میشود که کامپوننتهای خودتون رو با استفاده از قابلیت Gzip سایت فشرده سازی کنید. این قابلیت درست مشابه همان حالت فشرده سازی فایلها به صورت فایل zip است که باعث میشود حجم فایلهایتان کمتر شود. این مورد مربوط به سمت سرور میشود! در اکثر سرور ها gzip فعال است . این قابلیت باعث میشود تا عملیات فشرده سازی سایت سمت سرور نیز صورت گیرد و به کم شدن حجم سایت در مرورگر کاربر نیز کمک کند . در صورتی که وب سرور شما آپاچی است ، شما میتوانید کد زیر را به 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
# 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>
حتما با فرمت فشرده سازی zip که برای کاهش حجم فایل ازش استفاده میکنید آشنایی دارید. gzip هم دقیقاً عملکردی مشابه این فرمت فایل دارد که با استفاده از الگوریتم مورد استفاده توسط همان روش فشردهسازی برای کاهش حجم صفحات سایتها مورد استفاده قرار میگیرد که آن را با نام gzip میشناسیم. امروزه همه مرورگرها از این قابلیت پشتیبانی میکنند. وقتی وارد سایتی میشود، مرورگر ابتدا درخواستی رو تحت HTTP به سرور ارسال میکند که مشخص شود که gzip روی سرور شما فعال است یا خیر! اگر پاسخ به این درخواست مثبت بود سرور شروع به ارسال فایلها با فرمت فشرده شده به مرورگر میکند اما اگر پاسخ منفی باشد فایلها با حجم عادی ارسال میشوند که در صورت فشرده نبوده و به دلیل بالا بودن حجم فایلها هم سرعت سایت شما پایین خواهد بود.
هر چقدر حجم این فایلهای استفاده شده در صفحات بیشتر باشد زمان بیشتری صرف لود کامل سایت خواهد شد. بنابراین باید حجم صفحات خود را با استفاده از Compress components with gzip کاهش دهیم تا در مدت زمان کوتاهتری یک صفحه وب برای کاربر بارگذاری شده و در دسترس قرار گیرد. با استفاده از gzip کلیه فایلهای مربوط به html، css و جاوا اسکریپت فشرده شده و کدهای تکراری اون نادیده گرفته میشوند که در نهایت منجر به افزایش سرعت سایت خواهد شد. در فایلهایی که مربوط به برنامه نویسی هستند کدها به کاراکترهای خلاصهتر و کوتاهتر با استفاده از فناوری فشرده سازی حجم صفحات تبدیل خواهند شد. به عنوان نمونه اگر فایل شما حاوی متنی باشد که عبارت MM I ZZZZZ BB A nnn f AAA در اون درج شده باشد شامل ۲۵ کاراکتر است، به صورت خلاصه شده تبدیل شده و به شکل ۳M I 5Z 2B A 3n f 3A برای مرورگر ارسال خواهد شد که تا ۵ کاراکتر (با محاسبه فاصله) خلاصه شده است. سپس مرورگر که از قابلیت Gzip پشتیبانی میکند، این موضوع رو درک کرده و کدها را در حالت استاندارد پردازش و در نهایت ساختار یک سایت رو به درستی نمایش خواهند داد.
برای آن که ببینید gzip تا چه میزان در افزایش سرعت سایت وردپرس تاثیرگذار خواهد بود یک بار سایت خود را که از gzip استفاده نشده آنالیز و بررسی کنید. برای این منظور به وبسایت checkgzipcompression.com مراجعه کنید و سپس آدرس کامل سایت خودتون را در فیلد مربوطه وارد کرده و روی آیکون جستجو کلیک کرده و منتظر بمونید تا سایت آنالیز شده و بر اساس افزونههای وردپرس و قالبی که از اون استفاده میکنید به شما بگوید که با استفاده از Compress components with gzip تا چه میزان قادر هستید تا حجم صفحات خود را کم کنید.
از اونجایی که Gzip بر روی اکثر سرورهای هاست فعال است در تستی که انجام میدهیم، حدود ۳۰ درصد از حجم صفحات ما در مجموع کم خواهد شد. اما بر روی هاستی که gzip فعال نباشد، تا ۷۰ درصد هم میشود حجم صفحات را کم کنید. یکی دیگر از روشهای بررسی هم با استفاده از خود مرورگر است که میتوانید با راست کلیک کردن در صفحه سایت و انتخاب گزینه Inspect Element سورس صفحات رو ببینید. سپس روی سربرگ Network کلیک کرده و حالا یک بار سایت رو بدون بستن پنجره Inspect Element مجدداً بارگذاری (Refresh) کنید. در صورتی که content-incoding: gzip رو مشاهده کردید نشون دهنده فعال بودن Compress components with gzip در سایت است. از این بخش میتوانید میزان فشردهسازی فایلها را به صورت قبل و بعد هم مشاهده کرده و مقایسه کنید. برای این کار هم کافیه روی نمایش به صورت ردیفی کلیک کرده و از ستون Size میزان فشرده سازی برای هر فایل رو ببینید.
در مقاله بعدی به ادامه این بحث میپردازیم.