توسعه دهندگان وردپرس یک فانکشن داخلی برای اتوماسیونی به نام wp_cron پیاده سازی کردن که به شما این امکان رو میده که پستها و eventها رو برنامه ریزی کنین.
همچنین برای maintenance، بررسی بهروزرسانیها و بسیاری از پلاگینها که ممکنه یک سری ویژگیهای خودکار داشته باشن، استفاده میشه. این راهحل ممکنه تاثیری منفی بر عملکرد سایت شما داشته باشه و ممکنه در برخی شرایط اون طوری که انتظار میره کار نکنه.
WP Cron در مقابل cPanel cron job
در واقع WP Cron ، یک cron job واقعی نیست، بلکه یک cron job جعلی هست که اگر شخصی از سایت شما بازدید کنه، فعال میشه. در هنگام بارگذاری صفحه، این چک میکنه که آیا taskهای برنامه ریزی شدهای برای اجرا وجود دارن یا نه. در روشی که WP Cron کارها رو انجام میده، deawbackهایی وجود داره:
- میتونه بر زمان بارگذاری صفحه تاثیر بذاره – اگر سایت شما بازدیدکنندههای زیادی داره و taskهای برنامه ریزی شده زیادی دارین، ممکنه بر سرعت سایت شما تاثیر بذاره.
- اگر هیچ بازدیدی نداشته باشین، taskهای برنامه ریزی شده هم اجرا نمیشن.
- در صورت وجود اشکال، یا تضاد بین پلاگینها، WP Cron ممکنه از کار بیفته.
- cache pluginها ممکنه مانع از بارگیری WP Cron بشن.
اگر میخواین از این اشکالات جلوگیری کنین، میتونین از یک cron job واقعی روی سرورتون استفاده کنین. این راه حل به دو دلیل سودمند هست:
- مطمئن میشین که taskهاتون به موقع انجام میشن
- سرعت وبسایتتون بالاتر میره و سریعتر برای بازدیدکنندهها بارگیذاری میشه
چطوربرای یک سرور cron job برنامه ریزی کنیم؟
در این مقاله، ما به شما آموزش میدیم که چطور یک cron job واقعی رو با استفاده از cPanel برنامه ریزی کنین.
مرحله 1: وارد cPanel خودتون بشین.
مرحله 2: در cPanel به File Manager برین
فایل wp-config.php که در مسیر روت وبسایتتون پیدا میکنین رو ویرایش کنین.
کد زیر رو در یک خط جدید اضافه کنین:
1 |
define('DISABLE_WP_CRON', true); |
تغییرات رو ذخیره کنین
مرحله 3: در cPanel به Cron Jobs برین
باید صفحه زیر رو ببینین:
در Add New Cron Job باید فاصله زمانی رو انتخاب کنین. لطفا توجه داشته باشین که بعضی از هاستها ممکنه محدودیتهایی در مورد بازه زمانی داشته باشن، مثلا ممکنه اجازه استفاده از فواصل کمتر از 15 دقیقه رو نداشته باشین.
در قسمت Command باید خط زیر رو وارد کنین:
1 |
wget -q -O - http://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1 |
به یاد داشته باشین که http://yourdomain.com رو با نام واقعی دامنه خودتون جایگزین کنین.
برای تایید روی دکمه Add New Cron Job کلیک کنین.
همین. اگر تمام مراحل رو با دقت انجام داده باشین، باید cron job وردپرستون با یک server cron job واقعی جایگزین شده باشه. لطفا توجه داشته باشین که هاستها ممکنه محدودیتهایی در استفاده از cron jobها داشته باشن، بنابراین اگر cron job به درستی کار نمیکنه، باید برای راهنمایی بیشتر با پشتیبانی هاستتون تماس بگیرین.