نحوه غیرفعال کردن WP-Cron در وردپرس و تنظیم کرانجاب (Cron Job) واقعی
وردپرس دارای یک سیستم زمانبندی داخلی به نام WP-Cron است که مسئول مدیریت وظایف زمانبندیشده است — مثل انتشار پستها در زمان مشخص، ارسال ایمیلهای خودکار یا اجرای پشتیبانگیریهای خودکار.
اگرچه WP-Cron راحت و برای بسیاری از سایتها کاربردی است، اما محدودیتهایی دارد. یکی از مشکلات رایج آن این است که گاهی وظایف زمانبندیشده را از دست میدهد، بهویژه در وبسایتهایی که بازدید کمی دارند.
راهحل قابلاعتمادتر، استفاده از کرانجاب واقعی (Real Cron Job) است که توسط سرور میزبان شما مدیریت میشود. این نوع کرانجابها مستقل از بازدید کاربران بوده و طبق زمانبندی دقیق اجرا میشوند، بنابراین وظایف همیشه بهموقع و بدون تأخیر انجام میگردند.
در WPBeginner، ما برای اطمینان از اجرای دقیق تمام وظایف زمانبندیشده، از کرانجابهایی استفاده میکنیم که مستقیماً روی سرور تنظیم شدهاند — و این روش همواره نتایج عالی برایمان داشته است.
به این ترتیب، حتی در زمانهایی که ترافیک سایت پایین یا فعالیت سرور بالا است، نگران تأخیر یا انجام نشدن وظایف نیستیم.
در این مقاله، یاد میگیرید که چگونه wp-cron را در وردپرس غیرفعال کرده و دو روش برای تنظیم کرانجاب واقعی را انجام دهید.
چرا باید WP-Cron را غیرفعال کنیم؟
وردپرس بهصورت پیشفرض دارای سیستم زمانبندی داخلی به نام wp-cron است. این سیستم کارهایی مانند بررسی بهروزرسانیها، انتشار پستهای زمانبندیشده، ایجاد نسخههای پشتیبان خودکار، ارسال ایمیلهای خودکار و موارد دیگر را انجام میدهد.
🔗 برای آشنایی بیشتر، میتوانید راهنمای ما در مورد مشاهده و مدیریت کرانجابها در وردپرس را ببینید.
مشکل اصلی WP-Cron این است که تنها وقتی کسی از سایت بازدید میکند، بررسی وظایف زمانبندیشده انجام میشود.
این موضوع برای سایتهای پربازدید مناسب است، اما در سایتهای کمترافیک ممکن است باعث شود پستهای زمانبندیشده به موقع منتشر نشوند.
از طرف دیگر، در سایتهای پرترافیک، چون WP-Cron مدام بررسی میشود، ممکن است بر عملکرد کلی سایت تأثیر منفی بگذارد.
اگر فقط میخواهید خطای “پستهای زمانبندیشده منتشر نشدهاند” را رفع کنید، میتوانید از افزونه رایگان Missed Scheduled Publisher استفاده کنید.
اما اگر میخواهید کل سیستم زمانبندی سایت پایدارتر شود، باید از کرانجاب واقعی استفاده کنید.
کرانجاب واقعی مستقیماً توسط سیستمعامل سرور اجرا میشود، نه وردپرس. بنابراین میتواند کارها را دقیقتر و منظمتر انجام دهد.
وردپرس بهصورت پیشفرض نمیتواند کرانجاب را در سطح سرور تنظیم کند، اما شما میتوانید این کار را بهراحتی با دنبال کردن مراحل زیر انجام دهید.
مراحل انجام کار
در این آموزش، یاد میگیرید:
- غیرفعال کردن WP-Cron در وردپرس
- روش اول: تنظیم کرانجاب واقعی از طریق هاست وردپرس
- روش دوم: تنظیم کرانجاب واقعی با استفاده از سرویسهای شخص ثالث
- بخش ویژه: زمانبندی خودکار پستهای وبلاگ
۱. غیرفعال کردن WP-Cron در وردپرس
برای غیرفعال کردن WP-Cron باید فایل wp-config.php را ویرایش کنید.
این فایل در پوشهی اصلی وردپرس (Root Directory) قرار دارد و برای دسترسی به آن باید از FTP یا File Manager هاست استفاده کنید.
⚠️ نکته مهم: این فایل حاوی اطلاعات حساس است. هرگونه تغییر اشتباه ممکن است سایت را از کار بیندازد. پیشنهاد میشود قبل از ویرایش، از آن نسخه پشتیبان بگیرید.
در فایل wp-config.php، قبل از خط
“That’s all, stop editing! Happy blogging.”
کد زیر را اضافه کنید:
define('DISABLE_WP_CRON', true);
سپس فایل را ذخیره و مجدداً در هاست آپلود کنید.
از این لحظه، وردپرس دیگر WP-Cron را هنگام بازدید کاربران اجرا نخواهد کرد.
۲. روش اول: تنظیم کرانجاب واقعی در هاست وردپرس
اکنون باید یک کرانجاب واقعی روی هاست تنظیم کنید تا وظایف زمانبندیشده اجرا شوند.
روش انجام این کار بسته به نوع کنترلپنل هاست شما متفاوت است، اما معمولاً cPanel رایجترین گزینه است.
در این آموزش، از cPanel شرکت Bluehost استفاده شده است.
نکته: بعضی از هاستها cPanel ندارند یا اجازه ایجاد کرانجاب را نمیدهند. در این صورت، میتوانید از روش دوم (سرویسهای خارجی) استفاده کنید.
مراحل انجام:
- وارد حساب کاربری هاست شوید و به صفحه Websites بروید.
- از بالای صفحه، تب Advanced را انتخاب کنید.
- در بخش Cron Jobs روی دکمه Manage کلیک کنید.
در صفحهی بازشده، بخش Add New Cron Job را پیدا کنید.
برای زمانبندی، از قسمت Common Settings گزینهی Twice Per Hour (هر ۳۰ دقیقه) را انتخاب کنید.
سپس در قسمت Command، کد زیر را وارد نمایید:
wget -q -O - https://example.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
🔹 بهجای example.com، آدرس سایت خود را بنویسید.
در نهایت روی Add New Cron Job کلیک کنید تا کرانجاب جدید ذخیره شود.
از این پس، وردپرس هر ۳۰ دقیقه وظایف زمانبندیشده را بررسی و اجرا میکند — بدون وابستگی به بازدید کاربران.
۳. روش دوم: تنظیم کرانجاب واقعی با سرویسهای شخص ثالث
اگر هاست شما از کرانجاب پشتیبانی نمیکند، میتوانید از سرویسهای آنلاین مخصوص کرانجاب استفاده کنید.
این سرویسها رابط کاربری سادهای دارند و برای سایتهای کوچک گزینهی بسیار مناسبی هستند.
برخی سرویسهای معتبر عبارتاند از:
- EasyCron (دارای طرح رایگان با تمدید ماهانه)
- cron-job.org (کاملاً رایگان)
- Cronitor (رایگان برای یک کرانجاب)
- SetCronJob (پلنهای پولی از ۱۰ دلار در سال)
در این آموزش از EasyCron استفاده میشود.
مراحل تنظیم:
- در سایت EasyCron یک حساب رایگان بسازید.
- روی دکمه + Cron Job کلیک کنید.
- در بخش URL to call، آدرس زیر را وارد کنید:
https://example.com/wp-cron.php?doing_wp_cron(بهجای example.com، آدرس سایت خودتان را بنویسید)
- در بخش When to execute، گزینهی Every 30 minutes را انتخاب کنید.
- سپس روی Create Cron Job کلیک کنید.
از این پس، EasyCron هر ۳۰ دقیقه یکبار فایل wp-cron.php سایت شما را اجرا خواهد کرد.
🎁 بخش ویژه: زمانبندی خودکار پستهای وبلاگ در وردپرس
بعد از تنظیم کرانجاب واقعی، تمام وظایف زمانبندیشده بهدرستی اجرا خواهند شد.
اما میتوانید یک قدم جلوتر بروید و انتشار پستها را بهصورت خودکار زمانبندی کنید.
برای این کار باید افزونه PublishPress Planner را نصب و فعال کنید.
سپس به مسیر Planner » Settings بروید و در تب Content Calendar، تیک گزینهی
✅ “Scheduled” را در بخش “Statuses to display publish time” فعال کنید.
در ادامه، زمان دلخواه خود برای انتشار پستها را از قسمت
Default publish time for items created in the calendar تنظیم کنید.
در نهایت روی Save Changes کلیک کنید.
اکنون میتوانید هنگام ویرایش پست، از منوی وضعیت، گزینهی Scheduled را انتخاب کنید تا پست بهصورت خودکار طبق برنامه منتشر شود.
برای اطلاعات بیشتر، میتوانید آموزش ما دربارهی
زمانبندی خودکار پستهای وردپرس را ببینید.
✅ نتیجهگیری
در این مقاله یاد گرفتید که چگونه WP-Cron را در وردپرس غیرفعال کرده و کرانجاب واقعی تنظیم کنید تا وظایف زمانبندیشده همیشه به موقع اجرا شوند.
همچنین میتوانید آموزشهای مرتبط زیر را ببینید:
- نحوه افزودن کاربر مدیر از طریق FTP در وردپرس
- راهنمای کامل مشاهده و کنترل کرانجابها در وردپرس