WP Crontrol (plugin)

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen

WP Crontrol, aka. WP-Cron is probably comparable to Poor man's cron on Drupal: A way to execute stuff on a regular basis, or to execute scripts piece meal, if they would otherwise be too big to be executed at once:

The "wp-crontrol" plugin for WordPress is a useful tool for managing and monitoring scheduled tasks, also known as cron jobs, in your WordPress site. It allows you to view and control when and how various background tasks are executed. While it's not a mandatory plugin for all WordPress/WooCommerce websites, it can be beneficial in certain situations. Here are some considerations to help you decide whether you need it:

  1. Monitoring Cron Jobs: If you have a complex WordPress site with many scheduled tasks, the wp-crontrol plugin can help you monitor them. This can be particularly useful if you want to ensure that critical tasks, such as WooCommerce-related tasks, are running as expected
  2. Debugging: If you encounter issues related to scheduled tasks not working as intended, wp-crontrol can assist in debugging. You can view the list of scheduled tasks and check for errors or conflicts
  3. Manual Control: With wp-crontrol, you can manually trigger or disable specific cron jobs. This can be useful if you need to run a task immediately or temporarily suspend one
  4. Maintenance It's helpful for maintenance tasks, such as clearing expired transients or optimizing your database, as you can schedule or manage them more effectively
  5. WooCommerce: If you're running WooCommerce on your site, certain tasks, like order processing, may depend on scheduled actions. Wp-crontrol can help ensure these tasks are executing correctly.

That said, if your WordPress site is relatively simple and doesn't rely heavily on scheduled tasks, or if you're not encountering any issues related to scheduled tasks, you may not need wp-crontrol. WordPress handles most background tasks automatically, and you can rely on the default cron system.


wp plugin install wp-crontrol
wp-crontrol installed

Is this plugin actually used?

To determine if the "wp-crontrol" plugin is actively being used on a WordPress/WooCommerce site or if it's sitting idle, you can take the following steps:

  1. Check the List of Scheduled Tasks:
    1. Log in to your WordPress admin dashboard.
    2. Navigate to the "Tools" section in your WordPress admin menu.
    3. Look for the "Cron Events" or "Cron Control" option. This is where wp-crontrol typically provides its functionality.
  2. Once you access the Cron Events or Cron Control section, you'll see a list of scheduled tasks and events. This list will show you which tasks are currently scheduled, when they are set to run, and other relevant details.
  3. Review the Scheduled Tasks:
    1. Examine the list of scheduled tasks and look for any tasks related to the wp-crontrol plugin or any other tasks that you might have set up.
    2. If you see tasks related to wp-crontrol or tasks that you recognize, it indicates that the plugin is actively being used.
  4. Analyze Task Execution: You can also check when these tasks were last executed. If a task related to wp-crontrol has not run for a long time, it might suggest that it's not actively being used.
  5. Test the Manual Control: If you're not sure whether the plugin is actively used or needed, you can test the manual control features of wp-crontrol. Try manually triggering a task and see if it has any impact on your site's functionality or performance.

By following these steps, you can assess whether the wp-crontrol plugin is actively used on your site. If you find that it's not being used for any important tasks or maintenance and doesn't impact your site's functionality, you can consider deactivating and uninstalling it to keep your WordPress site clean and reduce unnecessary plugins. However, exercise caution and make sure you have a backup in case any issues arise during the process.

Better alternatives?

Yes, there are alternative and more efficient ways to run recurrent jobs or scheduled tasks in WordPress/WooCommerce sites, especially for critical and performance-sensitive tasks. Here are some of the better approaches:

  • Server Cron Jobs: Instead of relying solely on WordPress's built-in cron system, you can set up server-level cron jobs. This is generally more reliable and efficient because it doesn't rely on site visits to trigger tasks. Most hosting providers offer a control panel or command-line interface for configuring server cron jobs
  • WP-CLI: WP-CLI is a command-line tool for managing WordPress. It allows you to schedule and run tasks directly from the server's command line. This can be a more reliable way to execute recurring tasks
  • Custom Code: You can create custom code to schedule and manage tasks using WordPress hooks and functions. For example, you can use the wp_schedule_event function to set up recurring tasks in your theme's functions.php file or in a custom plugin. This gives you full control over when and how tasks are executed
  • Third-Party Solutions: Depending on the type of tasks you need to perform, you might consider using third-party services like AWS Lambda, Google Cloud Functions, or a specialized WordPress task scheduler plugin like WP Crontrol, WP Control, or WP Scheduled Posts. These solutions can offer more control and scalability
  • Managed Hosting: Some managed WordPress hosting providers offer optimized solutions for handling scheduled tasks and background processing. They may provide better performance and reliability for these tasks.

Migrate to server cron jobs

Switching from using a WordPress plugin like "wp-crontrol" to server cron jobs involves configuring your server to run scheduled tasks via the server's cron scheduler, typically using the crontab on Unix-based systems. Here's a step-by-step guide to make this transition:

  • Identify Your Scheduled Tasks: First, make a list of all the scheduled tasks you were managing with wp-crontrol. You'll need this list to set up server cron jobs for each task.
  • Edit the Crontab: Use SSH to connect to your server, and open your user's crontab file for editing. The command to open your crontab varies depending on your server's operating system
  • Add Server Cron Jobs: For each scheduled task you identified in step 1, add a corresponding cron job to your crontab
  • Test and Monitor: Monitor your server cron jobs to ensure they are running as expected. You can use log files or output redirection to capture any output or errors generated by your tasks
  • Remove wp-crontrol: After confirming that your server cron jobs are working as expected, you can deactivate and uninstall the "wp-crontrol" plugin from your WordPress site.