کانفیگ پلاگین راکت وردپرس: درس کش سایت

داکیومنت کاملا رایگان است آزمون دارد امکان ارسال دیدگاه دارد ۳۵دقیقه ویدیو آموزشی
مشخصات درس

شماره درس: ۲۵۴۰۳
از سری درس‌های: افزایش سرعت سایت

در آزمون این درس چه مطالبی ممکن است وجود داشته باشد؟

  • کانفیگ بخش کش پلاگین راکت وردپرس

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

کانفیگ پلاگین راکت وردپرس: درس کش سایت

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

خب چرا هر ۲ رو یکجا یاد نگریم؟ پس همراه با ما در این جلسه مربوط به بخش کش همراه باشید.

کش موبایل «Mobile cache» چیست

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

منظور WP Rocket از «موبایل» چیه؟

معمولا به گوشی‌های هوشمند و همینطور تبلت‌ها میگیم «دستگاه موبایل» با کلی سایز و اندازه صفحه نمایش مختلف. ولی خود WP Rocket در اصل «موبایل» رو فقط به «گوشی‌ها» اطلاق می‌کنه و تبلت‌ها رو توی قسمت کش صفحات موبایل قرار نمیده. موبایل‌ها هم از طریق چیزی به اسم user agent در HTTP شناسایی میشن.

بخش اول: کش موبایل «Mobile cache»

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

جواب به این سوال بله هست، ولی بهتره در ادامه با هم بررسی کنیم چرا استفاده می‌کنیم و چه حالاتی میتونه برای استفاده از اون وجود داشته باشه.

یه نکته مهم: اگه هیچکدوم از تنظیمات کش موبایل رو فعال نکنی، پس WP Rocket صفحات سایتت که توی کش ذخیره شده رو برای موبایل نمایش نمیده. کاربرهایی که با موبایل میان سایتت رو باز کنن، محتوای صفحات رو مستقیم (و با سرعت کمتر) از دیتابیس وردپرس میگیرن.

منظور از Separate cache files for mobile devices چیست؟

معادل فارسی این گزینه «جداسازی فایل‌های کش برای دستگاه‌های موبایل» هست و وقتی این گزینه رو فعال کنی، WP Rocket برای هر سندی (صفحه، نوشته و…) که کش میشه، یه فایل کش جدا برای موبایل‌ها هم میسازه. اینطوری روی موبایل‌ها محتوایی نشون داده میشه که کاملا متفاوته با چیزی که روی تبلت‌ها یا کامپیوترهای رومیزی نمایش داده میشه.

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

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

اگه هریک از افزونه‌های زیر رو داشته باشی، این گزینه بطور پیشفرض فعال میشه و برای همینه که چک باکس مربوط به این تنظیم خاکستری شده و غیرقابل تغییره:

از کجا متوجه شویم که ویژگی GZip در وب‌سایت ما فعال شده است؟

برای این کار میتونید به وب‌سایت ionos یا giftofspeed مراجعه کنید و با وارد کردن آدرس سایتتون چک کنید که کدوم الگوریتم فشرده‌سازی در حال حاضر روی سایت شما فعال هست.

منظور از «فایل‌های کش جداگانه برای دستگاه‌های موبایل» چیست؟

اگه به پوشه کش توی مسیر زیر سر بزنی:
wp-content/cache/wp-rocket/ [example.com] (جای example.com باید آدرس سایت خودت رو بذاری)

متوجه دو مدل اسم برای هر سند میشی (صفحات، نوشته‌ها و…):

  • index. html (_gzip) — این فایل‌ها توی کش قرار میگیرن تا برای تبلت و کامپیوتر استفاده بشن
  • index-mobile. html (_gzip) — این فایل‌ها هم توی کش قرار میگیرن تا برای گوشی‌ها استفاده بشن

نتیجه: گزینه «فایل‌های کش جداگانه برای دستگاه‌های موبایل» را فعال کنم؟

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

