SHET22

فعال کردن کش مرورگر در وردپرس با Leverage Browser Caching

فعال کردن کش مرورگر در وردپرس با Leverage Browser Caching

وقتی کاربر برای بار دوم وارد سایتتون می‌شه، لازم نیست همه تصاویر، فونت‌ها و فایل‌های ظاهری دوباره از سرور دانلود بشن. با فعال کردن کش مرورگر در وردپرس، مرورگر می‌تونه نسخه‌ای از این فایل‌های ثابت رو برای مدتی روی دستگاه کاربر نگه داره. نتیجه اینه که بازدیدهای بعدی معمولاً سریع‌تر انجام می‌شن و داده کمتری بین مرورگر و سرور جابه‌جا می‌شه.

توی این آموزش اول خیلی ساده با نحوه کار کش مرورگر آشنا می‌شید. بعد یاد می‌گیرید چطور نوع وب‌سرورتون رو بررسی کنید، افزونه Leverage Browser Caching رو روی سایت‌های سازگار راه بندازید و نتیجه رو با Lighthouse، مرورگر و GTmetrix بسنجید. راه‌های جایگزین برای Apache، LiteSpeed، Nginx، IIS، افزونه‌های کش و CDN رو هم بررسی می‌کنیم تا تنظیم اشتباهی روی سایتتون انجام ندید.

آنچه در این مقاله می‌خوانید

کش مرورگر چیه و چطور سرعت سایت رو بیشتر می‌کنه؟

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

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

مرورگر چه فایل‌هایی رو ذخیره می‌کنه؟

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

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

تفاوت کش مرورگر با کش صفحه و کش سرور

  • کش مرورگر: فایل‌ها رو روی دستگاه بازدیدکننده نگه می‌داره و بیشتر به بازدیدهای بعدی همون کاربر کمک می‌کنه.
  • کش صفحه: نسخه آماده‌ای از خروجی HTML صفحه رو نگه می‌داره تا وردپرس مجبور نباشه هر بار اون صفحه رو از اول بسازه.
  • کش سرور: می‌تونه داده‌ها، نتیجه پردازش PHP، درخواست‌های پایگاه داده یا خروجی صفحه رو در سطح هاست نگه داره.

این روش‌ها رقیب هم نیستن و هرکدوم بخش متفاوتی از فرایند بارگذاری رو سریع‌تر می‌کنن. افزونه Leverage Browser Caching فقط قوانین نگهداری فایل‌های ثابت در مرورگر رو تنظیم می‌کنه و جای کش صفحه یا یک راهکار کامل بهینه‌سازی سرعت رو نمی‌گیره.

هدرهای Cache-Control و Expires به زبان ساده

هدر، اطلاعات کوتاهی هست که سرور همراه فایل برای مرورگر می‌فرسته. هدر Cache-Control به مرورگر می‌گه فایل چطور و تا چه مدتی قابل نگهداریه. برای مثال، دستور max-age مدت اعتبار فایل رو برحسب ثانیه مشخص می‌کنه.

هدر Expires یک تاریخ انقضا برای نسخه ذخیره‌شده تعیین می‌کنه. مرورگرهای امروزی معمولاً دستورهای Cache-Control رو در اولویت می‌ذارن، ولی ممکنه هر دو هدر رو در پاسخ سرور ببینید. وقتی مدت اعتبار تموم بشه، مرورگر دوباره وضعیت فایل رو با سرور بررسی می‌کنه یا نسخه تازه رو می‌گیره.

قبل از فعال کردن کش مرورگر در وردپرس چه چیزهایی رو بررسی کنیم؟

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

تشخیص نوع وب‌سرور: Apache، LiteSpeed، Nginx یا IIS

وب‌سرور نرم‌افزاریه که فایل‌های سایت رو به مرورگر می‌فرسته. نوع اون تعیین می‌کنه قوانین کش رو کجا و با چه روشی تنظیم کنید. افزونه Leverage Browser Caching برای Apache ساخته شده و به ماژول mod_expires و فایل .htaccess قابل‌نوشتن نیاز داره. این افزونه روی Nginx یا IIS قوانین موردنیاز رو اعمال نمی‌کنه.

