هاست ایران میزبان فا
آموزش های وردپرس

آموزش رفع خطای add expires headers در GTmetrix

یکی از خطاهای بسیار رایجی که در هنگام تست سرعت سایت با GTmetrix باهاش مواجه میشیم، ارور add expires headers هست. همونطور که از معنای لغوی این خطا مشخص هست اینه که به ما میگه برای برخی فایل‌ها که عموما در هدر سایت هستند، باید کاری کنیم که تاریخ منقضی شدنشون طولانی مدت باشه که در اینجا منظور از این تاریخ همون کش سایت هست. وقتی شما وارد یک سایت میشید، فایل‌هایی با فرمت‌های مختلف شروع به دانلود شدن می‌کنند، هر کدوم از این فایل‌ها دارای یک تاریخ انقضا هستند و تا مدت زمان مشخصی در حافظه مرورگر شما باقی میمونند تا در بازدیدهای بعدی، به جای لود از سرور، از مرورگر شما شروع به لود شدن بکنند.

در این آموزش از پایگاه دانش میزبان‌فا قصد دارم به نحوه برطرف کردن ارور add expires headers در جی تی متریکس بپردازم که با استفاده از این قابلیت میتونید کاری کنید که فایل‌هایی که بیشتر از چند سال ممکنه تغییر نکنند، تا این مدت در حافظه مرورگر کاربر باقی بمونن. در این صورت تعداد درخواست HTTP هم به سرور شما کمتر شده و باعث افزایش سرعت سایت خواهد شد.

آموزش رفع خطای add expires headers در GTmetrix

وقتی که قصد دارید مشکل add expires headers رو در جی تی متریکس برطرف کنید، باید بدونید که هر کدوم از فایل‌ها بر اساس استفاده‌ای که دارند، باید از یک بازه زمانی درست برای موندن در حافظه کش انتخاب بشن. چیزی که تعیین کننده این کار هست بر اساس فرمت فایل صورت میگیره. که اگه بخوایم تو یک دسته بندی درست قرارشون بدیم شاید استفاده از روش زیر چیز درستی برای عموم سایت‌ها باشه.

  • فایل‌های تصویری با فرمت jpg, gif, png
  • فایل تصویری با فرمت ico(فاوآیکون سایت)
  • فایل‌های CSS
  • فایل‌های جاوا اسکریپت

تو دسته بندی بالا که بر اساس فرمت فایل مشخص شده، معمولا فاوآیکون سایت خیلی تغییر نمیکنه. بعد از اون هم فایل‌های CSS و JS هستند که وابسته به تغییرات توسط خود ما هستند. بنابراین میشه برای فایل‌هایی که ممکنه حتی تا سال‌ها تغییری نکنند، کاری کنیم که تا این مدت در حافظه کش مرورگر باقی مونده و در بازدیدهای بعدی کاربر به جای لود از طریق هاست و سرور، از حافظه کش شده بارگزاری بشن. در این صورت با کاهش تعداد درخواست HTTP مواجه خواهیم شد. حالا اگه ما بخواهیم تا تاریخ انقضا برای بررسی مجدد فایل‌ها و آپدیت در حافظه کش استفاده کنیم باید از قابلیت Enable Expirations توسط فایل htaccess. استفاده کنیم.

رفع خطای add expires headers در GTmetrix و استفاده کش سایت

برای این منظور وارد هاست خودتون شده و بعد از اینکه وارد File Manager شدید، به دنبال فایل htaccess. بگردید. این فایل جزو فایل‌ها مخفی هست. پس اگر اونو نمیبینید روی دکمه Settings که در بالای صفحه فایل منیجر قرار داره کلیک کنید و سپس در پنجره باز شده مثل تصویر زیر گزینه Show Hidden Files رو فعال کنید.

رفع خطای add expires headers در GTmetrix و استفاده کش سایت

در نهایت بعد از اینکه فایل بهتون نمایش داده شد، روی اون راست کلیک کرده و گزینه Edit رو برای ویرایش کردن انتخاب کنید، سپس کدهای زیر رو در انتهای فایل قرار بدین.

