"> رفع خطای Add Expires headers در YSlow سایت GTmetrix | طراحی سایت قزوین

رفع خطای Add Expires headers در YSlow سایت GTmetrix

رفع خطای Add Expires headers در YSlow سایت GTmetrix

در این مقاله دوبست با اررور Add Expires headers  در سایت GTmetrix آشنا شده و می‌آموزیم چگونه می‌توان آن را برطرف کرد.

خواهیم آموخت که چگونه بررسی و رفع این مشکل باعث بهبود سئو و رفزایش سرعت سایت می‌شود.

مختصری درباره‌ی اررور Add Expires headers

نام: Add Expires headers
نوع: سرور
اولویت: بالا
میزان سختی: راحت
میانگین امتیاز: 25%

"رفع

در هر بار مشاهده صفحه‌ای از سایت کاربر باید فایل‌هایی را دانلود کند تا بتواند سایت را مشاهده کند.
فایل هایی از نوع HTML ، JS ، CSS و عکس های ذخیره شده در کش مرورگر از این دسته هستند.
زمانی که کاربر صفحه دیگری از همان سایت را بارگذاری میکند، دیگر فایل‌های مشابه مجدد دانلود نمی‌شود.
به عناون مثال لوگو سایت، فایل‌های CSS و … که مشابه هستند از کش مرورگر فراخوانی می‌شوند.
همین امر دلیل لود زمانبر سایت در بازدید اولیه کاربر از سایتمان است.
این کار نه تنها باعث کاهش مصرف اینترنت بازدیدکنندگان می‌شود بلکه تعداد درخواست‌های سمت سرور را هم کاهش می‌دهد.
اهمیت کش سایت
اهمیت کش سایت

کاهش این درخواست‌ها باعث کاهش مصرف منابع سرور و همینطور لود سریعتر صفحات سایت در بازدیدهای بعدی از سایت خواهد شد.

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

روش برطرف کردن خطای Expires headers

نخست باید شما از زمان تغییرات در فایل‌های خود اطلاع داشته و Add Expires headers را اعمال کنید.
این بدین معناست که بدانید فایل‌های سایت شما هر از چندگاهی آپدیت می‌شوند و کدام تغییری ندارند.
در زیر تعدادی از انواع فایل‌های سایت آورده شده است:
  • favicon/ico
  • javascript
  • images: jpg, gif, png
  • css

فایل‌های favicon معمولا تغییر پیدا نمیکنند و در بهتر است تایم کش مروگر آن‌ها طولانی باشد.

فایلهای عکس نیز معمولا ثبت هستند.

فایلهای جاوا اسکریپت ممکن است هر از چندگاهی تغییراتی داشته باشند.

در این میان فایل‌های CSS معمولا بیشتر تغییر کرده و آپدیت می‌شوند.

با توجه به همین توضیحات ما تاریخ آپدیت کش مرورگر را تایین کرده تا اررور Add Expires headers را برطرف سازیم.

به مثال زیر توجه کنید:

# Enable expirations
ExpiresActive On 
# Default directive
ExpiresDefault "access plus 1 month"

بر طبق توضیح خط یک، برای فعال کردن تاریخ انقضا از دستور ExpiresActive On هم می‌توان استفاده کرد.

در دستور مربوط ما در خط 4 مقداری پیش فرض برای فایل‌هایی که تاریخ انقضا ندارند تایین کرده‌ایم.

بر طبق توضیح خط سه،تاریخ انقضای فایل‌های تایین نشده به صورت پیش فرض یک ماه می‌توانند در کش مرورگر کاربر باقی بمانند.

بعد از یک ماه در زمان بازدید کاربر از صفحات دوباره مرورگر درخواست دانلود فایل را به سرور ارسال می‌کند.

 

به دستورات زیر نیز توجه کنید:

# My favicon
ExpiresByType image/x-icon "access plus 1 year"
# Images
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
# CSS
ExpiresByType text/css "access plus 1 month"
# Javascript
ExpiresByType application/javascript "access plus 1 year"

به دلیل تغییرات کم favion بنا بر خط 2 ما تایین کردیم این فایل بعد از یک سال از کش مرورگر کاربر پاک شود.

در خط‌ های 4 تا 7 ما تایین کردیم که عکس‌های از هر نوع فرمتی تا یک ماه در مرورگر کاربر باقی بمانند.

دستورات خط 9 و 11 برای فایل های CSS و JS می‌باشد که مدت ذخیره آن‌ها را نیز یک ماه تایین کرده‌ایم.

دستورات آخر Expires headers :

<IfModule mod_expires.c>
# Enable expirations
ExpiresActive On 
# Default directive
ExpiresDefault "access plus 1 month"
# My favicon
ExpiresByType image/x-icon "access plus 1 year"
# Images
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
# CSS
ExpiresByType text/css "access plus 1 month"
# Javascript
ExpiresByType application/javascript "access plus 1 year"
</IfModule>

این دستورات باید در فایل htaccess جای گیرد که این فایل معمولا در مسیر public_html هاست شما می‌باشد.

اگر این فایل را پیدا نکردید ممکن است در تنظیمات کنترلپنل هاست شما مخفی باشد که باید فایل های مخفی را به show تغییر دهید.

درصورتی که باز این فایل را نیافتید در مسیر public_html هاست خود روی new file کلیک کنید.

سپس می‌توانید فایل جدید را به اسم .htaccess بسازید و دستورات بالا را در آن قرار دهید.

با این کار تغییرات مورد نیاز در کش مرورگر کاربر اعمال خواهد شد.

البته باید دقت داشته باشید که برای برطرف کردن مشکل Add Expires headers بایستی تمامی فایل‌های فراخوانی شده در هاست شما باشند.

به طور مثال اگر فایل CSS یا عکسی در سایت دیگری لود شود نمی‌توانید تغییرات را برای آن هم اعمال کنید.

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

همانطور که مشاهده کردید رفع خطای Add Expires headers در YSlow سایت GTmetrix بسیار آسان است.

خیلی راحت با رفع این مشکل می‌توانید سئو ساید را بهبود و باعث افزایش سرعت سایت تان شوید.

تا آموزشی دیگر بدرود.

    دیدگاه خود را بیان کنید

    ایمیل شما محفوظ خواهد ماند.*