Hướng dẫn cách tắt wp-cron và tạo cron mới trên hosting để tăng tốc độ tải trang web WordPress.
Contents
Tại sao Wp-cron lại làm website chạy chậm 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 như: hẹn giờ đăng bài, hẹn auto update WordPress, tự động xóa bài viết đã lưu, tạo bản sao lưu backup plugin, auto gửi ảnh đến sever api litespeed .v.v…
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.
Các vấn đề về hiệu năng với WP-cron
Có 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 tắt 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 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.php từ 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.php cứ 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ó.
(1) 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ác 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
Bước 3
Thêm lệnh sau Thay thế //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 công việc định kỳ mới.
wget -q -O - //domain.com/wp-cron.php?doing_wp_cron> / dev / null 2> & 1
Thêm Cron Job trong Cpanel
(2) 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 hay Cron Trigger – Cloudflare worker.
Chúc bạn thành công!
Nguồn: vinahi