یکی از خطاهای بسیار مهمی که موقع تست سرعت سایت با GTmetrix باهاش مواجه میشید و بسیار هم مهمه با عنوان Accept-Encoding header در جی تی متریکس به شما نمایش داده میشه که مربوط به قابلیت فشرده سازی فایلها در هاست یا همون Gzip هست. اگر با Gzip آشنایی ندارید پیشنهاد میکنم برای آشنایی بهتر موضوع از مقاله آموزش رفع خطای Enable gzip compression در GTmetrix استفاده کنید.
قابلیت Gzip این امکان رو به شما میده که سرور شما به جای ارسال فایلهای هر صفحه به صورت نسخه اصلی میاد و یک نسخه فشرده شده از این فایلها رو برای کاربران ارسال میکنه. در نتیجه حجم کلیه فایلها کمتر شده و از طرفی چون مرورگر از این قابلیت پشتیبانی میکنه میاد و فایلها رو که به صورت فشرده شده دریافت کرده به حالت نسخه اصلی پردازش میکنه و در نهایت صفحه با سرعت بالاتری لود میشه.
در این آموزش قصد دارم به نحوه برطرف کردن خطای Accept-Encoding header در جی تی متریکس بپردازم که با استفاده از این آموزش میتونید اقدام به فعال سازی حالت Gzip کرده و در نهایت مشکل Specify a Vary: Accept-Encoding header رو برطرف بکنید.
آموزش رفع خطای Accept-Encoding header در gtmetrix
همونطور که اشاره کردم وقتی قابلیت Gzip در هاست و سرور شما فعال نباشه، وقتی درخواستهای header را بررسی کنید گزینه vary :accept encoding در سایت فعال نخواهد بود و به شما نشون داده نمیشه. اما اگر این قابلیت در هاست و سرور فعال باشه با تصویری مثل زیر باید مواجه بشید.
حالا اگر این قابلیت در هاست و سرور فعال نباشه، به جای اینکه فایلها به صورت فشرده شده و در حالت Gzip ارسال بشن، با نسخه اصلی که حجم بالایی داره برای مرورگر ارسال خواهند شد. وقتی این حالت پیش بیاد حجم بالاتری از ترافیک مصرف میشه و به همین ترتیب با توجه به سرعت اینترنت کاربران بازدیدکننده هم باعث میشه که لود کامل سایت مدت زمان بیشتری طول بکشه.
پس یکی از مقولههای مهم سئو سایت که مربوط به سرعت لود صفحات هست رو از دست میدین و باعث عدم بهینه بودن سایت خواهد شد. حالا برای برطرف کردن این خطا کافیه قابلیت Gzip رو در سرور و هاست خودتون فعال داشته باشید. در صورت بررسی سایت با جی تی متریکس این خطا مشابه تصویر زیر نشون داده میشه.
اگر هم سایتتون رو با استفاده از pingdom تست کننید این خطا به صورت تصویر زیر نشون داده خواهد شد.
بررسی فعال بودن Accept-Encoding header
قبل از اینکه به برطرف کردن خطا بپردازید باید این مسئله رو هم بدونید که آیا قابلیت Gzip که راهکار حل خطای Accept-Encoding header هست داخل هاست شما فعال هست یا خیر. برای این منظور به وبسایت checkgzipcompression.com مراجعه کنید و سپس مشابه چیزی که در تصویر زیر مشاهده میکنید آدرس کامل سایت خودتون را در فیلد مربوطه وارد کرده و روی آیکون جستجو کلیک کرده و منتظر بمونید تا سایت آنالیز شده و نتیجه به شما اعلام بشه. در صورتی که این قابلیت فعال باشه میزان تاثیری که فشرده سازی روی آدرس اصلی سایت شما خواهد داشت رو هم نشون میده.
رفع خطای Accept-Encoding header در سرور آپاچی
در صورتی که سرور شما آپاچی هست کافیه با اضافه کردن کد زیر به فایل htaccess. ارور Accept-Encoding header رو در وب سرور آپاچی برطرف کنید. این فایل همون فایل htaccess. موجود در هاست شما هست که در روت هاست قرار داره و برای دسترسی بهش کافیه به File Manager هاست مراجعه کنید. سپس گزینه Edit رو برای ویرایش فایل انتخاب کرده و کدهای زیر رو به انتهای این فایل اضافه کنید.