Dưới đây là cách Disable wp-cron và tạo cron mới trên hosting giúp website của bạn load nhanh hơn. Để cho các bạn chưa biết Wp-cron làm gì thì nôm na có thể hiểu như sau: các công việc CRON(Cron Job)  được sử dụng để lên lịch một hoặc nhiều nhiệm vụ vào thời gian cố định trên trang web WordPress của bạn. Ví dụ như bạn có thể lên lịch để xuất bản bài viết, kiểm tra cập hoặc các plugins, hoặc các công việc mà bạn đã cài đặt cho WP Cron.

Cách Disable wp-cron
Cách Disable wp-cron

Tại sao Wp-cron lại có thể làm website bạn chạy chậm hơn?

Trong WordPress, đều có các cronjob riêng được tích hợp thẳng vào mã nguồn để thực thi một số việc có tính lặp đi lặp lại như kiểm tra phiên bản mới, xóa các bình luận trong thùng rác, hoặc một số tính năng mà plugin/theme có sẵn.

Một đặc điểm của việc WP Cron dùng nhiều tài nguyên đó là tập tin wp-cron.php luôn chạy với mức sử dụng CPU cao, cái này bạn chỉ có thể xem được khi xem với lệnh top trong máy chủ Linux.

Và nếu website của bạn có lượng khách truy cập nhất định và CronJob được chạy ngầm như vậy nó sẽ ảnh hưởng đến thời gian tải trang của bạn. Khi CPU hoạt động 100% thì đồng nghĩa với việc website của bạn lúc này không thể vào được hoặc khi truy cập vào thì nó cứ xoay tròn  và chờ rất lâu để có thể chuyển đổi giữa các trang.

Vì vậy, hôm nay Vinahi sẽ chỉ cho bạn cách vô hiệu hóa WP-Cron ( wp-cron.php) và chúng tôi sẽ chỉ cho bạn cách để sử dụng Cron một cách hiệu quả mà vẫn tối ưu hóa được website của bạn.

Các vấn đề về hiệu năng với WP-Cron

Vinahi đã từng tối ưu tốc độ tải trang cho nhiều trang web có lưu lượng truy cập cao. Vì thế, chúng tôi đã thấy rất nhiều vấn đề về hiệu năng với trình xử lý Cron tích hợp trong WordPress: WP-Cron. Trước hết, điều quan trọng là phải hiểu rằng WP-Cron không phải là một công việc định kỳ thực sự, nó chỉ đơn giản là những gì WordPress đã tạo ra để hoạt động như một Cron hệ thống.

Theo mặc định thì Wp cron không chạy liên tục mà các tác vụ wp-cron.php sẽ chạy trên mỗi lần tải trang khi một ai đó truy cập vào website của bạn, Với những website có traffic về không cao thì việc thực hiện các tác vụ này tần suất lặp lại không nhiều. Nhưng với các website đang trong giai đoạn đi backlink hoặc sàn TMĐT, kinh doanh bán hàng online, các landing page quảng cáo tạo phiễu thì traffic cao dẫn đến tiêu tốn nhiều tài nguyên cho Hosting.

Và ngược lại khi website bạn không có nhiều lưu lượng truy cập, do đó cronjob không được xử lý vì không có ai đã truy cập vào trang web của bạn.

Một cách tối ưu là vô hiệu hóa WP-Cron và sử dụng hệ thống Cron. Điều này chạy theo một lịch trình được xác định trước và thậm chí được khuyến nghị bởi WordPress Plugin Handbook.

Cách Disable wp-cron giúp website load nhanh hơn

Để tắt WP-Cron, hãy thêm dòng sau vào tập tin wp-config.php của bạn , ngay trước dòng có nội dung và lưu lại vậy là bạn đã tắt được Wp-Cron rồi đó. Lưu ý: Điều này vô hiệu hóa nó chạy trên tải trang, không phải khi bạn gọi nó trực tiếp qua wp-cron.php.

define('DISABLE_WP_CRON', true);
cách tắt WP-Cron trong wp-config
Cách Disable wp-cron trong wp-config

Làm thế nào để lên lịch Cron hệ thống

Sau khi bạn đã vô hiệu hóa WP-Cron, thì bạn sẽ cần phải lên lịch wp-cron.phptừ máy chủ của bạn. Tin tuyệt vời là thường thì các máy chủ web đã hỗ trợ cron và được kích hoạt tự động wp-cron.phpcứ sau 15 phút theo mặc định. Tức là cứ sau 15 phút máy chủ sẽ thực hiện các lịch trình CronJob nó đang có.

Tạo Cron trên hosting với cPanel

Nếu bạn đang sử dụng máy chủ lưu trữ với cPanel, bạn cũng có thể tạo cron hệ thống từ bảng điều khiển của họ. Lưu ý: đảm bảo bạn vô hiệu hóa WP-Cron mặc định ở trên trước.

Bước 1

Đăng nhập vào cPanel. Trong phần Nâng cao, nhấp vào Cron Jobs.

Cách Tạo một CronJob bằng Cpanel
Cách Tạo một Cron trên hosting bằng Cpanel

Bước 2

Trong phần Thêm công việc định kỳ mới, bạn có thể chọn từ một số lịch trình được xác định trước khác nhau, chẳng hạn như hai lần mỗi giờ hoặc một lần mỗi tuần. Nhà cung cấp dịch vụ lưu trữ của bạn rất có thể có giới hạn về tần suất họ cho phép các công việc định kỳ được chạy. Hai lần mỗi giờ là một cài đặt chung cho các máy chủ được chia sẻ.

cài đặt Cronjob trong Cpanel
cài đặt Cronjob trong Cpanel

Bước 3

Thêm lệnh sau. Thay thế https://domain.com bằng tên miền của bạn. Lệnh này có thể thay đổi một chút dựa trên cách lưu trữ của bạn được cấu hình. Sau đó bấm vào Thêm Thêm công việc định kỳ mới.

wget -q -O - https://domain.com/wp-cron.php?doing_wp_cron> / dev / null 2> & 1
Thêm Cron Job trong Cpanel
Thêm Cron Job trong Cpanel

Cron với giải pháp của bên thứ ba

Nếu bạn không thoải mái với việc thiết lập các công việc định kỳ trên máy chủ của mình hoặc nhà cung cấp dịch vụ lưu trữ của bạn không cung cấp quyền truy cập, bạn cũng có thể sử dụng giải pháp của bên thứ ba như EasyCron.

Tổng kết

Phía trên là một hướng dẫn nhỏ để bạn có thể vô hiệu hóa các Wp-cron mặc định của wordpress và thay vào đó là sử dụng hệ thống Cron được máy chủ cung cấp.

Vì đây là kinh nghiệm của Vinahi dựa trên việc tối ưu cũng như sử dụng wordpress vì vậy có thể sẽ có sai xót, chính vì vậy rất mong nhận được sự nhận xét từ các bạn. Nếu bài viết trên giúp ích được bạn hãy Like và chia sẻ bài viết này nhé.

Cảm ơn.

0786 620786