رفع خطای Add Expires headers در YSlow جی تی متریکس
رفع خطای Add Expires headers در YSlow جی تی متریکس
در این مقاله از سایت آموزی قصد داریم شما را با آموزش رفع خطای Add Expires headers در YSlow جی تی متریکس آشنا کنیم. با ما همراه باشید.
خطای Add Expires headers در YSlow
هر بار که شما از وب سایتی بازدیدی انجام میدهید لازم است که یک سری فایلهایی را دانلود کنید.
تا سایت قابل مشاهده باشد فایلهایی مانند js ، html ، css و عکسها که در کش مرورگر (یا کش محلی یا کش لوکال) ذخیره میشود.
حال وقتی به صفحهی دیگری از آن سایت مراجعه میکنید موارد تکراری صفحات مثل لوگو سایت فایلهای CSS و غیره دیگر دوباره دانلود نمیشوند بلکه از طریق کش محلی مرورگر فراخوانی صورت میگیرد.
پس به این ترتیب لازم نیست با هر بار لود کردن صفحههای سایت، فایلهای مشترک بین صفحات را دانلود کنید.
این همان دلیلی است که باعث میشود در اولین بازدید از یک سایت زمان بیشتری برای لود شدن لازم باشد.
این عمل هم باعث صرفهجویی در حجم اینترنت بازدیدکننده میشود
و هم تعداد درخواستهای سمت سرور را کاهش میدهد
و صفحات سایت در دفعات بعدی سریعتر لود میشوند.
حال نکته اینجا است که چه مدت باید اطلاعات در کش مرورگر بماند؟
باید تاریخ انقضایی برای فایلها مشخص شود و اگر تاریخ انقضا برای اطلاعات درج نشود هر بار کاربر باید فایلهای مشترک بین صفحات را دانلود کند و آن موقع خطای Expires-headers رخ میدهد.
تاریخ انقضا به مرورگرها خاطرنشان میکند که کدام فایل را از سرور درخواست کند.
و کدام یک از فایل را از کش مرورگر درخواست کند.
رفع خطای Add Expires headers در YSlow جی تی متریکس
رفع خطای Expires headers در gtmetrix
برای این منظور با استفاده از یک کد دستوری در فایل htaccess هاست وبسایت خود می توانید این خطا را مرتفع کنید.
در حقیقت برخی فایل ها همچون عکس ها ، فایل های js ، css و … تاریخ انقضای کوتاهتری به جهت تغییرات بیشتر بایستی داشته باشند.
اما فایل هایی همچون favicon ها و… تغییر نمی کنند و تاریخ انقضای بیشتری در دستور زیر باید داشته باشند.
جهت رفع خطای Add Expires headers کافی است کد زیر را به فایل htaccess درون هاست خود اضافه کنید:
[html]<IfModule mod_expires.c>
ExpiresActive On
# Images
ExpiresByType image/jpeg “access plus 1 year”
ExpiresByType image/gif “access plus 1 year”
ExpiresByType image/png “access plus 1 year”
ExpiresByType image/webp “access plus 1 year”
ExpiresByType image/svg+xml “access plus 1 year”
ExpiresByType image/x-icon “access plus 1 year”
# Video
ExpiresByType video/mp4 “access plus 1 year”
ExpiresByType video/mpeg “access plus 1 year”
# CSS, JavaScript
ExpiresByType text/css “access plus 1 month”
ExpiresByType text/javascript “access plus 1 month”
ExpiresByType application/javascript “access plus 1 month”
# Others
ExpiresByType application/pdf “access plus 1 month”
ExpiresByType application/x-shockwave-flash “access plus 1 month”
</IfModule>[/html]
رفع خطای Add Expires headers در YSlow جی تی متریکس
پیوندهای مهم و کاربردی
تگ های جدید HTML5 در سایت آموزی
صفات تگ های HTML در سایت آموزی
تگ های منسوخ شده HTML5 در سایت آموزی
تگ های block level و inline level در سایت آموزی
رفع خطای Add Expires headers در YSlow جی تی متریکس – اختصاصی سایت آموزی
درباره سایت آموزی
علیرضا ابراهیمی - بنیانگذار وبسایت آموزشی سایت آموزی ، 8 سال سابقه فعالیت حرفه ای در زمینه طراحی سایت ، سئو ، سابقه تدریس اغلب زبان های برنامه نویسی تحت وب ، محقق و تحلیلگر ساختارهای توسعه دهنده وب
نوشته های بیشتر از سایت آموزی11 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلام منم این کد رو اضافه کردم هنوز ازم ایراد میگیره برای سه فایل خاص لطفا راهنماییم کنید چطور رفع کنم خطا رو
https://fonts.googleapis.com/css?family=Open+Sans:400,600
https://www.googletagmanager.com/gtag/js?id=UA-110091083-1
https://www.google-analytics.com/analytics.js
ممنونم بابت راهنماییتون عالی بود
سلام
وقت بخیر
اقا کدکار نمی کنه تغییر ایجاد نمیشه
به نظرتون مشکلازکجاست؟
سلام درود بر شما… دوست گرامی کد جدید و بهینه قرار گرفت از کد جدید درج شده برای رفع خطا استفاده نمایید. موفق باشید.
اقا ممنون از پاسختون
Add Expires headers
برای این استفاده کردم که بخش YSlow Score این هدر درست بشه روی
pagespeed تاثیر داشت و شد 98 درصد
اما هیچ تغییری توی headers ایجاد نکرد و همون صفر موند
درود دوست گرامی… در حقیقت کش هدر و درخواست هایی که اونها از سرور دریافت می کنند خیلی هاشون به نوع وب سرور و زمان کش تنظیم شده توسط سرور ارتباط داره… این کد که خدمتتون ارائه شده نسخه عمومی و اروجینال و مورد تایید جی تی متریکس برای رفع این نوع خطا هست اما خب دلیل هم نداره بر روی همه سرورها و تمامی وب سرور ها این زمان کش هدر درست عمل کنه… برای رفع این مشکل به شما توصیه میکنم از پلاگین wp-rocket در نسخه اورجینال که مدیریت کش هدرهای اینترنال رو خوب انجام میده استفاده کنید و در صورت عدم رفع مشکل حتما از یک سی دی ان خوب استفاده نمایید تا مشکل کش نشدن فایل ها در هدر درخواست سرور شما رفع شود.
سلام من کد رو قرار دادم اما هنوز There is 1 static component without a far-future expiration date.
https://fonts.googleapis.com/css?family=Roboto:300,400%7CDroid+Serif:100italic,200italic,300italic,400italic,500italic,600italic,700italic,800italic,900italic,100,200,300,400,500,600,700,800,900%7CRoboto%7CNoto+Serif&subset=latin
رو ارور میده
درود بر شما این فایل که شما میفرمایید مربوط به یک فایل اکسترنال یا خارجی هست و اون هم از طریق قالب شما داره خونده میشه و مربوط به لود شدن فایل سی اس اس یک نوع فونت گوگلی از سرور فونت های گوگل هست. توصیه بنده به شما این هست برای رفع این خطا می تونید از 2 طریق اقدام کنید:
1- در صورتی که قالب شما آپشنی برای غیرفعال کردن فونت های گوگلی داره اون بخش رو در وضعیت Disable قرار بدید تا فونت گوگلی از قالب شما از طریق سرور فونت های گوگل لود نشه.
2- می تونید از یک افزونه کاربردی به نام Webcraftic Clearfy استفاده نمایید و فونت گوگلی رو از طریق اون غیرفعال نمایید.
سلام. در سایت من تبلیغات همسان وجود داره که باعث شده امتیاز من بخاطر نداشتن expire headers پایین بیاد آیا راه حلی وجود داره که بشه خودمون تعیین کنیم
سلام و درود بر شما دوست گرامی… عرض کنم سایت شما با جی تی متریکس برای این خطا تست شد، اما expire header سایت شما متعلق به فایل اکسترنال لوگوی ساماندهی هست… و موردی بابت تبلیغات همسان در خطای Add Expire Header مشاهده نکردیم… با تشکر…
تشکر از آموزش خوبتان مشکل من حل شد موفق باشید