آموزش رفع خطای add expires headers در GTmetrix
اطلاعاتی که در کش مرورگر ذخیره میشود باید حتما تاریخ انقضا داشته باشند. در غیر این صورت بروز خطای add expires headers در GTmetrix قطعی خواهد بود. اگر به هر دلیلی این کار را انجام ندادهاید و حالا این خطا گریبان سایت شما را گرفته است، کافیست در ادامه این مطلب در مگ هاست ایران همراه ما باشید تا نحوه رفع خطای add expires headers را بیاموزید.
دلیل بروز خطای add expires headers در GTmetrix
اطلاعات مشترک و یکسانی که در صفحات مختلف یک سایت وجود دارند، پس از چندین بار مراجعه یک کاربر در کش مرورگر ذخیره میشوند. درنتیجه تعداد درخواستهای ارسال شده به سمت سرور کاهش پیدا کرده و سرعت لود صفحه افزایش مییابد. درواقع به همین دلیل است که معمولا اولین باری که به یک سایت مراجعه میکنید، مدت زمان بیشتری برای نمایش صفحه طول میکشد؛ چرا که همه اطلاعات باید برای نخستین بار بارگیری شوند و این این فرایند زمانبر است.
برای اینکه بدانید علت اصلی خطای add expires headers در GTmetrix چیست باید بیان کنیم که تمامی این اطلاعات برای ذخیره شدن در کش مرورگر باید تاریخ انقضای مشخصی داشته باشد. اگر در زمانی که با استفاده از GTmetrix در حال چک کردن سرعت سایت خود هستید، خطای add expires headers در GTmetrix رخ میدهد؛ دلیل آن همین تاریخ انقضای اطلاعات ذخیره شده در کش مرورگر است.
درحقیقت تعیین کردن تاریخ انقضا برای اطلاعات ذخیره شده در کش، برای این است که مرورگر بداند اطلاعات ذخیره شده را باید از سرور درخواست کند یا کش؟ درنهایت زمانی که هیچگونه تاریخ انقضایی برای اطلاعات ذخیره شده در کش مرورگر تعیین نکنید با این خطا روبرو خواهید شد.
نحوه رفع خطای add expires headers در GTmetrix
برای بررسی تاریخ انقضای اطلاعات و آپدیت آنها میتوانید از قابلیت Enable Expiration که در فایل .htaccess استفاده کنید.
برای این کار پس از ورد به هاست، در مسیر file manager فایل htaccess را پیدا کنید. برای پیدا کردن این فایل گزینه Settings که در بالای صفحه فایل منیجر قرار دارد را انتخاب کنید. در گام بعد روی گزینه Show Hidden Files کلیک کنید.
پس از نمایش فایل گزینه Edit را انتخاب کنید و کدهای زیر را در انتهای فایل قرار دهید.
# Enable expirations
ExpiresActive On
# Default directive
ExpiresDefault “access plus 3 month”
حال باید ببینیم این کد دقیقا برای ما چه کار میکند:
- در ابتدا دستور فعال ازی قابلیت expiration را توسط htaccess صادر کردیم.
- در خط آخر این کدها تعیین کردیم که فایلها و اطلاعات سایت بهصورت پیشفرض به مدت سه ماه بر روی کش ذخیره شوند.
پس از این که این سه ماه تمام شود اطلاعات بهصورت خودکار و برای یک بار از سرور درخواست میشود و مجددا برای سه ماه دیگر در کش ذخیره میشوند.
حال باید مشخص کنید که برای کدام فایلها میخواهید تاریخ انقضا مشخص کنید. برای این کار اول با هم بررسی کنیم ببینیم فایلهای آپلود شده بر روی یک سایت میتواند شامل چه مواردی باشد:
- تصاویر با فرمت jpg, gif, png
- تصاویری با فرمت ico (فاوآیکون سایت)
- فایلهای CSS
- فایلهای جاوا اسکریپت
در بین این فایلها، معمولا فاو آیکون سایت در طول زمان تغییر نمیکند. برای اینکه این تصویر در کش مرورگر کاربران ذخیره شود، کافیست کدهای زیر را در فایل خود وارد کنید.
# Enable expirations
ExpiresActive On
# Default directive
ExpiresDefault “access plus 3 month”
# My favicon
ExpiresByType image/x-icon “access plus 1 year”
در این رشته کد مشخص شده است که فایل فاو آیکون به مدت یک سال در کش مرورگر ذخیره شود. برای دیگر انواع فایلها نیز باید به همین شیوه عمل کنید.
<IfModule mod_expires.c>
# Enable expirations
ExpiresActive On
# Default directive
ExpiresDefault “access plus 3 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 2 month”
# Javascript
ExpiresByType application/javascript “access plus 1 year”
</IfModule>
همانطور که مشاهده میکنید، در انتهای کدهای بالا دستور IfModule قرار داده شده است. برای فعالکردن قابلیت موردنظر حتما باید این دستور را در کدهای خود قرار دهید.
یک نکته مهم که حتما باید به آن توجه کنید این است که برای رفع خطای Add Expires headers به شکل کامل، باید تمام فایلهای درخواست شده دقیقا در هاست شما باشد، در غیراینصورت امکان فعالکردن قابلیت Expires headers را نخواهید داشت.
مطلب پیشنهادی: رفع خطای Reduce cookie size در GTmetrix
جمعبندی
حالا دیگر میدانید که خطای add expires headers در GTmetrix چرا رخ میدهد و چگونه میتوان آن را برطرف کرد. همانطور که مطالعه کردید این خطا با تاریخ انقضای اطلاعات ذخیره شده در کش در ارتباط است.
از اینکه تا پایان این مطلب همراه ما بودید سپاسگزاریم. شما میتوانید سوالات و نظرات خود را برای ما بنویسید. کارشناسان ما در هاست ایران در سریعترین زمان ممکن پاسخگوی شما خواهند بود.
سوالات متداول
- دلیل بروز خطای add expires headers در GTmetrix چیست؟
اگر برای اطلاعاتی برای بازخوانی دوباره که در کش مرورگر ذخیره میشوند تاریخ انقضا مشخص نکنید با خطای add expires headers در GTmetrix مواجه خواهید شد.
- چگونه میتوان خطای add expires headers در GTmetrix را رفع کرد؟
برای رفع این خطا کافیست کدهای داده شده در این مطلب را در فایل .htaccess سایت خود اضافه کنید.