دموی رایگان

کش وردپرس چیست؛ آموزش گام‌به‌گام فعال‌سازی و پاک‌سازی

دلوین خیری مقدم خواندن ~۹ دقیقه سرعت و کارایی وردپرس
کش وردپرس چیست؛ آموزش گام‌به‌گام فعال‌سازی و پاک‌سازی
کش وردپرس یعنی نگه‌داشتن نسخهٔ آمادهٔ صفحه یا داده در یک لایهٔ حافظه، تا سایت مجبور نباشد برای هر بازدید همان کار سنگین PHP و پایگاه داده را از صفر تکرار کند؛ نتیجه، پایین آمدن زمان بارگذاری و کاهش فشار روی سرور است. به تجربهٔ ما بهترین نتیجه وقتی به دست می‌آید که پنج لایهٔ کش — مرورگر، صفحه، شیء، OPcode و CDN — هم‌زمان و درست تنظیم شده باشند؛ در ادامه، فعال‌سازی را هفت قدمی و پاک‌سازی را سه موقعیتی مرور می‌کنیم.

وردپرس طبق دادهٔ W3Techs حدود ۴۳ درصد از کل سایت‌های جهان را تغذیه می‌کند (تاریخ گردآوری: آبان ۱۴۰۵)؛ هر تصمیم بهینه‌سازی در این سیستم، میلیون‌ها سایت را هم‌زمان درگیر می‌کند. در میان این تصمیم‌ها، لایه‌ای که کمترین هزینه و سریع‌ترین اثر را می‌گذارد، کش است.

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

کش وردپرس چیست و کدام بار را از دوش سرور برمی‌دارد؟

در یک سایت وردپرسی بدون کش، هر بازدید یعنی اجرای چند فایل PHP و چند پرس‌وجو به پایگاه داده و ساخت صفحه از نو؛ حتی اگر محتوای صفحه در ساعت گذشته یک کلمه هم عوض نشده باشد. کش همین رفتار را می‌شکند: نسخهٔ نهایی صفحه یا نتیجهٔ پرس‌وجوی پرتکرار در حافظه می‌ماند و بازدید بعدی، به‌جای ساختن، فقط تحویل می‌گیرد. تفاوت این دو حالت برای کاربر، تفاوت بین «صفحه‌ای که منتظرش می‌ماند» و «صفحه‌ای که بسته می‌شود» است.

کش با بقیهٔ کارهای بهینه‌سازی هم‌جایگاه نیست، مکمل آن‌هاست. بهینه‌سازی تصویر و قالب سبک روی «حجم» کار می‌کند — یعنی دادهٔ کمتری جابه‌جا شود — ولی کش روی «تکرار» کار می‌کند؛ یعنی همان داده، بار دوم بی‌زحمت تحویل شود. برای همین ترتیب پیشنهادی ما در ممیزی سرعت، اول تصویر و قالب است و بعد لایهٔ کش که حاصل همه را سریع‌تر تحویل می‌دهد.

چه سایتی بیشترین سود را می‌برد؟ سایتی که صفحات پایدار دارد و ترافیکش روی چند صفحهٔ کلیدی متمرکز است: مقاله‌های راهنما، صفحات دستهٔ فروشگاه و صفحهٔ خدمات. برعکس، پنل مدیریت یا صفحات با محتوای لحظه‌ای، جایی برای کش صفحه ندارند؛ کشیدن همین مرز، نصف تنظیم درست است.

پنج لایهٔ کش در یک سایت وردپرسی؛ از مرورگر تا CDN

وقتی در متن‌ها می‌گویند «کش وردپرس را فعال کن»، در واقع یکی از پنج لایهٔ زیر منظور است که هر کدام جای متفاوتی از مسیر بازدید را کوتاه می‌کنند: کش مرورگر که فایل‌های تکراری را سمت کاربر نگه می‌دارد، کش صفحه که HTML آماده را سمت سرور می‌سازد، کش شیء که نتیجهٔ پرس‌وجوهای پرتکرار پایگاه داده را نگه می‌دارد، کش OPcode که خروجی کامپایل PHP را ذخیره می‌کند و CDN که نسخه‌ها را روی شبکهٔ توزیع‌شده نزدیک کاربر می‌برد. جدول زیر کارکرد هر لایه را جمع می‌کند:

لایهٔ کشچه چیزی نگه می‌داردنقطهٔ اثر
کش مرورگرCSS، جاوااسکریپت و تصاویر سمت کاربربازدید دوم به بعد؛ بدون ترافیک اضافه
کش صفحهHTML آمادهٔ تحویلصفحات پایدار؛ پرترافیک‌ترین اثر
کش شیءنتیجهٔ کوئری‌های پرتکرار پایگاه دادهسایت‌های با دادهٔ پویا و پنل‌های سنگین
کش OPcodeکد کامپایل‌شدهٔ PHPکاهش اجرای تکراری روی سرور
CDNنسخهٔ فایل‌ها و صفحات روی شبکهٔ توزیعکاربران جغرافیایی دور از سرور

لایه‌ها جایگزین هم نیستند؛ هر کدام یک بخش از مسیر بازدید را کوتاه می‌کنند.

ترتیب اهمیت در ممیزی‌های ما معمولاً این‌طور رقم می‌خورد: کش صفحه بیشترین اثر فوری را دارد، کش مرورگر بدون هزینه‌ای قابل توجه بازدید دوم را سبک می‌کند و CDN لایهٔ جغرافیایی است که برای مخاطب پراکنده ضروری می‌شود؛ جزئیات لایهٔ اخیر را در راهنمای CDN برای سایت‌های ایرانی باز کرده‌ایم. اشتباه رایج، چسبیدن به یک لایه و رهاکردن بقیه است؛ سایت بدون کش مرورگر، هر بار همان CSS را دوباره می‌گیرد و اثر کش صفحه را می‌خورَد.

آموزش گام‌به‌گام فعال‌سازی کش در وردپرس

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

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

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

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

تنظیم کش برای فروشگاه؛ صفحاتی که نباید کش شوند

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

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

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

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

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

اثر کش را درست بسنجید؛ مقایسهٔ قبل و بعد

سه سنجهٔ مقایسهٔ اثر کش
مقایسهٔ منصفانه یعنی همان صفحه، همان ابزار و بازهٔ مشابه.

اثر کش را با «حس خوب» سنجیدن، هدر دادن کل تلاش است. سه سنجه را مقایسه کنید: زمان بارگذاری همان صفحات کلیدی قبل و بعد، شاخص‌های تجربهٔ کاربر مثل LCP و INP که ابزارهای تست سرعت گزارش می‌کنند، و رفتار جستجو در گزارش عملکرد سرچ‌کنسول که تغییرات سرعت را در میان‌مدت در نمایش و کلیک نشان می‌دهد. برای بازار فارسی، سنجش را روی کاربر موبایل ببندید؛ سهم موبایل در ترافیک محتوایی فارسی بالاست و اثر کش موبایل متفاوت‌تر است.

قاعدهٔ مقایسهٔ منصفانه را هم رعایت کنید: همان صفحه، همان ابزار، همان نوع اتصال و بازهٔ مشابه. تستِ «یک بار در حالت ناشناس» معیار نیست؛ میانگین چند اجرا و ثبت تاریخ‌دارِ آن در گزارش پروژه معیار است. اگر بعد از فعال‌سازی، عدد LCP بهبود معنادار نداشت، مشکل جایی دیگر است: معمولاً تصویر بزرگ صفحه اصلی یا قالب سنگین؛ راه‌حل‌های آن دو را در بهینه‌سازی تصاویر وردپرس باز کرده‌ایم.

خطاهای رایج در استفاده از کش و راه‌حل کوتاه

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

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

جمع‌بندی؛ کش بخشی از مسیر سرعت است، نه همهٔ آن

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

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

دموی رایگان پلتفرم

پلن پیشرو — ۷٫۹ میلیون تومان/ماه (انتشار خودکار + اپراتور)

دموی رایگان پلتفرم

رصد ما، رشد شما.

سؤالات پرتکرار

کش وردپرس را چطور فعال کنم؟

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

بعد از هر انتشار محتوا باید کش را خالی کنم؟

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

کش با ووکامرس تداخل می‌کند؟

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

از کجا بفهمم کش کار می‌کند؟

زمان بارگذاری و LCP همان صفحات را قبل و بعد مقایسه کنید و در فایل صفحه، هدرهای کش مرورگر را ببینید؛ مقایسهٔ درست یعنی میانگین چند اجرا در شرایط یکسان.

کش جای هاست خوب را می‌گیرد؟

نه؛ کش روی سرور کند فقط پاسخ سریع‌ترِ همان سرور کند است. ترتیب درست، هاست درست و بهینه‌سازی‌های پایه است و کش لایهٔ بعدی برای برداشت بیشترین اثر.