نام وب‌سرور معمولاً توی پنل هاست یا بخش اطلاعات سرور دیده می‌شه. اگه پیداش نکردید، از پشتیبانی هاست بپرسید: «وب‌سرور سایت من چیه و آیا mod_expires فعاله؟» حدس زدن نوع سرور می‌تونه شما رو به روش اشتباه ببره.

گرفتن نسخه پشتیبان از سایت و فایل‌های تنظیمات

قبل از تغییر .htaccess یا تنظیمات سرور، از سایت و نسخه فعلی فایل تنظیمات پشتیبان بگیرید. اگه تغییر باعث خطای ۵۰۰ شد، می‌تونید فایل سالم رو برگردونید. بهتره مطمئن بشید روش بازیابی نسخه پشتیبان رو هم می‌دونید؛ داشتن فایل پشتیبان بدون امکان برگردوندن اون کمک زیادی نمی‌کنه.

بررسی فعال بودن کش در افزونه، هاست یا CDN

ممکنه افزونه کش فعلی، پنل هاست یا CDN شما از قبل هدرهای کش رو تنظیم کرده باشه. CDN یا شبکه توزیع محتوا، فایل‌های سایت رو از سرورهای نزدیک‌تر به کاربر تحویل می‌ده. تنظیمات افزونه کش، بخش بهینه‌سازی هاست و پنل CDN رو بررسی کنید و دنبال گزینه‌هایی مثل Browser Cache، Cache Headers یا Browser Cache TTL بگردید.

جلوگیری از تنظیم چندباره و تداخل ابزارهای کش

بهتره فقط یک ابزار مسئول تنظیم هدرهای کش باشه. اگه افزونه، سرور و CDN هرکدوم قانون متفاوتی تعریف کنن، تشخیص قانون نهایی سخت می‌شه. اول راهکار فعلی سایتتون رو پیدا کنید و فقط وقتی ابزار جداگانه نصب کنید که تنظیم موردنیاز جای دیگری در دسترس نباشه.

فعال کردن کش مرورگر در وردپرس با افزونه Leverage Browser Caching

این افزونه برای چه سایت‌هایی مناسبه؟

افزونه Leverage Browser Caching برای سایت وردپرسی روی وب‌سرور Apache مناسبه؛ به‌شرطی که ماژول mod_expires فعال باشه و وردپرس اجازه نوشتن روی فایل .htaccess رو داشته باشه. این فایل مجموعه‌ای از دستورهای Apache رو در پوشه اصلی سایت نگه می‌داره.

  • اگه سرورتون Apache هست و دنبال یک راهکار ساده و بدون صفحه تنظیمات می‌گردید، این افزونه می‌تونه مناسب باشه.
  • اگه از LiteSpeed استفاده می‌کنید، اول امکانات کش هاست و افزونه کش فعلی رو بررسی کنید. LiteSpeed معمولاً فایل .htaccess رو می‌خونه، ولی روش پیشنهادی شرکت میزبان می‌تونه متفاوت باشه.
  • اگه سرورتون Nginx یا IIS هست، این افزونه انتخاب مناسبی نیست و باید تنظیمات رو در سطح سرور، پنل هاست یا CDN انجام بدید.

نصب و فعال‌سازی افزونه، قدم‌به‌قدم

  1. وارد پیشخوان وردپرس بشید و از منوی «افزونه‌ها» روی «افزودن افزونه تازه» بزنید.
  2. عبارت Leverage Browser Caching رو در کادر جست‌وجو وارد کنید. نام و سازنده افزونه رو با صفحه رسمی اون در مخزن وردپرس تطبیق بدید.
  3. روی دکمه نصب و بعد فعال‌سازی بزنید.
  4. بعد از فعال‌سازی، فایل .htaccess رو از فایل‌منیجر هاست بررسی کنید یا از پشتیبانی هاست بخواید وجود قوانین کش رو تأیید کنه.
  5. کش افزونه، سرور و CDN رو پاک کنید و نتیجه رو با روش‌هایی که پایین‌تر توضیح می‌دیم آزمایش کنید.
