WP-Cron wordpress là gì ?

WP-Cron trong WordPress là một hệ thống lập lịch được tích hợp sẵn giúp quản lý các công việc lập lịch tự động trên trang web WordPress của bạn. Điều này bao gồm việc thực thi các tác vụ như việc đăng bài mới, cập nhật các plugin và theme, xóa các bài viết cũ tự động, và nhiều tác vụ khác.

Hệ thống WP-Cron được thiết kế để hoạt động tương tự như Cron Jobs trong hệ thống máy chủ, nhưng nó hoạt động dựa trên các yêu cầu HTTP đến trang web của bạn. Khi một người dùng truy cập vào trang web của bạn, WP-Cron sẽ kiểm tra xem có các tác vụ nào cần được thực hiện trong thời gian gần đó không. Nếu có, nó sẽ thực thi chúng.

Tuy nhiên, một nhược điểm của WP-Cron là nó phụ thuộc vào lưu lượng truy cập của người dùng để hoạt động. Nếu trang web của bạn không nhận được lưu lượng đủ lớn, có thể dẫn đến việc các tác vụ lập lịch không được thực hiện đúng lúc. Để giải quyết vấn đề này, bạn có thể cài đặt một cron job trên máy chủ của mình để gọi WP-Cron định kỳ, giúp đảm bảo các tác vụ lập lịch được thực hiện đúng lúc.

Tại sao bạn nên vô hiệu hóa WP-Cron?

Vô hiệu hóa WP-Cron và thay vào đó sử dụng Cron Job trên máy chủ có thể mang lại một số lợi ích:

  1. Kiểm soát chính xác thời gian: Khi sử dụng WP-Cron, thời gian thực thi của các tác vụ lập lịch phụ thuộc vào lưu lượng truy cập trang web. Điều này có thể dẫn đến việc các tác vụ không được thực hiện đúng lúc. Bằng cách sử dụng Cron Job trên máy chủ, bạn có thể kiểm soát chính xác thời gian thực hiện các tác vụ.
  2. Tăng hiệu suất: Nếu trang web của bạn có lưu lượng truy cập lớn, việc thực hiện WP-Cron mỗi lần có người truy cập có thể tăng tải cho máy chủ và làm giảm hiệu suất của trang web. Bằng cách sử dụng Cron Job, bạn có thể giảm tải cho máy chủ bằng cách lên lịch thực hiện các tác vụ lập lịch trong khoảng thời gian ít tốn kém.
  3. Đảm bảo độ tin cậy: WP-Cron có thể bị ảnh hưởng bởi lưu lượng truy cập không đều, hoặc có thể bị chặn bởi các plugin hoặc cấu hình máy chủ. Sử dụng Cron Job trên máy chủ giúp đảm bảo rằng các tác vụ lập lịch sẽ được thực hiện đúng lúc mà không phụ thuộc vào lưu lượng truy cập hoặc các vấn đề khác.

Tóm lại, việc vô hiệu hóa WP-Cron và sử dụng Cron Job trên máy chủ có thể cải thiện hiệu suất và độ tin cậy của trang web WordPress của bạn.

Hướng dẫn Vô hiệu hóa WP-Cron

Để vô hiệu hóa WP-Cron và thay thế bằng Cron Job trên máy chủ, bạn cần thực hiện các bước sau:

Tất cả những gì bạn cần làm là thêm đoạn code sau đây vào file wp-config.php của WordPress rồi lưu lại:


define('DISABLE_WP_CRON', true);

Lưu ý là nó phải nằm trên dòng ghi chú này:

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

Code bên trên có tác dụng ngăn không cho WP-Cron tự động chạy mỗi khi load web. Bạn vẫn hoàn toàn có thể gọi nó trực tiếp thông qua file wp-cron.php.

Chạy Cron Job bằng host

au khi vô hiệu hóa WP-Cron, các bạn sẽ cần phải thiết lập Cron Job trên host để đảm bảo website WordPress vẫn hoạt động một cách bình thường.

Host cPanel

1. Truy cập cPanel của bạn, tìm mục Cron Jobs và click vào đó.

2. Trong giao diện Add New Cron Job, các bạn sẽ nhìn thấy một số mục như sau.

Trong đó:

  • Common Settings: các bạn nên chọn mức Twice Per Hour (2 lần mỗi giờ) để tránh gây ảnh hưởng nhiều đến hiệu suất của host. Hệ thống sẽ tự điền giá trị vào các mục MinuteHourDayMonth và Weekday nằm bên dưới.
  • Command: các bạn điền dòng lệnh như sau.
wget -q -O - https://domain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Nhớ thay domain.com bằng domain của bạn.

Click vào nút Add New Cron Job để hoàn tất.

Host DirectAdmin

1. Truy cập DirectAdmin của bạn, tìm mục Cron Jobs và click vào đó.

2. Click tiếp vào mục Create Cron Job.

3. Trong giao diện Create Cron Job, các bạn sẽ nhìn thấy một số mục như sau.

Trong đó:

  • Minute: điền */5 để chạy Cron Job mỗi 5 phút một lần. Để mặc định giá trị là * trong các mục HourDay of MonthMonthDay of Week.
  • Command: các bạn điền dòng lệnh như sau.
wget -q -O - https://domain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Nhớ thay domain.com bằng domain của bạn.

Click vào nút Create để hoàn tất.

Kiểm tra hoạt động:

  • Làm mới trình quản lý Cron Jobs trên máy chủ của bạn để đảm bảo rằng công việc mới đã được thêm vào.
  • Kiểm tra xem WP-Cron đã được vô hiệu hóa bằng cách vào wp-config.php và đảm bảo rằng đoạn mã define('DISABLE_WP_CRON', true); đã được thêm vào.
  • Đợi một vài phút và kiểm tra xem các tác vụ lập lịch có được thực hiện theo kế hoạch không.

Khi bạn thực hiện các bước này, WordPress sẽ không chạy WP-Cron mỗi khi có người truy cập vào trang web, thay vào đó, nó sẽ chạy theo lịch trình được đặt bởi Cron Job trên máy chủ. Chúc bạn thành công !

0 0 votes
Đánh giá bài viết
Tiên Viết
Mình là Tiên. 9 tuổi, mê công nghệ từ nhỏ đến giờ vẫn còn mê. Sau nhiều năm tìm hiểu, học hỏi giờ đã trở thành "Thợ cài win dạo". Với kinh nghiệm cài win dạo nhiều năm mình lập blog này để chém gió tào lao về công nghệ thông tin.
Theo dõi
Thông báo về
guest

0 Comments
Inline Feedbacks
View all comments