Cron job là gì?

“Những việc được lập lịch được diễn ra một cách tự động”

Tại sao phải dùng Cronjob của host mà không dùng Cron của WordPress?

Cron của WordPress hoạt động thế nào?

Vì không phải host nào cũng hỗ trợ cronjob nên wordpress có cơ chế schedule và cron tương tự. Cụ thể là các task được lập lịch trước, mỗi lần có người vào thăm web, wordpress sẽ kiểm tra và thực hiện task nếu có. Điều này có thể làm ảnh hưởng đến tốc độ site nếu phải thưc hiện những task chiếm nhiều tài nguyên.

Giải pháp

Vậy, giải pháp là ta sẽ cho chạy các task được lập kịch một cách tự động (không chạy mỗi lần có người viếng thăm website)

Cài đặt cronjob.

Để làm điều này, hosting control panel của bạn phải có hỗ trợ cài đặt cronjob.

Đăng nhập vào cPanel.

Trong Advanced, nhấp vào Cronjobs.

Bên dưới Add New Cron Job, Common Settings: chọn “Once an hour”

Command: wget -O /dev/null http://domain.com/wp-cron.php?doing_wp_cron

cpanel-wp-cron

Mục đích của chuyện này:  truy cập vào wp-cron.php mỗi giờ một lần (Once an hour), bạn cũng có thể chọn khoảng thời gian khác (hai giờ 1 lần, 1 ngày 1 lần….) nếu cần thiết.

Vô hiệu hóa cron của wordpress

Vì ta đã cài đặt để server gọi wp-cron.php mỗi giờ (theo trên) nên ta không cần wordpress thực hiện cron như bình thường nữa.

Chỉnh sửa file wp-config.php và thêm/sửa dòng này

define( 'DISABLE_WP_CRON', true );

Nếu bạn chạy multisite thì bạn cần cài đặt cronjob cho từng site (cả site chính và các site con)

Đối với site chính: http://yournetwork.com/wp-cron.php?doing_wp_cron

Đối với các site con: tùy vào set up của bạn mà nó có thể là

http://yournetwork.com/subsite/wp-cron.php?doing_wp_cron

hoặc

http://subsite.yournetwork.com/wp-cron.php?doing_wp_cron