اگر از همراهان همیشگی پرشین تولز هستید، حتماً مقاله قبلی در مورد رفع خطاهای سایت به کمک GTmetrix را خواندهاید! در این مقاله هم قصد داریم به بررسی ادامه این بحث بپردازیم تا بتوانید با افزایش سرعت سایت، وضعیت سئوی سایت خود را بهبود ببخشید و رضایت کاربران را هم جلب کنید.
یکی از خطاهای بسیار مهمی که موقع تست سرعت سایت با GTmetrix با آن مواجه میشوید و بسیار هم مهم است، با عنوان Accept-Encoding header در جی تی متریکس به شما نمایش داده میشود که مربوط به قابلیت فشردهسازی فایلها در هاست یا همون Gzip است. اگر با Gzip آشنایی ندارید، در قسمت دهم مقاله رفع خطای GTmetrix به بررسی آن پرداختیم که میتوانید آن را مطالعه کنید! قابلیت Gzip این امکان را به شما میدهد که سرور شما به جای ارسال فایلهای هر صفحه به صورت نسخه اصلی میآید و یک نسخه فشرده شده از این فایلها را برای کاربران ارسال میکند. در نتیجه حجم کلیه فایلها کمتر شده و از طرفی چون مرورگر از این قابلیت پشتیبانی میکند، فایلها را که به صورت فشرده شده دریافت کرده به حالت نسخه اصلی پردازش میکند و در نهایت صفحه با سرعت بالاتری بارگذاری میشود.
همانطور که اشاره کردم وقتی قابلیت Gzip در هاست و سرور شما فعال نباشد، وقتی درخواستهای header را بررسی کنید گزینه vary :accept encoding در سایت فعال نخواهد بود و به شما نشون داده نمیشود اما اگر این قابلیت در هاست و سرور فعال باشد با تایید میشود.
- پرشین تولز ارائه دهنده میزبانی وب بر روی سرورهای قدرتمند لینوکس و ویندوز ، در ایران و خارج از ایران به همراه کنترل پنل های قدرتمند plesk و cPanel که امکانات فراوانی برای مدیریت فایلها و دیتابیس فراهم می کنند.
حالا اگر این قابلیت در هاست و سرور فعال نباشد، به جای این که فایلها به صورت فشرده شده و در حالت Gzip ارسال شوند، با نسخه اصلی که حجم بالایی دارند برای مرورگر ارسال خواهند شد. وقتی این حالت پیش بیاید، حجم بالاتری از ترافیک مصرف میشود و به همین ترتیب با توجه به سرعت اینترنت کاربران بازدیدکننده هم باعث میشود که لود کامل سایت مدت زمان بیشتری طول میکشد. پس یکی از مقولههای مهم سئو سایت که مربوط به سرعت بارگذاری صفحات است را از دست میدهید و باعث عدم بهینه بودن سایت خواهد شد. حالا برای برطرف کردن این خطا کافیه قابلیت Gzip را در سرور و هاست خودتان فعال داشته باشید.
بررسی فعال بودن Accept-Encoding header
قبل از آن که به برطرف کردن خطا بپردازید باید این مسئله را هم بدانید که آیا قابلیت Gzip که راهکار حل خطای Accept-Encoding header است، داخل هاست شما فعال است یا خیر! برای این منظور به وبسایت checkgzipcompression.com مراجعه کنید آدرس کامل سایت خودتون را در فیلد مربوطه وارد کرده و روی آیکون جستجو کلیک کرده و منتظر بمانید تا سایت آنالیز شده و نتیجه به شما اعلام شود. در صورتی که این قابلیت فعال باشد، میزان تاثیری که فشرده سازی روی آدرس اصلی سایت شما خواهد داشت را هم نمایش میدهد.
- پرشین تولز خدمات متنوعی در زمینه سرور اختصاصی و سرور مجازی با سخت افزاز های گوناگون ارائه می کند.تیم فنی پرشین تولز آماده ارایه خدمات پشتیبانی نرم افزاری و نگهداری سرور به صورت شبانه روزی است.
رفع خطای Accept-Encoding header در سرور آپاچی
در صورتی که سرور شما آپاچی است، کافی است با اضافه کردن کد زیر به فایل htaccess. ارور Accept-Encoding header رو در وب سرور آپاچی برطرف کنید. این فایل همان فایل htaccess. موجود در هاست است که در روت هاست قرار دارد و برای دسترسی بهش کافیه به File Manager هاست مراجعه کنید. سپس گزینه Edit را برای ویرایش فایل انتخاب کرده و کدهای زیر را به انتهای این فایل اضافه کنید.
<IfModule mod_headers.c>
<FilesMatch ".(js|css|xml|gz|html)$">
Header append Vary: Accept-Encoding
</FilesMatch>
</IfModule>
رفع خطای Accept-Encoding header در سرور Nginx
در صورتی که سرور شما Nginx است، کافی است با اضافه کردن کد زیر به فایل nginx.conf که در مسیر /etc/nginx/ قرار دارد ارور Accept-Encoding header رو در وب سرور Nginx برطرف کنید.
gzip_vary on
رفع خطای Accept-Encoding header در وردپرس
در صورتی که از وردپرس استفاده میکنید و نمیدانید که سرور شما از چه نوعی است یا اینکه تمایلی به فعالسازی با استفاده از کد ندارید میتوانید با افزونه وردپرس این کار را انجام دهید. برای این کار کافی است روی دکمه زیر کلیک کرده و افزونه Gzip وردپرس رو با استفاده از راهنمای نصب افزونه در سایت خود نصب و فعالسازی کنید. این افزونه تنظیمات خاصی نداره و پس از فعالسازی، تنظیماتش فعال میشود.
رفع خطای add expires headers در GTmetrix
یکی از خطاهای بسیار رایجی که در هنگام تست سرعت سایت با GTmetrix باهاش مواجه میشویم، خطای add expires headers است. همانطور که از معنای لغوی این خطا مشخص است، برای برخی فایلها که عموما در هدر سایت هستند، باید کاری کنیم که تاریخ منقضی شدن آنها طولانی مدت باشد که در اینجا منظور از این تاریخ همان کش سایت است. وقتی شما وارد یک سایت میشوید، فایلهایی با فرمتهای مختلف شروع به دانلود شدن میکنند، هر کدوم از این فایلها دارای یک تاریخ انقضا هستند و تا مدت زمان مشخصی در حافظه مرورگر شما باقی میمانند تا در بازدیدهای بعدی، به جای بارگذاری از سرور، از مرورگر شما شروع به بارگذاری کنند.
وقتی که قصد دارید مشکل add expires headers رو در جی تی متریکس برطرف کنید، باید بدانید که هر کدوم از فایلها بر اساس استفادهای که دارند، باید از یک بازه زمانی درست برای ماندن در حافظه کش انتخاب شوند. چیزی که تعیین کننده این کار است، بر اساس فرمت فایل صورت میگیرد که اگر بخواهیم در یک دسته بندی درست قرار دهیم، شاید استفاده از روش زیر چیز درستی برای اکثر سایتها باشد.
- فایلهای تصویری با فرمت jpg, gif, png
- فایل تصویری با فرمت ico(فاو آیکون سایت)
- فایلهای CSS
- فایلهای جاوا اسکریپت
قصد داریم به آموزش برطرف کردن ارور add expires headers در جی تی متریکس بپردازیم که با استفاده از این قابلیت میتوانید کاری کنید که فایلهایی که بیشتر از چند سال ممکنه تغییر نکنند، تا این مدت در حافظه مرورگر کاربر باقی بمانند. در این صورت تعداد درخواست HTTP هم به سرور شما کمتر شده و باعث افزایش سرعت سایت خواهد شد. در مقاله بعد به بررسی کامل این بحث میپردازیم!