Vô hiệu hóa, thay thế WP-Cron bằng Cron hệ thống

WP-Cron là một phiên bản mô phỏng không hoàn chỉnh của Cron hệ thống. Nó được sử dụng để lên lịch thực hiện các tác vụ định kỳ trên WordPress, như: lên lịch xuất bản bài viết, kiểm tra cập nhật, xóa cache, backup… Tuy nhiên, không giống như Cron hệ thống, WP-Cron sẽ chỉ được kích hoạt mỗi khi có khách truy cập vào trang web. Nó sẽ kiểm tra và thực hiện các tác vụ đã được lên lịch trước đó. Điều này không chỉ làm tăng thêm số lượng HTTP/HTTPS requests mà còn có thể ảnh hưởng xấu đến hiệu suất của website.

Lấy ví dụ với những trang web nhỏ, không có nhiều lượt truy cập, các tác vụ đã được lên lịch trước đó sẽ không thể thực hiện đúng giờ. Trong trường hợp website có lượng truy cập lớn hoặc bị DDoS, số lần WP-Cron được kích hoạt sẽ rất nhiều, làm tiêu tốn tài nguyên hệ thống. Vậy làm thế nào để vô hiệu hóa WP-Cron và thay thế bằng Cron hệ thống?

Vô hiệu hóa WP-Cron

Việc vô hiệu hóa WP-Cron cũng rất đơn giản, các bạn chỉ cần vào thư mục chứa WordPress, tìm file wp-config.php và thêm vào:

define( 'DISABLE_WP_CRON', true );

Lưu ý là nó phải nằm giữa 2 dòng:

/* Add any custom values between this line and the "stop editing" line. */



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

Tạo Cron hệ thống thay cho WP-Cron

Sau khi vô hiệu hóa WP-Cron, các bạn cần phải thiết lập Cron Job để website hoạt động bình thường.

cPanel

1. Đăng nhập cPanel, tìm và chọn Cron Jobs (có thể dùng công cụ tìm kiếm).

2. Ở phần Common Settings các bạn điền giống như ảnh bên dưới, chọn Add New
Cron Job
khi hoàn tất.

Trong đó:

  • Minute: điền */15 để chạy Cron Job mỗi 15 phút một lần (thay đổi tùy theo nhu cầu).
  • Hour, Day, Month, Weekday: để * như mặc định.
  • Command: các bạn để điền như bên dưới (thay đổi tên miền và https nếu có).
wget -q -O - http: www.domain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

DirectAdmin

1. Đăng nhập vào DirectAdmin, tìm và chọn Cron Jobs hoặc Create Cron Job (có
thể dùng công cụ tìm kiếm).

2. Chọn tiếp Create Cron Job (nếu như chọn Cron Jobs ở bước 1).

3. Trong giao diện Create Cron Job, các bạn sẽ nhìn thấy giao diện như bên dưới:

Trong đó:

  • Minute: điền */15 để chạy Cron Job mỗi 15 phút một lần (thay đổi tùy theo nhu cầu).
  • Hour, Day, Month, Weekday: để * như mặc định.
  • Command: các bạn để điền như bên dưới (thay đổi tên miền và https nếu có).

Không phải cPanel hay DirectAdmin

Mỗi panel lại có giao diện khác nhau nên cách tạo Cron cũng có chút khác. Nhưng
về cơ bản thì những lệnh để thực thi Cron là giống nhau. Các bạn có thể tham khảo
những cách bên dưới, nhớ thay đổi cho phù hợp:

wget -q -O - http: www.domain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
curl http: www.domain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
cd /home/user/public_html; php wp-cron.php >/dev/null 2>&1

Tổng kết

Bằng cách vô hiệu hóa WPCron và thay thế bằng Cron hệ thống, bạn có thể đảm
bảo rằng các tác vụ định kỳ trên WordPress sẽ được thực hiện đúng giờ và hiệu
quả hơn. Điều này giúp giảm tải cho máy chủ, cải thiện hiệu suất của trang web và
tránh được các vấn đề tiềm ẩn liên quan đến số lượng truy cập.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *