وردپرس از فایلی به نام wp-cron.php به عنوان cron job مجازی استفاده میکند تا کارهایی مانند انتشار پستهای زمانبندیشده، بررسی بهروزرسانیهای افزونه یا تم، ارسال اعلانهای ایمیل و موارد دیگر را خودکار انجام دهد.
چرا WP-cron (wp-cron.php) را غیرفعال می کنید؟ برای بسیاری از کاربران وردپرس، با غیرفعال کردن WP-cron در فایل پیکربندی سایت وردپرس، می توانید عملکرد وب سایت را بهبود بخشید. این کار تعداد دفعاتی را که وظایف برنامه ریزی شده انجام می شود کاهش داده و بار روی هاست یا سرور را نیز کمتر می کند
- چرا WP-Cron یک مشکل اجرایی است؟
- رفتار پیش فرض WP-Cron را غیرفعال نمایید
- job Cron دستی را به جای WP-Cron تنظیم نمایید
- راه حل های پلاگین برای مدیریت WP-cron استفاده نمایید
WP-Cron هر زمانی که بازدیدکننده صفحه ای را در سایت وردپرس شما بارگذاری کند فعال می شود. برخی از کارهایی که فعال می شوند عبارتند از:
- بررسی بروزرسانی ها
- انتشار پست های زمان بندی شده
- بررسی اعلان افزونه ها
بار بر روی پردازنده سرور و منابع تحت تأثیر, به لیست وظایفی که باید در زمان لود سایت توسط WP-Cron بررسی شود, بستگی خواهد داشت. هرچه لیست وظایف طولانی تر و حجم محتوا بیشتر باشد، سرور بیشتر تحت تأثیر قرار می گیرد.
بنابراین، اگر وبسایت بزرگتری با محتوای زیاد دارید، این وظایف برنامهریزیشده میتوانند به اندازهای قابل توجه باشند که بر عملکرد سرور شما تأثیر بگذارند. پس میتوانید با غیرفعال کردن wp-cron و زمانبندی وظایف خود، عملکرد را بهبود بخشید تا هر بار که صفحهای در سایت وردپرس شما بارگذاری میشود، اجرا نشوند.
غیرفعال شدن wp-cron از طریق فایل wp-config.php
- wp-config.php خود را با استفاده از cPanel File Manager یا FTP باز کنید.
- خطی را پیدا کنید که با «$table_prefix» شروع میشود. کلید enter را بزنید تا یک خط به زیر آن عبارت اضافه شود. سپس کد زیر را اضافه کنید:
فرآیندهای WP_CRON را غیرفعال کنید
define(‘DISABLE_WP_CRON’, true)
- روی ذخیره کلیک کنید.
اکنون وردپرس به طور خودکار اسکریپت wp-cron.php را هر بار که سایت شما بازدید کننده جدیدی دریافت می کند، اجرا نمی کند. از آنجایی که wp-cron غیرفعال است، باید مطمئن شوید که راه حلی مانند cron job یا افزونه دستی را تنظیم کرده اید تا مطمئن شوید که کارهای برنامه ریزی شده معمولی شما همچنان در حال اجرا هستند. مراحل زیر را برای راه اندازی cron job دستی و برای برخی از گزینه های افزونه دنبال کنید.
راه اندازی Cron Job دستی به جای WP-Cron
ما نمی خواهیم وردپرس را بدون هیچ گونه توانایی برای خودکارسازی وظایفی که ممکن است نیاز به انجام آن داشته باشد، رها کنیم. اما حداقل اکنون که برای تک تک بازدیدکنندگان اجرا نمی شود، می توانیم کنترل بیشتری روی زمان انجام این وظایف داشته باشیم. برای اکثر کاربران وردپرس، اجرای اسکریپت wp-cron.php هر 6 ساعت یکبار کاملاً خوب است. به عبارتی 4 بار در یک روز خواهد بود، در مقایسه با احتمالاً صدها یا حتی هزاران بار در روز که مطمئنا بار زیادی بر سایت اعمال می کند.
- به cpanel لاگین شوید.
- بر روی گزینه cron jobs کلیک نمایید.
3. در بخش Common Settings اجرا در هر ساعت را از منوی کشویی انتخاب نمایید.
4. گزینه هر 6 ساعت را از منوی کشویی انتخاب کنید.
5. در اخر کد زیرا در بخش command اضافه کنید.
cd /home/userna5/public_html; php -q wp-cron.php
اکنون وب سایت وردپرس شما باید وظایف برنامه ریزی شده را با خیال راحت از طریق اسکریپت wp-cron.php اجرا کند، اما فقط در فواصل زمانی تعیین شده.
راه حل های پلاگین برای مدیریت WP-cron
مانند بسیاری از مشکلات وردپرسی، اغلب افزونه ای وجود دارد که به منظور رفع مشکل ایجاد شده است. این افزونههای رایگان به شما ارائه می شود تا کارهای cron که توسط WP-cron اجرا میشوند را کنترل یا نظارت کنند. با استفاده از این قابلیت، این افزونهها به شما اطلاع میدهند که در مورد WP-cron مشکلاتی وجود داشته باشد، زیرا میتوانید ببینید چه اتفاقی برای cron jobs میافتد. 2 پلاگین اول به شما این امکان را می دهد کهcron jobs را به عنوان بخشی از عملکرد اصلی آنها اضافه، ویرایش، حذف کنید. آنها همچنین شامل بسیاری از عملکردهای دیگر مانند برنامه ریزی هستند.آخرین افزونه به سادگی وضعیتی از cron jobهای موجود در حال اجرا توسط وردپرس را به شما می دهد.
- Advanced Cron Manager – Debug & Control
- WP Crontrol
- WP-Cron Status Checker
Advanced cron manager
رویدادهای cron وردپرس را کنترل می کند. می توانید رویدادها را جستجو کنید، رویدادهای جدید اضافه کنید، رویدادها را به صورت دستی اجرا کنید، رویدادها را متوقف کنید، و بسیاری موارد دیگر. همچنین یک گزینه برنامه ریزی گسترده وجود دارد.
در نظر داشته باشید یک نسخه حرفه ای از افزونه وجود دارد که این عملکرد اضافی را ارائه می دهد:
- Cron Logger – می توانید زمان های اجرای cron را به راحتی ثبت نمایید.
- می توانید زمانبندی مجدد رویدادها – تاریخ اجرای بعدی رویداد را برای کنترل بار سرور تغییر دهید
- گیرنده خطا – خطاهای مرگبار cron task را تهیه و آنها را در گزارش نمایش دهید
- آمار عملکرد – می توانید بررسی کنید که یک رویداد خاص چقدر زمان و حافظه صرف کرده است
- ابزار اشکال زدایی – می توانید هر گونه اطلاعات مفید را از Cron callback ثبت نمایید.
این افزونه WP-cron را غیرفعال نمیکند، اما مانند سایر پلاگینهای مرتبطو بررسی و کنترل بر روی کارهای cron در حال اجرا در سایت شما را فراهم میکند.
Wp control
به شما امکان می دهد آنچه را که در سیستم WP-Cron اتفاق می افتد مشاهده و کنترل کنید. این افزونه جدیدترین آپدیت و تست شده بر روی وردپرس نسخه 5.8 است.
- می توانید همه رویدادهای cron ، توابع پاسخ به تماس و تاریخ اجرای برنامهریزیشده را مشاهده نمایید.
- می توانید هر رویداد cron را ویرایش، حذف و اجرا کنید
- می توانید رویدادها و برنامه های cron را اضافه، حذف کنید
این افزونه WP-cron را غیرفعال نمی کند، اما به شما امکان کنترل بر روی cron jobs را خواهد داد که مدیریت را برای شما آسان خواهد کرد. این یک برنامه منبع باز است و نسخه حرفه ای ندارد.
Wp-cron status checker
می توانید کارهایی را ببینید, که با موفقیت اجرا شده و یا انجام نشده اند. این یک نمای کلی به شما می دهد که می تواند به شما در تصمیم گیری در مورد اقدامات ضروری کمک کند. این یک ابزار عیب یابی عالی است و در هنگام ردیابی مسائلی که به عنوان مشکل شناسایی شده اند, بسیار مفید است.
این افزونه WP-cron را غیرفعال نمی کند بلکه برای نظارت دقیق بر وظایف مدیریت شده توسط WP-cron استفاده می شود تا بتوانید مشاهده کنید چه اتفاقی می افتد. سپس می توانید به راحتی وضعیت cron jobs را ببینید و در صورت بروز مشکل، مطلع شوید.
یک نسخه حرفه ای وجود دارد که به شما این امکان را می دهد که بیش از 3 گزارش را ذخیره کنید و آنها را برای مدت طولانی نگهداری کنید.