یه نکته خوب اینجاست که چطور از این دوتا گزینه بهتر استفاده کنی:

اگه یه لایه کش دیگه مثل وارنیش (Varnish) یا انجین‌اکس (NGINX) و… هم داری؟ ممکنه ویژگی (Separate cache files for mobile devices) درست کار نکنه. اینجا باید ببینیم اون کش آیا اون لایه کش بین کاربر و موبایل میتونه فرق بذار یا نه، اگه فرقی نمیذاره پس احتمالا فعال کردن این ویژگی هم کارایی نداره.

اگه یه لایه کش دیگه مثل وارنیش (Varnish) یا انجین‌اکس (NGINX) و… هم داری؟ ممکنه ویژگی (Separate cache files for mobile devices) درست کار نکنه. اینجا باید ببینیم اون کش آیا اون لایه کش بین کاربر و موبایل میتونه فرق بذار یا نه، اگه فرقی نمیذاره پس احتمالا فعال کردن این ویژگی هم کارایی نداره.

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

برای مثال قالب‌های وردپرسی زیر برخی از ویژگی‌هاشون به صورت اختصاصی برای موبایل هست.

  • پوسته Woodmart – از یک منوی جداگانه برای موبایل/دسکتاپ استفاده می کند.
  • پوسته نیوزپیپر – زمانی که قالب اختیاری تلفن همراه فعال است.
  • پوسته آوادا – از پس‌زمینه‌ها، کلاس‌های مختلف برای موبایل استفاده می‌کند. (هارد کد شده)

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

نکته: اگه تعداد صفحات سایت شما کمتر از ۱۰۰۰ تا هست با خیال راحت این کار رو انجام بدید، ولی برای سایت‌هایی با صفحات بیشتر ممکنه افزایش ۲ برابری پوشه کش باعث بشه حجم زیادی از هاست یا دیسک سرور شما اشغال بشه.

کش همه‌چیز با کلاودفلر (Cloudflare Cache Everything)

اگه داری از قانون کش کلاودفلر به نام Cache Everything استفاده می‌کنی، بدون که کلاودفلر هر کدوم از نسخه‌های سایت (موبایل یا دسکتاپ) که زودتر درخواست داده بشه رو کش می‌کنه و برای تمام بازدیدهای بعدی همون رو نشون میده.

اگه مهمه که برای موبایل و دسکتاپ کش‌هاشون جدا باشه، باید Cache Everything کلاودفلر رو کلا خاموش کنی.

قابلیت APO کلاودفلر «بهینه‌سازی خودکار»

اگه داری همزمان از این قابلیت کلاودفلر استفاده می‌کنی و گزینه «فایل‌های کش جداگانه برای دستگاه‌های موبایل» هم فعاله، باید مطمئن بشی که توی تنظیمات قابلیت APO توی کلاودفلر، کش مخصوص نسخه موبایل (caching by device type) فعال باشه.

وارنیش (Varnish)

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

نانس‌ها (Nonce) و طول عمر کش (Cache Lifespan)

نانس‌ها در وردپرس یک‌جور توکن امنیتی هستن و توی کد منبع HTML هر صفحه قرار می‌گیرن.

نکته مهم نانس‌ها اینه که فقط یکبار میشه ازشون استفاده کرد (برای همین بهشون میگن «n once»). علاوه بر این، مدت زمان معتبری دارن که بصورت پیش‌فرض ۱۲ ساعته، اما برنامه نویس‌ها میتونن این مدت زمان رو تغییر بدن.

وقتی صفحه‌ای کش میشه، ممکنه این نانس بصورت مخفیانه منقضی بشه، در حالیکه شناسه (ID) اون هنوز توی کد منبع (HTML) وجود داره. وقتی این اتفاق بیفته، کد HTML به یک نانس نامعتبر اشاره میکنه و باعث میشه عملکرد بعضی بخش‌های سایت درست نباشه.

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

طول عمر کش رو ۱۰ ساعت یا کمتر تنظیم کن

وقتی کش پاک میشه، کدهای HTML هم دوباره از اول تولید میشن و به یک نانس درست و معتبر اشاره میکنن. برای همین، اگه تو سایتت وردپرس (پوسته یا افزونه‌ها) با نانس‌ها سر و کار دارن، تنها روشی که داری تا اون‌ها رو روی صفحات کش شده به‌روز نگه‌داری اینه که گزینه «طول عمر کش» (Cache lifespan) توی WP Rocket رو روی عددی کمتر از ۱۲ ساعت تنظیم کنی. ۱۰ ساعت یه نقطه شروع خوبه، البته شاید لازم بشه اون رو روی ۸ ساعت یا کمتر هم تنظیم کنی.

این کار باعث میشه آپدیت شدن کش و فرآیند پیش‌بارگذاری (preload) روی سرورت بیشتر اتفاق بیفته (البته اگه پیش‌بارگذاری فعال باشه). درصورتی که بخاطر فشار اومدن به سرور مشکلی ببینی، باید بازه زمانی بیشتری برای پیش‌بارگذاری تنظیم کنی.

طول عمر کش (Cache Lifespan)

قابلیت «طول عمر کش» (Cache Lifespan) توی تب کش (Cache) داخل تنظیمات افزونه، تعیین می‌کنه که یک صفحه کش شده حداکثر تا چند وقت قابل استفاده باشه.

چطور کار می‌کنه؟

WP Rocket هر یه ساعت یکبار میاد و تاریخ ایجاد فایل‌های کش رو بررسی می‌کنه. اگه توی هرکدوم از این بررسی‌ها، WP Rocket تشخیص بده که یک فایل کش «قدیمی‌تر» از مقداری هست که برای گزینه «طول عمر کش» (Cache Lifespan) گذاشتی، اون فایل رو پاک میکنه و (اگه پیش‌بارگذاری فعال باشه) دوباره از اول تولیدش میکنه.

فایل‌های کشی که بخاطر «طول عمر کش» پاک میشن توی این آدرس ذخیره میشن: /wp-content/cache/wp-rocket/ [invalid URL removed]

فقط دقت کن که این پاکسازی شامل فایل‌هایی که توی پوشه min/1/ هستن نمیشه. چون اونجا فایل‌های کوچک شده (minify) قرار گرفتن: /wp-content/cache/min/1/

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

مقدار پیش‌فرض برای «طول عمر کش» (Cache Lifespan) ۱۰ ساعته.

این مقدار پیش‌فرض انتخاب شده تا جلوی مشکل ایجاد شدن بخاطر نانس‌های وردپرس (nonces) رو بگیره که توی مقاله مرتبط توضیح دادیم [لینک اون مقاله].

بعضی وقتا میشه «طول عمر کش» رو بیشتر درنظر گرفت چون WP Rocket بصورت خودکار کش رو هر وقت محتوایی جدید منتشر بشه (یا توی حالت‌های دیگه) پاک می‌کنه. استفاده از زمان بالاتر توی حالتی خوبه که اکثر صفحات سایتت از نانس استفاده نمیکنن یا محتوایی نداری که بصورت سراسری روی همه صفحات باشه و نیاز به تازه شدن پیدا کنه. اگه در این مورد شک داری، توصیه میشه از همون مقدار پیش‌فرض استفاده کنی.

اگه میخوای پاک شدن خودکار کش که بخاطر قابلت «طول عمر کش» هست رو غیرفعال کنی، از عدد ۰ استفاده کن.

میتونی واحد زمان رو با زدن دکمه ساعت (Hours) به «روز» (Days) تغییر بدی:

کانفیگ پلاگین راکت وردپرس: درس کش سایت

**یه نکته مهم: **قابلیت «طول عمر کش» (Cache Lifespan) فقط بصورت کلی قابل تغییره و روی همه صفحات تاثیر میذاره. نمیشه برای صفحات مختلف بهش مقادیر متفاوت بدی.