نصب افزونه Leverage Browser Caching
نصب افزونه Leverage Browser Caching

نسخه رایگان این افزونه صفحه تنظیمات جداگانه‌ای به پیشخوان اضافه نمی‌کنه. پس اگه بعد از فعال‌سازی منوی تازه‌ای ندیدید، لزوماً مشکلی پیش نیومده. عملکرد اصلی اون با افزودن قوانین مناسب به .htaccess انجام می‌شه.

تنظیمات افزونه Leverage Browser Caching
تنظیمات افزونه Leverage Browser Caching

افزونه بعد از فعال‌سازی چه کاری انجام می‌ده؟

افزونه برای فایل‌های ثابت، قانون انقضا تعریف می‌کنه تا مرورگر اون‌ها رو برای مدت مشخصی نگه داره. تصاویر، فایل‌های CSS، JavaScript و بعضی فونت‌ها می‌تونن مشمول این قوانین بشن. نوع دقیق فایل‌ها و زمان نگهداری رو بهتره بعد از فعال‌سازی از داخل .htaccess و هدر پاسخ هر فایل بررسی کنید.

این افزونه تصاویر رو فشرده نمی‌کنه، اندازه فایل‌ها رو کم نمی‌کنه، کش صفحه نمی‌سازه و مشکلات Core Web Vitals رو به‌تنهایی حل نمی‌کنه. Core Web Vitals معیارهای گوگل برای سنجش سرعت نمایش، واکنش‌پذیری و ثبات ظاهری صفحه هستن. برای این کارها به یک راهکار کامل‌تر مثل افزونه افزایش سرعت رخش نیاز دارید. فقط یادتون نره که هم‌زمان چند افزونه رو مسئول کش مرورگر و بهینه‌سازی یک فایل نکنید.

تفاوت نسخه رایگان و Pro افزونه

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

طبق اطلاعات منتشرشده در سایت سازنده، ابزارهایی مثل فشرده‌سازی GZIP و Brotli، کوچک‌سازی CSS، JavaScript و HTML، بارگذاری تنبل تصاویر، پیش‌واکشی DNS و Preconnect، ترکیب فایل‌های CSS و JavaScript، قراردادن Critical CSS داخل صفحه، هدرهای امنیتی، داشبورد عملکرد، پاک‌سازی کش با یک کلیک و پشتیبانی ویژه در نسخه Pro ارائه می‌شن. چون قابلیت‌ها ممکنه با به‌روزرسانی افزونه عوض بشن، فهرست نهایی رو پیش از خرید در سایت رسمی بررسی کنید.

طبق وب‌سایت رسمی Leverage Browser Caching، قیمت نسخه Pro در زمان نگارش این مطلب ۱۴ دلاره. چون قیمت و شرایط فروش ممکنه عوض بشن، قبل از خرید مبلغ نهایی، یک‌باره یا اشتراکی بودن مجوز، مدت دریافت به‌روزرسانی و شرایط پشتیبانی رو دوباره در صفحه رسمی بررسی کنید.

چالش‌های خرید نسخه Pro برای کاربران ایرانی

پرداخت هزینه نسخه Pro برای کاربران داخل ایران ممکنه ساده نباشه. نداشتن کارت بانکی بین‌المللی، هزینه تبدیل ارز و سخت‌تر بودن پیگیری بازپرداخت از چالش‌های رایج خرید دلاری هستن. دسترسی به درگاه پرداخت یا پشتیبانی هم ممکنه به شرکت ارائه‌دهنده، سرویس پرداخت و شرایط روز بستگی داشته باشه؛ پس بدون مدرک رسمی نمی‌شه گفت این افزونه کاربران ایرانی رو تحریم کرده.

قبل از پرداخت، مطمئن بشید نسخه Pro واقعاً قابلیت موردنیاز شما رو داره و همون قابلیت از قبل در افزونه کش، پنل هاست یا CDN سایتتون فعال نیست. بهتره درباره روش دریافت فایل، فعال‌سازی مجوز، به‌روزرسانی‌ها و امکان استفاده روی دامنه موردنظرتون هم از فروشنده سؤال کنید. خرید نسخه‌های دست‌کاری‌شده یا بدون مجوز می‌تونه امنیت سایت و دسترسی شما به آپدیت‌ها رو به خطر بندازه.

