دستور پخت یک کش وردپرس ساده
استفاده از افزونهی کش یکی از راههای افزایش سرعت وردپرس و کاهش فشار روی سرور هست. همیشه وقتی صحبت از cache میشه ذهن همه به طرف W3 Total Cache و WP Super Cache میره اما آیا دستورالعمل دیگهای برای کش وردپرس وجود نداره؟
شکی نیست که W3 Total Cache کاملترین راهکار کش برای سایتهای وردپرسی به حساب میاد و امکانات بسیار زیادش رو نباید با بقیهی پلاگینها مقایسه کرد. در محبوبیت WP Super Cache هم با بیش از ۳ میلیون بار دانلود نمیشه تردید کرد اما برای وبلاگهای کوچکی مثل همینجایی که الان هستین که رو هاست اشتراکی و با محدودیتهای زیاد تو استفاده از منابع سرور قرار دارن میشه از ترکیب سادهتری استفاده کرد که نیاز به تنظیمات کمتری داشته باشه و در ضمن با حداقل نیازمندیها کار کنه.
ترکیب Hyper Cache و DB Cache Reloaded Fix پیشنهاد من به دوستانی هست که رو سرور اختصاصی یا مجازی هاست نشدن، وبلاگشون خیلی سنگین نیست و حوصلهی انواع تنظیمات و فکر کردن به چیزایی مثل mode_rewrite رو ندارن. افزونه Hyper Cache نیازی به دستکاری htaccess. نداره و باعث کند شدن بخش مدیریت وردپرس هم نمیشه.
اگر قصد امتحان این معجون سرعت رو دارین اول افزونهی کشی که به احتمال زیاد نصب هست رو پاک کنین، کدهای اضافه شده به htaccess. رو حذف و مطمئن بشین که تو پوشهی wp-content فایلی بنام advanced-cache.php وجود نداشته باشه. قدم بعدی ویرایش فایل wp-config.php هست که باید ۲ خط اولش به این صورت بشه:
<?php define('WP_CACHE', true);
حالا میتونین پلاگین Hyper Cache رو نصب کنین. میشه گفت تنظیم خاصی نیاز نیست اما بهتره Cached pages timeout رو روی صفر تنظیم کنین و هر بار که سایت با مطلبی آپدیت میشه کش رو از بخش تنظیمات افزونه خالی کنین.
تنها همین افزونه میتونه با سرور کردن فایلهای استاتیک بجای صحفات دینامیک سرعت لود سایت شما رو چند برابر کنه اما با اضافه شدن DB Cache Reloaded Fix که کارش کش کردن درخواستهای دیتابیس هست هم فشار رو سرور کمتر میشه هم بازدیدکنندههای وبلاگتون سرعت بارگذاری بالاتری رو تجربه میکنن. چیزی که گوگل هم دوست داره و تو رنک سایت بهش توجه میکنه! دقت کنین که پلاگین DB Cache Reloaded Fix بعد از نصب حتما باید Enable بشه!
کش خود را گرم کنید!
اولین بار که ویزیتوری صفحهای رو میبینه اون page کش میشه و برای افراد بعدی نسخهی کش شده سرو میشه. حالا اگه دوست دارین این آش ۲ افزونهای که دستور پختش رو دادم همیشه گرم باشه و حتی اولین نفر هم منتظر ساخته شدن صحفهای نشه، پلاگین AskApache Crazy Cache رو هم نصب کنین.
کار این افزونه کش کردن اتوماتیک تمام نوشتهها، برگهها و صفحات دستههاست که از جدید به قدیم انجام میشه. AACC با WP Super Cache هم سازگاره. با زدن دکمهی Cache Entire Site کار پلاگین شروع میشه و بهتره بعد از خالی کردن کش Hyper Cache دوباره این کار رو تکرار کنین. بسته به کشش سرور هر ساعت تعداد مشخصی فایل کش تولید میشه تا فشاری رو منابع سرور هم نیاد.
تو وبلاگ من که جواب داده امیدوارم برای شما هم خوشمزه باشه 😉
ممنون واقعا عالی و کامل بود
سلام. خیلی خوب بود. خواهشا چند مطلب درباره کدها و افزونه هایی که سرعت بارگزاری سایت رو بالا میبره منتشر کنید. با تشکر
سلام دوست عزیز
افزونه AskApache Crazy Cache در سایت رسمی وردپرس لینکش برداشته شده
میشه این افزونه رو واسم میل فرمائید ؟
با تشکر
سلام ممنون عالی ومفیدبود
با سلام خدمت شما دوست عزیز
یک مشکلی در استفاده از این ترکیب ۲ افزونه hyper cache + data base
برای وب سایتم پیش آمده و اون اینکه تاریخ سایت به روز نمیشود
فکر میکنم مرتبط به قسمت کش دیتابیس شود منتهی کد فیلتر تاریخ را نمیدانم
میخواستم بدانم مشکل از کجاست و خوشحال میشوم راهنمایی نمایید
با تشکر
سلام شروین جان. دقیقا منظورتون از تاریخ سایت چه تاریخیه؟
ممنونم ازت. Woopra رو هم یه امتحانی می کنم.
محسن جان سلام. این افزونه بسیار عالی کار می کنه. فقط یه مشکل اساسی به وجود آورده.
این افزونه، افزونه Cystat سایت من را به کلی بهم ریخته. مثلا یه وقت میبینی واسه یه مطلب زده ۱۵ بازدید، یه وقت میبینی زده ۱۰ بازدید و…
آیا راه حلی برای این مشکل وجود داره؟
سلام رامین جان. یکی از ایرادهای اساسی افزونههای آمار همین ناسازگار بودنشون با افزونههای کشه. اگر آمار رو برای بازدیدکننده نشون نمیدین و فقط تو مدیریت استفاده میکنین بهتره برین سراغ Google Analytics یا Woopra.
پس طبق گفته های شما، لازمه که ما حتما کش رو دستی پاک کنیم. درسته؟
اگر مقدار گزینهی اول رو صفر گذاشتین بله.
خوب دقیقا رسیدیم به قسمتی که مد نظر من می باشد
من می خوام خودکار پاک بشه، حالا به نظر شما اگر من عدد ۱۰ را انتخاب کنم، یعنی هر ۱۰ دقیقه کش پاک بشه، فشاری به سرور وارد نمی کنه؟
پیشنهاد شما به عنوان یک حرفه ای در این زمینه، چه عددی برای زمانبندی می باشد؟
اگر مشکل فضا ندارین تا جای ممکن بذارین فایلهای کششده لود بشن. اینجوری فشار کمتری هم به سرور میاد.
فضای بنده ۵۰۰MB می باشد، که ۳۰۵MB مصرف شده، روزانه ۲۰۰۰ آی پی منحصر به فرد هم بازدید دارم. اگر شما یک عددی رو برای زمانبندی پیشنهاد بدید، خیالم راحت میشه. شاید اون زمانی که مد نظر من هست با زمانی که مد نظر شما می باشد، یکی باشه، اما اگه شما زمان رو تأیید کنید خیالم راحت تر میشه. ممنون.
توصیهی مهمتر بنده اینه که فضای سایتتونو ارتقا بدین. ۷۲۰ دقیقه رقم متداولی هست برای این گزینه.
من هم با ۷۲۰ دقیقه موافقم.
واقعا یک دنیا ممنونم بابت این همه راهنمایی و تجارب ارزشمندی که به من و سایر دوستانم انتقال می دهید. بنده یکی از بازدیدکنندگان ثابت سایت شما هستم که بسیاری از جواب سئوالاتم را در سایت شما بدست آوردم.
باز هم ممنون.
لطف دارین رامین جان. خوشحالم که مطالبم براتون مفید بوده.
خوب محسن جان دو سئوال از خدمتون داشتم.
این جور که من متوجه شدم بعد از ارسال هر مطلب، کش ۰ می شود درسته؟
حالا یک سئوال دیگر
در قسمت Cache invalidation mode سه گزینه وجود دارد، با توجه به اینکه سایت بنده یک سایت سرگرمی تفریحی می باشد، روی کدام گزینه قرار بگیرد بهتر است؟
گزینه ی all cached pages یا گزینه ی only modified posts و یا nothing.
رامین جان روی only modified posts بذارین.
محسن جان سلام. خسته نباشی بابت این همه زحمت
میخواستم بدونم که افزونه Hyper cache آیا تنظیماتی نداره که به صورت خودکار کش را پاک کنه؟
سلام آقا رامین. گزینهی Cached pages timeout مشخص میکنه که صفحات کش شده چند دقیقه معتبر باشن و بعد از اون مجددا ساخته بشن. در ضمن بعد از ارسال یا ویرایش پست و کامنت هم کش دوباره ساخته میشه که تنظیماتش تو قسمت Cache invalidation mode هست.
قسمت Cache invalidation mode رو خوب متوجه نمیشم. این قسمت ۳ گزینه داره
all cached pages , only modified posts , nothing منظور از اینا چیه و خود شما کدام یک را پیشنهاد می کنید.
ضمن اینکه به نظر شما اگر گزینه ی Cached pages timeout را زمان بندی کنم بهتره یا همون روی عدد ۰ باقی بمونه.
گزینه اول که مشخص میکنه بعد از تغییراتی مثل اضافه شدن و ویرایش پست یا کامنت همهی پستها از کش حذف بشن یا فقط پست دستکاری شده یا هیچکدوم. بهتره روی only modified posts ست کنین و بعد از ارسال پست خودتون دستی کش رو پاک کنین. در مورد گزینهی دوم هم اگر پستهاتون خیلی خیلی زیاد نیستن بذارین رو صفر و کار پاک کردن کش رو خودتون دستی انجام بدین.
خوب اینجا دو سئوال واسم پیش اومد.
۱- کش رو هر چند وقت یه بار پاک کنم؟
۲- فرض کنید الآن به سی پنل وارد شدم. مثلا disk space بنده شده ۳۵۰MB، حالا وقتی که من یک مطلب منتشر می کنم، disk space بنده میشه ۲۹۰MB. دلیل این رویداد رو متوجه نمیشم. آیا خود این عمل به معنی پاک کردن خودکار کش نیست؟
ارسال نوشتهی تازه کش رو بصورت خودکار پاک میکنه. اگر تغییر خاصی تو سایت میدین مثلا به سایدبار چیزی اضافه میکنین دستی کش رو پاک کنین.
این سئوال آخر رو هم بپرسم که خیالم راحت شه
الان در قسمت تنظیمات Hyper cache
روبروی Files in cache (valid and expired) عدد ۱۷۰ نمایان هست
این ۱۷۰ به چه معنی است. اگر پس از انتشار مطلب، کش به صورت خودکار پاک میشه، پس این عدد ۱۷۰ چیه؟
معذرت میخوام رامین جان. پست جدید که میذارین فایلهای مربوط به کش غیرمعتبر میشن و برای کاربر سرور نمیشن ولی تا زمانی که موقع پاک شدنشون که تو گزینهی اول تعیین کردین نرسیده باشه یا دستی پاک نکنین تو هاست باقی میمونن.
بعد از نصب و استفاده از این افزونه ها آیا باید کش رو خالی کنیم؟
اگه آره،از چند وقت؟
بعد از ارسال پست جدید چک کنین اگر بصورت خودکار کش خالی نشده باشه اینکار رو انجام بدین.
آقا محسن هر تغییری تو سایت میدم اعمال نمیشه!!! باید زمان پاک شدن کش رو کم کنم آیا؟
مرسی 🙂
یعد از تغییرات، کش رو از بخش تنظیمات افزونه پاک کنین.
سلام.من w3 total cache رو نصب کردم ولی هیچ تغییری در سرعت سایتم بوجود نیومد
مشکل از کجاست؟
افزونهی کش فقط از پردازش و ساخت چندبارهیصفحات جلوگیری میکنه و ضمن افزایش نسبی سرعت لود اولیه از فشار روی سرور کم میکنه. سایت شما رو چک کردم حجم زیادی داره و موارد زیادی توش رعایت نشده که مشکل سازه. میتونم با دریافت هزینه برای بهبود کاراییش در خدمتتون باشم.
سلام؛
من افزونه w3tc رو دارم ولی میخوام به این افزونه هایی که گفتین مهاجرت کنم.
از طریق پیشخوان حذفش کنم کافیه؟تداخل ایجاد نمیشه؟
مرسی.
سلام ایوب جان مشکلی پیش نمیاد فقط بهتره قبل از غیرفعال کردن افزونه، کش رو خالی کنین.
باشه.
مرسی
agha man in karo kardam bad dige vaghti esme sitamo mizanam to site tools.pingdom.com sitamo baz nemikone iani mizane khalie
سلام آقای غیاثی
ممنون از معرفی خوبتون. میخواستم ببینم استفاده از همین دو افزونه ای که معرفی کردید برای فشرده سازی css و js هم کافیه. یا باید علاوه بر دو افزونه اشاره شده مثلا wp minify رو هم نصب کرد؟
تشکر
سلام دوست عزیز. این افزونه فقط فایل HTML صفحات رو فشرده میکنه. برای gzip کردن استایل و اسکریپتها اگر بصورت خودکار هاست این قابلیت رو نذاشته باشه باید تو فایل htaccess. کدش رو قرار بدین:
نه محسن جان توی توضیحات DB Cache Reloaded Fix نوشته که gzip رو هم فعال میکنه!
Hyper Cache اینکار رو انجام میده.
اوه عجب سوتی 😀 حال نداشتمHyper Cache رو تایپ کنم اسمشو اشتباهی کپی کردم .
من همه این افزون هارو نصب کردم فقط به جای hyper cache از wp super cache استفاده می کنم و یه کد gzip هم توی فایل htaccess گذاشتم.به نظرتون این خوب هست؟
اما یه مشکل دارم که وقتی یه تغییری رو توی سایت ایجاد می کنم(مثلا یه بنر می ذارم) خیلی ها نمی تونن اون رو ببینن.باید چیکار کنم؟
سلام امین جان. خود سوپر کش کار فشرده کردن رو انجام میده نیازی به کد نیست. البته بعد از برداشتن کد چک کنین ببینین فایلهای css و js رو خود سرور فشرده میکنه یا نه اگر نکرد کد رو بذارین. بعد از تغییر تو سایت باید کش رو از بخش Contents پاک کنین.
منظورتون از بخش content کجا هست؟ حتی بعد از گذاشتن مطلب هم باید انجام بدم؟
یکی از دوستام از Hyper cache استفاده می کنه و وقتی مطلب می ذاره کسی نمی بینه.برای اون چه چیزی پیشنهاد می کنید؟
از بخش تنظیمات به WP Super Cache برین و بعد از منوی Contents کش رو پاک کنین. اگر تو تنظمات هایپرکش گزینهای که بصورت خودکار بعد از انتشار پست جدید کل کش رو پاک کنه نیست باید بعد از پست دادن خودشون بصورت دستی تو صفحه تنظیمات افزونه کش رو پاک کنن.
این تنظیم افزونه هایپر کش کجا هست و چطوری میشه فعالش کرد؟
برای Cache invalidation mode مقدار All cached pages رو انتخاب کنین ببینین درست عمل میکنه یا نه. از منوی تنظیمات بخش Hyper Cache در دسترسه.
اتفاقا همین انتخاب شده.اما تاثیری نداره
به ازای هربار آپدیت شدن وبسایت باید از قسمت تنظیمات هایپر کش، clear cache زده بشه 😉
نه.آقای غیاثی که گفتن به صورت اتوماتیک حذف کنه.می خواستم بدونم این قابلیت چطوری فعال میشه؟
خیلی خیلی عالی بود…
خدا خیرت بده…
شاید باورت نشه ولی خداییش سرعت لود سایتمو از ۱۵ ثانیه به ۴ ثانیه اوورد…
عااااااالییییییییییی.
ممنون
سلام
ببخشید سوال خیلی کودکانه هست…
من اون کد را اضاف کردم به WP-config اخطار دارد:
syntax error, unexpected ‘<' in /home3/ecogeeki/public_html/wp-config.php on line 3
سلام رسول جان. اشتباه انجام دادین دوباره سعی کنین.
درست شد. مرسی. فقط این افزونه آخر دیگه وجود خارجی نداره:
This plugin hasn’t been updated in over 2 years.
آقا محسن من اینا را نصب کردم ولی مشکل لودینگ سایتم هنوز رفع نشده! میشه یه نگاه به این تاپیک بندازید؟
http://forum.wp-parsi.com/topic/6702-%D9%85%D8%B4%DA%A9%D9%84-%D8%AF%DB%8C%D8%B1-%D9%84%D9%88%D8%AF-%D8%B4%D8%AF%D9%86-%D9%88%D8%A8%D8%B3%D8%A7%DB%8C%D8%AA/
داش داش امروز فهمیدم که اگه این افزونه لعنتی نصب باشه وردپرس هنگام آپدیت ارور میده.
چه مشکلی پیش اومده دوست عزیز و چجوری متوجه شدین مشکل از این پلاگینه؟
سلام
من الان می خوام شروع کنم به نصب و … این پلاگین
می کشمت کار نکنه
می کشمت
ههههههه
😀
نصب کردم، گام به گام جلو رفتم
فعلا که کش من صفر درصده
اگه صفر درصد بمونه، کل آش رو توی newbie خالی می کنم
:-d
بسلامتی ایشالا مهدی جان 😉
سلام دوباره
گفته بودید که اگه کاربر بیاد صفحه کش میشه .
از اون موقع که من این پلاگین ها رو نصب کردم، کلی بازدید کننده داشتم ولی کش باز ۰ هست.
من این جا اندازه میگیرم :
gtmetrix.com
جای دیگه ای هم برای اندازاه گیری کش هست؟
!!! کجای GTMetrix کش رو اندازه میگیرین؟!!!
سلام
توی این قسمت:
Leverage browser caching
البته هنوز مال من تکون نخورده، تقریبا یه روز رد شد.
میشه یه سایت رو لطف کنید معرفی کنید ما کش سایتمون رو اندازه بگیریم؟
سلام آقا مهدی این چیزی که شما می گین هیچ ربطی به جزیان این افزونه کش نداره. هیچ ابزاری برای سنجش کش وجود نداره. تو تنظیمات Hyper Cache تعداد آیتمهای کش شده نشون داده میشه.
خوشمزه بود ما هم زدیم 😉
سلام محسن جان
حالت چطوره؟
آقا من از سوپر کش استفاده می کنم، این پلاگین سومی که گفتی همیشه کش گرم نگه می داره با سوپر کش هم سازگاری دارد؟
سلام احوال آقا مهدی؟ بله موردی نداره باهاش.
سلام!
این افزونهی AskApache Crazy Cache رو تا حالا ندیده بودم. روی سرور ویندوز هم جواب میده؟
راستی، به اینجا هم یه نگاهی بندازید: http://2barnamenevis.com/index.php/1390/12/16/windows-store-iran-petition/
پیروز باشید 😉
سلام آقا مهدی. تست کنین چون چیزی در مورد سازگاریش نخوندم.
اقا محسن ایول
الان داشتم اشپزی کش میکردم
W3 Total Cache
قبلا داشتم خوب هم بود ولی زیادی امکاناتش کیجم کرده بود
الان داشتم Quick cahce اون دوتا افزونه بالای رو P3 – Plugin Performance Profiler
تست میکردم من هم رسیدم به اینا
Hyper Cache و DB Cache Reloaded Fix
فقط اینو ندیده بودم الان AskApache Crazy Cache تست میکنم
ممنون
سلام مهدی جان امیدوارم خوب از کار دربیاد 😉
این Wrapper Mode چیه تو DB Cache Reloaded Fix
برا کش کردن کوئریهایی هست که افزونههای تا خدی غیر استاندارد و زبوننفهم تولید میکنن. تیکشو بذارین.
میگم بهتر نیست تو این Agents to reject
مال موتور های جستجو رو وارد کنیم که دیگه چیزی کش نشه واسه موتورها؟
به ذائقهی شما بستگی داره. معمولا تو وبلاگهایی که زیاد محتواشون تغییر نمیکنه نیاز نیست.
دوستانی که میخوای آشپزی رو با اطلاعات و تصمیم گیر بهتر شروع کنند به لینک زیر برن
http://www.tutorial9.net/tutorials/web-tutorials/wordpress-caching-whats-the-best-caching-plugin/