نکات فنی

قابلیت «طول عمر کش» (Cache Lifespan) روی سرویس‌های هاстинگی که کش کردن در WP Rocket رو غیرفعال کردن کار نمیکنه (مثل WP Engine، کینستا، WordPress.com و…). لیست کامل این سرویس‌ها توی مقاله «سازگاری با سرویس‌های هاستینگ» اومده [لینک مقاله].

بررسی که هر ساعت انجام میشه توسط یک کران جاب (cron job) به‌نام rocket_purge_time_event صورت می‌گیره.

وقتی پیام خطای «پاک سازی زمانبندی شده کش ناموفق بود» (Scheduled Cache Purge failed) رو توی بخش مدیریت می‌بینی که می‌تونه یکی از دلایلش اینا باشه:

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

WP Cron داره درست کار نمیکنه.

کی از این قابلیت استفاده کنیم

یه مثال رایج از اینکه قابلیت «طول عمر کش» (Cache Lifespan) کجا میتونه مفید باشه زمانی هست که ویجتی داری که تقریبا توی اکثر صفحات یا همه صفحات سایتت وجود داره و میخوای محتوای اون هر چند ساعت یکبار بروزرسانی بشه.

نکته: استفاده از مقدار خیلی کم برای «طول عمر کش» میتونه باعث فشار روی پردازنده (CPU) بشه چون با فعال بودن پیش‌بارگذاری (Preload) در WP Rocket فایل‌های کش باید مدام دوباره ساخته بشن. اگه لازم داری محتوای یک صفحه خیلی زود به زود تازه بشه، توصیه میشه که از یک کران جاب استفاده کنی و مقدار بالاتری رو برای «طول عمر کش» (Cache Lifespan) توی تنظیمات کلی سایت بذاری.

علاوه بر اینا، اگه داری یک وبسایت با محتوایی که فقط ماهی یک‌بار یا سالی یک‌بار بروز میشه رو مدیریت میکنی (مثلا سایت‌های استاتیک)، میتونی طول عمر کش رو روی مقدار چندین روز تنظیم کنی.

کش کاربری (User Cache)

وقتی گزینه «کش کاربری» (User Cache) فعال باشه، WP Rocket برای هر کاربر وردپرسی که وارد سایت شده یه سری فایل کش جداگانه درست میکنه.

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

کش کاربری توی سایت‌های عضویتی یا جاهایی که کاربرا باید حتما وارد شده باشن تا محتوای خاصی رو ببین مفیده.

کاربر به درستی از سایت خارج نشده است

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

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

محتوای مخصوص کاربر واردشده، به کاربر خارج‌شده نشون داده می‌شود یا برعکس

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

کوکی‌های لاگین اختصاصی

اگه داری از افزونه‌ای استفاده می‌کنی که برای تشخیص اینکه کاربر وارد شده یا نه، کوکی‌های خاصی رو ایجاد میکنه، لازمه که اون کوکی‌ها رو به لیست مستثنی کردن کوکی‌ها (cookie exclusion) توی تب «تنظیمات پیشرفته» (Advanced Rules) اضافه کنی:

کانفیگ پلاگین راکت وردپرس: درس کش سایت

پیش‌بارگذاری (preload) برای کش کاربری وجود نداره

قابلیت پیش‌بارگذاری (preload) برای «کش کاربری» (User cache) کار نمیکنه. هیچکدوم از سیستم‌های پیش‌بارگذاری که توی WP Rocket وجود داره نمیتونن بعنوان یک کاربری که وارد شده، لاگین کنن و کش رو برای کاربرای وارد شده ایجاد کنن. سیستم پیش‌بارگذاری فقط کشی که برای کاربرهای عادی وجود داره رو از پیش بارگذاری می‌کنه.

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