رخش چه زمانی می‌تونه انتخاب کامل‌تری باشه؟

اگه فقط می‌خواید کش مرورگر رو روی Apache فعال کنید، نسخه رایگان Leverage Browser Caching ابزار ساده و محدودی برای همین کاره. ولی اگه علاوه بر کش مرورگر به کش صفحه، بهینه‌سازی تصویر، کنترل CSS و JavaScript یا امکانات مخصوص ووکامرس نیاز دارید، افزونه رخش می‌تونه انتخاب یکپارچه‌تری باشه. طبق اطلاعات تیم فنی میهن وردپرس، در حال حاضر روی سایت میهن وردپرس هم از رخش استفاده می‌شه.

افزونه رخش
افزونه رخش

رخش علاوه بر کش مرورگر و تنظیم max-age، کش کامل صفحه رو به‌صورت HTML استاتیک می‌سازه و بهتون اجازه می‌ده عمر کش رو تنظیم کنید. HTML استاتیک یعنی نسخه آماده صفحه بدون پردازش دوباره وردپرس به بازدیدکننده تحویل داده می‌شه. این افزونه کش جداگانه موبایل، فشرده‌سازی gzip، پاک‌سازی دستی و خودکار کش و گرم‌سازی خودکار بعد از پاک‌سازی رو هم داره. گرم‌سازی یعنی افزونه صفحه‌ها رو از قبل باز می‌کنه تا نسخه کش‌شده برای بازدیدکننده بعدی آماده باشه.

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

  • بهینه‌سازی تصاویر: تبدیل تصاویر به WebP یا AVIF، کنترل کیفیت خروجی، افزودن ابعاد تصویر و بارگذاری تنبل تصویر، آی‌فریم و ویدیو.
  • بهینه‌سازی کدها: کوچک‌سازی CSS، JavaScript و HTML، حذف CSS بلااستفاده و به‌تعویق‌انداختن فایل‌هایی که لازم نیست همون اول اجرا بشن.
  • فروشگاه و کش پیشرفته: عبور صفحه‌های حساس ووکامرس از کش، کش آبجکت با Redis و گرم‌کردن OPcache. Redis داده‌های پرتکرار رو در حافظه نگه می‌داره و OPcache کد آماده‌شده PHP رو دوباره استفاده می‌کنه؛ فعال بودن این امکانات به پشتیبانی سرور هم بستگی داره.
  • پایش و عیب‌یابی: تشخیص وب‌سرور، پنل عیب‌یابی کش، پایش کوئری‌های کند، داشبورد PageSpeed، گزارش Core Web Vitals و تولید قوانین Nginx و .htaccess.

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

انتخاب بین این دو ابزار به نیاز سایتتون بستگی داره. Leverage Browser Caching برای فعال کردن کش مرورگر روی Apache گزینه ساده‌تریه. رخش کش مرورگر رو کنار کش صفحه و چند ابزار بهینه‌سازی دیگه ارائه می‌کنه. اگه به چند مورد از این قابلیت‌ها نیاز دارید و سرورتون هم پیش‌نیازهای اون‌ها رو پشتیبانی می‌کنه، یک راهکار یکپارچه می‌تونه مدیریت سایت رو ساده‌تر کنه و احتمال تداخل چند افزونه جداگانه رو پایین بیاره.

روش‌های جایگزین

فعال کردن کش مرورگر با افزونه کش فعلی سایتتون

اگه از قبل افزونه کش دارید، قبل از نصب افزونه تازه تنظیمات همون ابزار رو ببینید. گزینه موردنظر ممکنه با نام Browser Cache، Browser Caching، Cache Headers یا Browser Cache TTL نمایش داده بشه. TTL یعنی مدت اعتبار کش؛ برای مثال، یک TTL یک‌ساله به مرورگر اجازه می‌ده فایل رو تا یک سال معتبر بدونه.

