تنظیم WP-Cron با زمانبند سرور میتواند اجرای کارهای دورهای را از بازدید صفحه مستقل کند. این تغییر برای هر سایت ضروری نیست و افزایش سرعت را تضمین نمیکند. مهمتر اینکه نباید محرک فعلی را خاموش کنید و وظایف انتشار، بهروزرسانی یا افزونهها را بدون جایگزین فعال رها کنید.
WP-Cron دقیقاً چه کاری میکند؟
وردپرس در جریان بارگذاری صفحه، زمان وظایف صفشده را بررسی میکند و کارهای موعدرسیده را برای اجرا راه میاندازد. همهٔ وظایف با هر بازدید از ابتدا اجرا نمیشوند. طبق راهنمای WP-Cron، در سایت کمبازدید ممکن است کار زمانبندیشده تا بازدید بعدی عقب بیفتد؛ انتشار نوشته و بررسی بهروزرسانی از کاربردهای آناند.
پیش از تنظیم WP-Cron در هاست
وظایف حساس و حداکثر تأخیر قابلقبول را مشخص کنید. فاصلهٔ نیمساعت یا یکساعت برای همهٔ سایتها مناسب نیست؛ افزونهٔ فروشگاه یا پردازش صف ممکن است نیاز متفاوتی داشته باشد. اگر میزبان از قبل وظایف وردپرس را مدیریت میکند، Cron تکراری نسازید.
مسیر نصب، کاربر اجراکننده و نسخهٔ PHP را مشخص کنید. PHP خط فرمان میتواند با PHP وب متفاوت باشد. در محیط cPanel، مسیر اجرایی PHP باید با نسخه و افزونههای مورد نیاز سایت هماهنگ باشد؛ مسیر موجود در تصویر یک هاست دیگر را عیناً کپی نکنید.
ساخت وظیفه در Cron Jobs
ابزار Cron Jobs سیپنل را باز کنید و فاصلهٔ مناسب را انتخاب کنید. برای نمونه، اجرای هر پنج دقیقه با */5 در Minute و * در چهار بخش زمانی دیگر مشخص میشود؛ این فقط نمونه است، نه مقدار اجباری. در Command، فرمان اجرای PHP و فایل واقعی را وارد کنید:
/ABSOLUTE/PATH/TO/php -q /home/ACCOUNT/SITE_ROOT/wp-cron.php
تمام بخشهای بزرگنویسیشده جاینگهدار هستند و باید با مسیرهای واقعی جایگزین شوند. در کادر Command، عبارت زمانبندی را دوباره ننویسید. برای مسیر دارای فاصله از نقلقول مناسب استفاده کنید. فایل wp-cron.php را حذف یا تغییرنام ندهید.
روش دیگر، درخواست وب امن به wp-cron.php طبق راهنمای زمانبند وردپرس است. در این روش دسترسی شبکه، HTTPS و حفاظت محیط تست اهمیت دارد؛ برای عبور زمانبند، امنیت سایت را خاموش نکنید. یکی از روشهای مناسب محیط را انتخاب کنید، نه چند اجرای همزمان.
پس از تأیید اجرای جایگزین
ابتدا موفقیت اجرای وظیفهٔ جدید را بررسی کنید. سپس این خط را فقط یکبار در بخش تنظیمات wp-config.php، پیش از بارگذاری WordPress، قرار دهید:
define('DISABLE_WP_CRON', true);
مقدار true در اینجا بولی و بدون نقلقول است. این گزینه محرک وابسته به بازدید را غیرفعال میکند؛ نام فایل یا وظایف ذخیرهشده را حذف نمیکند. اگر ثابت از قبل وجود دارد، همان تعریف را مدیریت کنید و تعریف تکراری نسازید.
کنترل اجرا و جلوگیری از تداخل
پس از یک یا چند نوبت اجرا، کار موعدرسیده و زمان اجرای بعدی را بررسی کنید. در محیط دارای WP-CLI، دستور wp cron event list برای مشاهدهٔ صف رویدادها کاربرد دارد. نبود خروجی خط فرمان بهتنهایی اثبات انجام تمام وظایف نیست.
مستند Cron Jobs دربارهٔ همپوشانی اجرای طولانی هشدار میدهد. گزارش خطا را تا اطمینان از عملکرد پنهان نکنید و مدت اجرای کارها را با فاصلهٔ زمانبندی مقایسه کنید. اگر جایگزین کار نمیکند، علت را رفع کنید یا محرک قبلی را بازگردانید تا سایت بدون اجرای وظایف ضروری نماند.
مطالعهٔ مرتبط
بازبینی فنی: ۱۳ آبان ۱۴۰۵. تاریخ انتشار اولیه و نشانی قبلی حفظ شدهاند.