این گزینه توی بخش کاربری تنظیمات قابل دسترس نیست چون در حالت عام کاربرد زیادی نداره و باعث گیج شدن کاربرها می‌شه. اما اگه کش رو خوب درک می‌کنی و مطمئنی میدونی استفاده از این گزینه روی سایتت چه نتایجی داره، می‌تونی از طریق یه افزونه کمکی کاری کنی که از یک کش یکسان برای همه کاربرایی که وارد شدن استفاده بشه «البته این هم درنظر داشته باش که همچنان از کش متفاوتی نسبت به کاربرهای عادی استفاده می‌شه».

با نصب و فعال کردن این افزونه کمکی میتونی از این قابلیت استفاده کنی:

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

سازگاری با افزونه‌های دیگر

افزونه Query Monitor ثابت DONOTCACHEPAGE رو در برخی صفحات روی مقدار true تنظیم میکنه. همین تنظیم باعث میشه با فعال بودن قابلیت «کش کاربری» (User Cache)، این صفحات کش نشن.

غیرفعال کردن پاکسازی خودکار کش

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

افزونه کمکی

اگه مطمئنی که می‌خوای به این کار ادامه بدی، میتونی این افزونه کمکی کوچیک رو نصب و فعال کنی.

یک نکته مهم این افزونه قابلیت «طول عمر کش» (Cache Lifespan) رو غیرفعال نمی‌کنه. اگه می‌خوای اون ویژگی کلا متوقف بشه، باید بصورت دستی مقدار «طول عمر کش» رو روی ۰ تنظیم کنی.

اجبار کش کردن صفحه

اکثر افزونه‌های کش (caching) برای وردپرس از یک استاندارد کلی استفاده می‌کنن تا مشخص کنن کدوم صفحات نباید کش بشن: ثابت (constant) هسته وردپرس DONOTCACHEPAGE. اگه این ثابت در طول یک درخواست، مقدار true داشته باشه، WP Rocket اون صفحه‌ای که درخواست شده رو کش نمی‌کنه و اجازه میده بصورت معمول از دیتابیس وردپرس گرفته بشه.

بهینه‌سازی‌هایی که روی WP Rocket انجام میشه به کش کردن صفحات وابسته هستن، البته بجز Lazy Load برای تصاویر و پیش‌بارگذاری لینک‌ها (Preload Links). نتیجه این میشه که صفحه‌ای که از DONOTCACHEPAGE استفاده میکنه به خوبی بقیه صفحات بهینه‌سازی نمیشه.

با این وجود، بعضی وقتا (خیلی کم پیش میاد) باید این رفتار ثابت DONOTCACHEPAGE رو کنار زد و WP Rocket بهت اجازه میده که اینکار رو بکنی.

کنار زدن DONOTCACHEPAGE با استفاده از فیلتر در راکت

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

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

WP Rocket این مورد رو هم در نظر گرفته. چیزی که لازمه انجام بدی اینه که مقدار true رو با استفاده از فیلتر مخصوصی به WP Rocket بدی تا WP Rocket ثابت DONOTCACHEPAGE رو نادیده بگیره.

add_filter( 'rocket_override_donotcachepage', '__return_true', PHP_INT_MAX );

افزونه کمکی

این افزونه کمکی بهت کمک می‌کنه تا بتونی به راحتی ثابت DONOTCACHEPAGE رو نادیده بگیری و کش کردن صفحه رو به WP Rocket تحمیل کنی: [لینک به افزونه کمکی]

یک نکته مهم استفاده از این افزونه کمکی باعث نمیشه که قانون‌های «آدرس صفحاتی که هیچوقت کش نشوند» (Never Cache URL(s) )، قانون‌های «کوکی‌هایی که نباید کش بشن» (Never Cache Cookies) و همچنین گزینه «این صفحه رو هیچوقت کش نکن» (Never cache this page) که توی تنظیمات صفحات قرار داره، نادیده گرفته بشن.