در کدهای بالا ما این دستور رو توسط htaccess. صادر کردیم که اولا قابلیت expirations فعال بشه که در خط دوم با قرار گرفتن روی حالت ON این کار صورت میگیره. سپس در خط آخر که با ExpiresDefault “access plus 3 month” مشخص شده این دستور رو میدیم که به صورت پیش فرض(Default directive) برای 3 ماه این فایل‌ها در حافظه کش باقی بمونن و در هر بازدید از طریق حافظه مرورگر لود بشن. بعد از اینکه سه ماه تموم شد مجددا از طریق هاست یک بار درخواست بشن و باز هم برای مدت سه ماه دیگه(اینبار در حالتی که آپدیت شده) در حافظه کش قرار بگیرند. اما هنوز مشخص نکردیم که این فایل‌ها شامل چه چیزهایی هستند. در اینجا مثال رو با فایل فاوآیکون شروع می‌کنم.

برای اینکه فایل فاوآیکون در سایت رو برای این مدت سه ماه در حافظه کش قرار بدین و قابلیت add expires headers رو براش فعال کنید، باید بعد از اینکه از کدهای بالا استفاده کردید، ادامه کدها که مربوط به این فرمت فایل هست رو به شکل زیر وارد کنید.

تو خط آخر این کد این دستور برای فایل‌های تصویری که به صورت فاوآیکون هستند تعیین شده که به مدت یک سال در حافظه کش قرار بگیرند. به همین ترتیب برای سایر فایل‌ها هم باید به این شیوه عمل کنیم.

در نمونه کد بالا که به صورت کد نهایی هست و در ابتدا و انتهای اون از دستور IfModule استفاده شده که برای حالت عملی و فعال کردن قابلیت add expires headers باید به شکل بالا عمل کنیم، امکان اجازه به فایل‌های تصویری با فرمت gif، png، jpg و jpeg به مدت یک ماه، فایل‌های CSS به مدت دو ماه و فایل‌های JS هم به مدت یک سال تعیین شدند که در حافظه کش مرورگر باقی بمونند.

امیدوارم که این آموزش هم مورد توجه و پسند شما قرار گرفته باشه و با استفاده ازش تونسته باشید اقدام به رفع خطای add expires headers در جی تی متریکس بکنید. در صورتی که در رابطه با این آموزش سوال یا مشکلی داشتید در بخش دیدگاه‌ها اعلام کنید.
آموزش رفع خطای add expires headers در GTmetrix
2.9 (57.78%) 18 votes
برچسب ها
هاست ایران میزبان فا

عباس صادقی

حدود 5 سالی است که در زمینه وردپرس فعالیت می‌کند، علاقه مند است که با تولید محتوا کاربردی در میزبان فا به افزایش دانش هموطنان خود کمک کند و باعث گسترش جهان شود؛ او یک آزاد کار است، از دانشگاه انصراف داده و علاقه‌ای به ادامه تحصیلات آکادمیک ندارد.

نوشته های مشابه

‫۴ نظرها

  1. سلام و وقت بخیر خدمت شما؛
    ببخشید من یک سوال داشتم. وب سایت من با اینکه بهینه شده و pagespeed 84 رو دارد ولی مدت زمان بارگذاری سایتم خیلی بالاس!
    بعضی وقتا 12 ثانیه و وقتای دیگه هم 40 ثانیه !!!!!
    این مشکل از وقتی به وجود اومده که من هاستمو از فرانسه به ایران اوردم!
    هر ترفندی که برای افزایش سرعت پیدا کردم رو پیدا سازی میکنم ولی کماکان تایم لود شدن کامل وبسایتم خیلی بالاس؟؟
    مشکل از چی میتونه باشه؟
    با تشکر

  2. سلام
    وقتتون بخیر و شادی من کد دستوری بالا رو درون سایتم بخش htaccess قرار دادم اما همچنان زیر رو در سایت gtmtix دارم.

    There are 3 static components without a far-future expiration date.

    https://fonts.googleapis.com/css?family=Varela+Round&ver=3.1
    https://www.google-analytics.com/analytics.js
    https://www.google-analytics.com/plugins/ua/linkid.js

    دقیقا فایل رو باید کجای فایل htaccess قرار بدیم تا عمل کنه و آیا کد بالا کامل هست ؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بستن