بعد از فعال کردن گزینه، تنظیمات رو ذخیره کنید و همه لایه‌های کش رو پاک کنید. برای جلوگیری از قانون‌های تکراری، افزونه Leverage Browser Caching رو هم‌زمان با قابلیت مشابه افزونه کش دیگه فعال نکنید.

تنظیم کش مرورگر روی Apache و LiteSpeed

روی Apache معمولاً قوانین کش داخل فایل .htaccess پوشه اصلی وردپرس قرار می‌گیرن. LiteSpeed هم در خیلی از تنظیمات میزبانی از دستورهای سازگار با این فایل پشتیبانی می‌کنه. بااین‌حال، بهتره قبل از ویرایش دستی از پشتیبانی هاست درباره روش پیشنهادی همون سرور بپرسید.

برای تصاویر، فونت‌ها و فایل‌های CSS یا JavaScript نسخه‌بندی‌شده می‌شه زمان طولانی‌تری در نظر گرفت. نسخه‌بندی یعنی با تغییر فایل، آدرس اون هم عوض بشه؛ مثلاً شماره‌ای مثل ?ver=2 به آدرس اضافه بشه. فایل‌هایی که با همون آدرس مرتب عوض می‌شن، به زمان کوتاه‌تری نیاز دارن.

تنظیم کش مرورگر روی Nginx

Nginx از فایل .htaccess استفاده نمی‌کنه. هدرهای کش باید داخل پیکربندی Nginx یا ابزار مدیریتی هاست تعریف بشن. این تنظیم معمولاً به دسترسی مدیریتی سرور و بارگذاری دوباره پیکربندی نیاز داره.

اگه هاست اشتراکی دارید، احتمالاً به فایل اصلی Nginx دسترسی ندارید. در این حالت از پشتیبانی هاست بخواید برای فایل‌های ثابت Cache-Control و زمان انقضای مناسب تعریف کنه. قبل از درخواست، نام چند فایل هشدارگرفته در Lighthouse رو هم براشون بفرستید تا بررسی دقیق‌تر بشه.

تنظیم کش مرورگر از طریق CDN یا پنل هاست

بعضی CDNها و پنل‌های هاست گزینه‌ای برای مدت کش مرورگر دارن. زمان کش CDN و مرورگر یک مفهوم نیست، ولی باید با سیاست کلی سایت هماهنگ باشن. CDN مشخص می‌کنه فایل چه مدتی روی سرورهای خودش نگه داشته بشه و Browser Cache TTL مدت نگهداری فایل در مرورگر کاربر رو تعیین می‌کنه.

بعد از تغییر فایل‌های سایت، کش CDN و سرور رو پاک کنید. برای کاربرهایی که نسخه قدیمی رو در مرورگر دارن، نسخه‌گذاری فایل‌ها راه مطمئن‌تریه؛ چون آدرس تازه مرورگر رو مجبور می‌کنه فایل جدید رو دریافت کنه.

چطور مطمئن بشیم کش مرورگر درست فعال شده؟

فعال شدن افزونه به‌تنهایی موفقیت کار رو ثابت نمی‌کنه. باید هدر واقعی فایل‌ها رو بررسی کنید و ببینید ابزارهای سنجش درباره کدوم آدرس‌ها هشدار می‌دن.

بررسی با PageSpeed Insights و Lighthouse

آدرس صفحه رو در PageSpeed Insights وارد کنید و گزارش رو برای موبایل و دسکتاپ ببینید. توی بخش بررسی‌ها دنبال پیام Serve Static Assets with an Efficient Cache Policy بگردید. معنی ساده اون اینه که «فایل‌های ثابت رو با سیاست کش کارآمد ارائه کنید». چون نام و جای این بخش ممکنه با به‌روزرسانی ابزار عوض بشه، اگه همین عبارت رو ندیدید، پیشنهادهای مربوط به Cache یا Cache Lifetime رو بررسی کنید.

جدول این بررسی فایل‌هایی رو نشون می‌ده که زمان کش کوتاهی دارن یا هدر مناسبی دریافت نمی‌کنن. دامنه هر فایل رو هم ببینید. فایل‌های دامنه خودتون معمولاً در کنترل شما هستن، ولی برای فایل‌های یک سرویس بیرونی ممکنه نتونید زمان کش رو تغییر بدید.