اگه ثابت DONOTCACHEPAGE لازمه باشه، می‌تونی توی همچین مواقعی همزمان از افزونه‌های «کش اجباری صفحات در WP Rocket» (WP Rocket | Force Page Caching) و «غیرفعال کردن کش صفحات در WP Rocket» (WP Rocket | Disable Page Caching) استفاده کنی. به این ترتیب کش برای همه صفحات غیرفعال میشه ولی همچنان از مزایای بقیه بخش‌های بهینه‌سازی WP Rocket بهره‌مند میشی.

یک مثال صفحات کش‌شده برای اعضا

فرض کن از یک افزونه عضویت استفاده میکنی تا محتوای خاصی رو برای کاربرایی که وارد شدن نمایش بدی. برای اینکه اعضایی که وارد سایت شدن بتونن از صفحات کش شده با سرعت بالا استفاده کنن، بهتره گزینه کش کاربری (User Cache) رو توی WP Rocket فعال کنی.

بعضی از افزونه‌های عضویت، ثابت DONOTCACHEPAGE رو برای کاربرای وارد شده، مقداردهی می‌کنن. چون در حالت عادی ممکنه نخوای محتوای کش شده ثابت برای کاربرای عضو نمایش داده بشه، بلکه بخوای یک محتوای پویا که بسته به کاربر تغییر میکنه رو ببینی.

اما توی مثالی که زدیم، هدفت اینه که یک محتوای ثابت رو به کاربرای وارد شده نشون بدی (البته علاوه بر محتوایی که کاربرای عادی میبینن). برای همین لازم میشه که اون مقداری که افزونه عضویت برای DONOTCACHEPAGE گذاشته رو کنار بذاری تا قابلیت کش کاربری (User Cache) در WP Rocket درست کار کنه.

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

کش کردن فید RSS

WP Rocket به‌طور پیشفرض فیدهای RSS رو کش (cache) نمیکنه. با این وجود، اگه نیاز به انجام این‌کار داشته باشید، میتونین کش کردن RSS رو با استفاده از این افزونه کمکی (helper plugin) فعال کنین:

چطور از افزونه کمکی استفاده کنیم

فایل. zip افزونه کمکی رو دانلود کنین.
از طریق Plugins → Add New → Upload plugin و انتخاب فایل zip، افزونه کمکی رو روی سایت نصب کنین.
افزونه رو فعال کنین.

غیرفعال کردن کش صفحات برای ادمین‌های لاگین شده در وردپرس

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

موارد قابل توجه

رفع مشکل: این افزونه برای مواقعی که در سایت خودتون بعد از انجام تغییرات، تاخیر در مشاهده تغییرات دارید، بسیار مفیده چون مطمئن میشید که آیا مشکل از کش وردپرسه یا نه.
سازگاری: این افزونه یک راه عالی برای مطمئن شدن از اینه که هر تغییری که در سایتتون اعمال می‌کنید، به شکل لحظه‌ای برای ادمین‌ها قابل مشاهده است و اختلالی توسط کشینگ WP Rocket پیش نمیاد.

ادامه درس فقط برای دانشجویان دوره «افزایش سرعت سایت» فعال است

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

  • دسترسی به نسخه کامل داکیومنت‌ها
  • دریافت ریگان درس‌های بعدی «افزایش سرعت»
  • فعال‌سازی آنی دقیقا پس از ثبت‌نام
  • دسترسی به ۱۰ ساعت آموزش ویدیویی «ویژه وردپرس»

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

  1. مقدمه «در حال ضبط»
  2. الگوریتم فشرده‌سازی: چطور باعث افزایش سرعت سایت می‌شود
  3. درس پیشرفته «در حال ضبط»
  4. کانفیگ حرفه‌ای پلاگین کش راکت وردپرس

توضیحات: درس‌های افزایش سرعت برای تمام افراد از مبتدی تا حرفه‌ای مناسب است و مباحث از پایه آموزش داده شده است.

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