How to Configure WordPress Cron Jobs on Hostinger (Complete Setup Guide)

How to Configure WordPress Cron Jobs on Hostinger (Complete Setup Guide)

WordPress uses a built-in scheduling system called WP-Cron to handle automated tasks such as publishing scheduled posts, checking updates, sending emails, running backups, and executing plugin tasks.

By default, WordPress does not use a real server cron job. Instead, it triggers wp-cron.php whenever someone visits your website. On low-traffic websites, this can cause scheduled tasks to run late. On high-traffic websites, it can create unnecessary server load.

A better solution is to disable WordPress’s default cron and configure a real Hostinger Cron Job.

This guide explains the complete setup.


Step 1: Disable WordPress Built-in WP-Cron

First, disable the default WordPress cron system.

Open:

Hostinger hPanel → Files → File Manager

Go to your WordPress installation folder:

public_html

Find and edit:

wp-config.php

Add this line before:

/* That's all, stop editing! Happy publishing. */

Add:

define('DISABLE_WP_CRON', true);

Your file should look like:

define('DISABLE_WP_CRON', true);

/* That's all, stop editing! Happy publishing. */

Save the file.


Step 2: Create a Cron Job in Hostinger

Go to:

Hostinger hPanel
→ Advanced
→ Cron Jobs

Click:

Create Cron Job

Step 3: Add the Cron Command

In:

Command to Run

add:

wget -q -O - https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Replace:

yourdomain.com

with your actual website address.

Example:

wget -q -O - https://suitepress.org/wp-cron.php?doing_wp_cron >/dev/null 2>&1

This command silently runs WordPress scheduled tasks.


Step 4: Configure Cron Schedule

Hostinger provides common settings and custom scheduling.

For most WordPress websites, use:

*/5 * * * *

Meaning:

FieldValue
MinuteEvery 5 minutes
HourEvery hour
DayEvery day
MonthEvery month
WeekdayEvery day

If Hostinger shows individual dropdowns:

Set:

Minute

Every 5 minutes (*/5)

Hour

Every hour (*)

Day

Every day (*)

Month

Every month (*)

Weekday

Every day (*)

Then save.


Alternative: Run Every Minute

For websites using:

  • WooCommerce
  • Membership systems
  • Email automation
  • Booking plugins

you can use:

* * * * *

This runs every minute.

Command:

wget -q -O - https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Step 5: Verify the Cron Job

Open:

https://yourdomain.com/wp-cron.php?doing_wp_cron

Example:

https://suitepress.org/wp-cron.php?doing_wp_cron

A blank page is normal.

wp-cron.php usually does not display a success message.


Step 6: Check Cron Execution in Hostinger

Go to:

Hostinger hPanel
→ Advanced
→ Cron Jobs

You should see something like:

*/5 * * * *

wget -q -O - https://suitepress.org/wp-cron.php?doing_wp_cron >/dev/null 2>&1

or:

* * * * *

wget -q -O - https://suitepress.org/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Step 7: Test Output (Optional)

Because the command hides output:

>/dev/null 2>&1

Hostinger may show an empty output.

For testing, temporarily change the command:

wget -O - https://yourdomain.com/wp-cron.php?doing_wp_cron

After testing, restore:

wget -q -O - https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Step 8: Check WordPress Cron Events

Install:

WP Crontrol

Then go to:

WordPress Dashboard
→ Tools
→ Cron Events

You can see:

  • Scheduled tasks
  • Next execution time
  • Failed cron events

Recommended Cron Frequency

Website TypeRecommended Schedule
Personal blogEvery 15 minutes
Business websiteEvery 5 minutes
WooCommerce storeEvery 1–5 minutes
Membership websiteEvery 1 minute
News websiteEvery 1–5 minutes

Common Problems

Cron runs but tasks are still delayed

Check:

define('DISABLE_WP_CRON', true);

exists in:

wp-config.php

Blank page when opening wp-cron.php

This is normal.

A blank response usually means:

  • WordPress cron file loaded
  • No visible output was generated

Cron runs too often

Check your schedule.

Example:

* * * * *

runs every minute.

Example:

*/5 * * * *

runs every 5 minutes.


Final Recommended Hostinger WordPress Cron Setup

wp-config.php

define('DISABLE_WP_CRON', true);

Cron Command

wget -q -O - https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Cron Schedule

*/5 * * * *

This setup gives WordPress reliable scheduled tasks with less server overhead and better performance.