بررسی هدرهای کش در مرورگر

  1. صفحه سایتتون رو در Chrome یا مرورگر مشابه باز کنید.
  2. کلید F12 رو بزنید یا با کلیک راست، گزینه Inspect رو انتخاب کنید.
  3. وارد زبانه Network بشید و صفحه رو دوباره بارگذاری کنید.
  4. یکی از فایل‌های CSS، JavaScript، تصویر یا فونت رو انتخاب کنید.
  5. در بخش Headers، قسمت Response Headers رو باز کنید و مقدارهای Cache-Control و Expires رو ببینید.

در بارگذاری‌های بعدی ممکنه ستون Size یا بخش اطلاعات درخواست عبارتی مثل memory cache یا disk cache رو نشون بده. برای آزمایش عادی، گزینه Disable cache در ابزار توسعه‌دهنده نباید روشن باشه؛ چون این گزینه کش مرورگر رو موقتاً کنار می‌ذاره.

بررسی نتیجه در GTmetrix

در GTmetrix بخش‌های Performance و Structure رو بررسی کنید. نام یا جای این بخش‌ها ممکنه با به‌روزرسانی ابزار عوض بشه. قبل و بعد از تغییر، یک صفحه یکسان رو با شرایط مشابه آزمایش کنید و تعداد درخواست‌ها، حجم انتقال و جزئیات پیشنهادهای مرتبط با کش رو مقایسه کنید.

یک بار اجرای تست برای نتیجه‌گیری قطعی کافی نیست. وضعیت سرور و شبکه روی نتیجه اثر می‌ذاره، پس چند آزمایش با موقعیت و تنظیمات یکسان تصویر دقیق‌تری بهتون می‌ده.

زمان مناسب کش برای فایل‌های مختلف چقدره؟

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

  • تصاویر و فونت‌ها: اگه آدرس اون‌ها با هر تغییر عوض می‌شه، معمولاً می‌تونید زمان کش طولانی مثل چند ماه تا یک سال در نظر بگیرید.
  • CSS و JavaScript نسخه‌بندی‌شده: زمان چندماهه تا یک‌ساله می‌تونه انتخاب مناسبی باشه، چون انتشار نسخه تازه آدرس فایل رو تغییر می‌ده.
  • فایل‌هایی با آدرس ثابت و تغییرهای مکرر: زمان کوتاه‌تری مثل چند ساعت یا چند روز لازم دارن تا کاربر مدت زیادی نسخه قدیمی رو نبینه.
  • HTML و بخش‌های پویا: باید جداگانه و با توجه به ورود کاربران، فروشگاه، سبد خرید و محتوای شخصی بررسی بشن. زمان پیشنهادی فایل‌های ثابت رو بدون بررسی برای این صفحه‌ها استفاده نکنید.

این بازه‌ها نقطه شروع هستن، نه قانون قطعی. قبل از زیاد کردن زمان، مطمئن بشید قالب، افزونه یا CDN شما بعد از هر تغییر آدرس تازه‌ای برای فایل تولید می‌کنه. بعد هم نتیجه رو روی سایت آزمایش کنید.

رفع مشکلات رایج بعد از فعال کردن کش مرورگر

تغییرات سایت برای کاربران نمایش داده نمی‌شن

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

خطای سیاست کش هنوز در Lighthouse دیده می‌شه

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

قوانین .htaccess ذخیره نمی‌شن یا خطای ۵۰۰ میاد

افزونه رو غیرفعال کنید و نسخه سالم .htaccess رو برگردونید. سطح دسترسی فایل، فعال بودن mod_expires و گزارش خطای سرور رو با پشتیبانی هاست بررسی کنید. اگه با خطاهای دیگه‌ای روبه‌رو شدید، راهنمای حل خطاهای وردپرس هم می‌تونه مسیر بررسی رو روشن‌تر کنه.

افزونه روی Nginx یا IIS اثری نداره

این رفتار طبیعیه، چون افزونه قوانین مخصوص Apache رو در .htaccess می‌نویسه. روی Nginx یا IIS باید هدرهای کش رو در پیکربندی وب‌سرور، پنل میزبانی یا CDN تنظیم کنید. اگه دسترسی مدیریتی ندارید، اطلاعات فایل‌های مشکل‌دار رو برای پشتیبانی هاست بفرستید.

فایل‌های سرویس‌های بیرونی زمان کش کوتاهی دارن

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

نکته‌های مهم برای استفاده درست از کش مرورگر

  • کش مرورگر جای کش صفحه، فشرده‌سازی فایل، بهینه‌سازی تصویر و بررسی کدهای سنگین رو نمی‌گیره.
  • برای فایل‌هایی که کش طولانی دارن، از نسخه‌گذاری استفاده کنید تا تغییرها سریع به دست کاربر برسن.
  • بعد از هر تغییر، سایت رو در موبایل و دسکتاپ آزمایش کنید و صفحه‌های مهم مثل خانه، نوشته، محصول، سبد خرید و حساب کاربری رو ببینید.
  • فقط دنبال امتیاز ۱۰۰ نباشید. تجربه واقعی کاربر و معیارهای LCP، INP و CLS رو هم بررسی کنید.
  • LCP زمان نمایش محتوای اصلی، INP سرعت واکنش صفحه به تعامل کاربر و CLS میزان جابه‌جایی ناگهانی اجزای صفحه رو می‌سنجه.
  • امتیاز خوب ابزارها به‌تنهایی رتبه بهتر در گوگل رو تضمین نمی‌کنه. سرعت و تجربه صفحه بخشی از مجموعه بزرگ‌تری از عوامل هستن.

جمع‌بندی

فعال کردن کش مرورگر در وردپرس باعث می‌شه فایل‌های ثابت مثل تصویر، فونت، CSS و JavaScript در بازدیدهای بعدی دوباره و بی‌دلیل دانلود نشن. اگه سایتتون روی Apache اجرا می‌شه، ماژول mod_expires فعاله و فایل .htaccess قابل‌نوشتنه، افزونه Leverage Browser Caching راه ساده‌ای برای تعریف این قوانین بهتون می‌ده.

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

اگه Nginx یا IIS دارید، تنظیم رو از طریق سرور، هاست، CDN یا افزونه‌ای سازگار انجام بدید. در هر روش، فقط یک ابزار رو مسئول قوانین کش کنید و نتیجه رو از روی هدر واقعی فایل‌ها بسنجید. این‌طوری هم از تداخل جلوگیری می‌کنید و هم دقیقاً می‌فهمید کدوم فایل هنوز به تنظیم بهتر نیاز داره.

سؤال‌های متداول

آیا برای فعال کردن کش مرورگر حتماً به افزونه نیاز داریم؟

نه. می‌تونید هدرهای کش رو از طریق تنظیمات وب‌سرور، پنل هاست، CDN یا افزونه کش فعلی سایتتون تعریف کنید. افزونه فقط یکی از راه‌های انجام این کاره.

آیا Leverage Browser Caching روی همه هاست‌ها کار می‌کنه؟

نه. این افزونه برای Apache طراحی شده و به mod_expires و فایل .htaccess قابل‌نوشتن نیاز داره. روی Nginx یا IIS باید تنظیم کش رو در سطح سرور، پنل هاست یا CDN انجام بدید.

کش مرورگر چه فرقی با کش سایت داره؟

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

چقدر زمان برای کش فایل‌های ثابت مناسبه؟

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

چرا بعد از فعال کردن کش هنوز هشدار Lighthouse دیده می‌شه؟

ممکنه بعضی فایل‌ها هدر مناسب نگیرن، CDN قانون متفاوتی اعمال کنه یا هشدار مربوط به فایل‌های یک سرویس بیرونی باشه. فهرست فایل‌های گزارش و هدر Cache-Control هرکدوم رو جداگانه بررسی کنید.

آیا کش مرورگر به‌تنهایی امتیاز PageSpeed رو بهتر می‌کنه؟

ممکنه روی بعضی بررسی‌ها و بازدیدهای تکراری اثر مثبت بذاره، ولی نتیجه نهایی به عواملی مثل زمان پاسخ سرور، تصاویر، JavaScript، چیدمان صفحه و تجربه واقعی کاربر هم بستگی داره.

نظر شما در این مورد چیه؟

  1. U8455۲ شهریور ۱۳۹۸

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

    • تیم پشتیبانیتیم پشتیبانی۲ شهریور ۱۳۹۸

      سلام
      متاسفانه در ارتباط با افزونه‌‌ای که فرمودید اطلاعی نداریم

  2. کاربر مهمان۹ بهمن ۱۳۹۶

    با سلام
    آیا این امکان در افزونه WP Rocket وجود دارد؟
    در صورتی که وجود دارد از کدام قسمت افزونه بایستی اون رو فعال کنیم؟
    چون در فیلم آموزشی افزونه WP Rocket اشاره ای به این موضوع نشده است.

    در صورتی که چنین امکانی در افزونه WP Rocket وجود ندارد آیا نصب همزمان افزونه Leverage Browser Caching در کنار افزونه WP Rocket تداخلی ایجاد نخواهد کرد؟

    با تشکر از شما

    • تیم پشتیبانیتیم پشتیبانی۹ بهمن ۱۳۹۶

      درود به شما. با نصب wp rocket به صورت اتوماتیک کش مرورگر برای شما فعال می شود و نیاز به اقزونه کمکی نیست و تداخل دارد.

      • کاربر مهمان۱۰ بهمن ۱۳۹۶

        در توضیحات افزونه Leverage Browser Caching فرمودید تعدادی کد به فایل htaccess اضافه میشود

        در حالی که بنده از افزونه WP Rocket استفاده می کنم اما چنین کدهایی رو در فایل htaccess خودم مشاهده نمی کنم

        آیا افزونه WP Rocket از این روش استفاده نمی کند؟

        با تشکر

        • تیم پشتیبانیتیم پشتیبانی۱۰ بهمن ۱۳۹۶

          درود به شما.
          پاسخ داده شد.
          در صورتی که شک دارید، از پنل کاربری خود، تیکت ارسال کنید.

      • کاربر مهمان۱۰ بهمن ۱۳۹۶

        این موضوع رو هم فراموش کردم عرض کنم که با وجود استفاده از افزونه WP Rocket سایت بنده کماکان خطای Leverage Browser Caching رو در سایت https://gtmetrix.com دریافت می کند.

        • تیم پشتیبانیتیم پشتیبانی۱۰ بهمن ۱۳۹۶

          افزونه هایی که فکر میکنید مانع کار wp-rocket میشوند را غیر فعال کنید. این امکان وجود دارد که افزونه شما تداخل داشته باشد.
          در صورتی که مشکلی مشاهده نشد، افزونه مورد بحث، به محض فعال شدن تکه کدی به فایل شما اضافه میکند که عمل Leverage Browser Caching را انجام میدهد.

          • کاربر مهمان۱۰ بهمن ۱۳۹۶

            منظور شما از افزونه هایی که فکر میکنید مانع کار wp-rocket میشوند را غیر فعال کنید چی هست؟

            منظور شما از افزونه مورد بحث دقیقأ کدام افزونه هست الان ؟ Leverage Browser Caching یا wp-rocket؟

            • تیم پشتیبانیتیم پشتیبانی۱۰ بهمن ۱۳۹۶

              سلام
              باید یک به یک افزونه هارا غیر فعال کنید و ببینید که آیا مشکل از تداخل افزونه هست؟

  3. کاربر مهمان۲۶ مهر ۱۳۹۶

    سلام، ممنون از راهنمایی خوب شما
    بفرمایید مزیت یا تفاوت این روش با عملکرد دیگر افزونه های کش وردپرس نظیر wp rocket یا wp fastest cache و نظایر اونها چیست؟

    • تیم پشتیبانیتیم پشتیبانی۲۶ مهر ۱۳۹۶

      درود.
      بهتر این هستش از افزونه WP Rocket استفاده شود.

پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرس
پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرسآنلاین و پاسخگوی شما هستیم.آنلاین

در حال بارگذاری...

هر سوالی دارید بپرسید.پاسخگوی شما هستیم.