WP Cron là gì? Tắt cron ảo trong WordPress để website nhanh hơn ~ Kiếm Tiền Online

Sunday, February 4, 2024

WP Cron là gì? Tắt cron ảo trong WordPress để website nhanh hơn

wp cron là gì

Lên lịch xuất bản các bài đăng mới trong WordPress, đánh giá các plugin hoặc theme đã có bản mới, tự động backup website … đây đều là những ví dụ điển hình tác vụ được thực hiện lặp đi lặp lại hay gọi tắt là cron.

Chi tiết về Cron hay WP-Cron và cách để tối ưu chúng thì trong bài viết phía dưới sẽ cho bạn biết điều đó.

WP Cron là gì?

Cron là một lệnh để lập lịch tác vụ được tích hợp trong các hệ thống dựa trên Linux, ví dụ như Ubuntu, Debian, Mac OSX… Đối với Windows, tính năng này được gọi là “Task Scheduler“.

Giống như bao hệ thống nói trên WordPress cũng có WP-Cron để chạy các tác vụ được lên lịch sẵn, ví dụ như bài viết được lên lịch tự đăng chẳng hạn hoặc nhiều lịch trình khác mà bạn muốn nó tự chạy trong tương lai.

Tuy nhiên WP-Cron mặc định ở WordPress hoạt động rất máy móc bởi vì nếu có khách truy cập vào website của bạn thì cron nó mới chạy, vậy giả sử website bạn ít hoặc không có khách truy cập thì sao, thì các lịch trình bạn đặt nó lại chạy sai mất rồi vì không có khách truy cập thì nó đâu chạy. Ngược lại nếu khách truy cập nhiều thì sao, thì mỗi 1 khách truy cập cron lại chạy 1 phát, vậy nhiều khách thì nó nhân lên vậy rất tốn tài nguyên máy chủ mà cron toàn chạy vô nghĩa.

wp cron location

Khoảng thời gian mặc định để cron WordPress chạy là hàng giờ, hai lần mỗi ngày, hàng ngày và hàng tuần. Các cron phụ thuộc vào người dùng truy cập trang web của bạn như đã nói ở bên trên nên đây thực sự là 1 bài toán cần tháo gỡ nếu bạn muốn website của bạn được nhanh hơn.

Cron ảo trên WordPress

Trên tiêu đề bài viết mình có viết là cron ảo là vì WP-Cron chỉ được kích hoạt khi có người truy cập trang web, dù cron chạy nhưng rất ảo ? nó không có tác dụng gì rõ ràng mà chỉ làm cho máy chủ bạn quá tải hoặc làm cho các tác vụ được lên lịch trước chạy sai nếu không có khách truy cập mà thôi.

crontab sequence on wp@1x

Vậy làm sao để các tác vụ đã được lên lịch chạy đúng đề nghị mà không ảnh hưởng đến hiệu suất của trang web, đó là bạn sẽ phải lên lịch cron thực để đúng thời khắc cron sẽ chạy và các tác vụ được lên lịch sẽ hoạt động chính xác.

Giả dụ bạn cài đặt cron tự động chạy mỗi 5 phút 1 lần chẳng hạn, hoặc 10 phút nếu không có tác vụ gì cần thiết và nội dung phía dưới sẽ hướng dẫn bạn cách để làm điều đó.

Theo dõi wp-cron.php nào vừa chạy

Nếu bạn muốn xem về WP-Cron nào vừa được chạy và hooks nào được móc và chạy khá đơn giản, sau khi cài plugin bạn có thể vào Công cụ > Cron Logs để xem danh sách các WP-Cron vừa được chạy. Bạn thử mở ẩn danh và truy cập trang web của mình, và sau đó quay lại Công cụ > Cron Logs bạn sẽ thấy nó sẽ có bảng ghi được lưu lại, như vậy càng chứng minh rằng nếu có khách nó mới chạy không khách truy cập thì nó không chạy.

cron log

Công cụ này nhỏ nhẹ và mình thấy bạn hiểu cách wpcron chạy mà thôi, còn nếu bạn muốn tùy chỉnh (thêm, xóa, sửa) các tác vụ được lên lịch, các tác vụ thừa … thì bạn có thể cài plugin Advanced Cron Manager hoặc WP-Cron Crontrol

Tắt WP Cron ảo và bật cron thực để tối ưu website

Để tắt WP Cron mặc định trong WordPress bạn hãy thêm đoạn code sau vào file wp-config.php

define( 'DISABLE_WP_CRON', true );

Thường thêm vào phía cuối file, dưới đoạn /* That’s all, stop editing! Happy blogging. */

Dưới đây là 2 tùy chọn để bạn tối ưu WP Cron nhé, bạn có thể thực hiện theo 1 trong 2 cách nếu bạn thấy thích hợp.

1. Chạy Cron thông qua dịch vụ bên thứ 3

Bạn có thể đăng ký 1 tài khoản tại cron-job.org

Sau khi đăng ký thành công, bạn đăng nhập vào tài khoản và click vào Cronjobs để thiết đặt cron cho WordPress

cronjobs

Tiếp theo click vào CREATE CRONJOBS

click để tạo cronjob

Tiêu đề thì bạn đặt tên website hoặc tên gợi nhớ cronjob, url thì bạn sẽ nhập vào là: https://truongcongthang.com/wp-cron.php?doing_wp_cron (thay truongcongthang.com thành tên miền của bạn nhé)

Mục Execution schedule thì mình thường chọn 5 phút cron sẽ chạy 1 lần, nếu bạn muốn có thể tùy chọn giảm xuống hoặc tăng lên tùy theo đề nghị, ngoài ra nó còn cho phép bạn tùy chỉnh cron chạy theo ý của bạn ở mục Custom

Sau khi tùy chọn xong bạn có thể test thử bằng cách click vào TEST RUN hoặc nhấn CREATE để tạo luôn

tạo cron thực cho wordpress

Vậy là bạn đã thiết đặt cron thực cho WordPress thành công, cách này lệ thuộc vào bên cron-job.org tuy nhiên quá trình tiêu dùng mình thấy khá ổn định, nó không gặp vấn đề gì cả. Bạn có thể tiêu dùng và trải nghiệm.

2. Chạy Cron thực thông hosting

2.1 – Nếu bạn tiêu dùng Cpanel

Nếu bạn tiêu dùng bảng điều khiển Cpanel thì bạn có thể cài đặt Cron bằng cách đơn giản dưới đây.

1. Đăng nhập vào Cpanel
2. Tìm kiếm mục Cron Jobs

cron jobs trong cpanel

Tại đây bạn có thể tùy chọn các phần cấu hình của mình :

  • Common Settings : Tại đây bạn có thể chọn một vài Option có sẳn
  • Minute: Phút
  • Hour: Giờ
  • Day: Ngày
  • Month: Tháng
  • Weekday: Tuần lễ
  • Command: Lệnh thực hiện

Nhấn Add New Cron Job sau khi bạn thêm đủ thông tin xong.

Ví dụ mình thực hiện Command dòng lệnh sau (nhớ thay tên truongcongthang.com thành tên website của bạn)

wget -q -O - https://truongcongthang.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

5 phút chạy cron jobs 1 lần

Vậy là bạn đã cài đặt Cron thực thay cho WP-Cron thành công trên Cpanel rồi.

2.2 – Nếu bạn tiêu dùng Directadmin

Nếu bạn tiêu dùng bảng điều khiển Directadmin bạn cũng dễ dàng tìm thấy phần Cron Jobs ở mục Advanced Features

advanced features cronjob

Bạn nhấn Create Cron Job sau đó cấu hình hình cũng không khác gì so với Cpanel

wget -q -O - https://truongcongthang.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Nhấn Create là xong.

3. Chạy Cron thông qua command line (ssh)

Nếu bạn tiêu dùng VPS bạn có thể tiêu dùng lệnh crontab -e và thêm vào đoạn code phía dưới để chạy cron mỗi 5 phút 1 lần.

*/5 * * * * curl https://truongcongthang.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1

Hoặc code hay dùng ví dụ như chạy trên hệ điều hành Linux bạn có thể chạy

* * * * * /usr/bin/php /path/to/functions.php

Lệnh này chạy file functions.php mỗi phút 1 lần.

4. Chạy Cron thông qua shell_exec

Ngoài 2 cách thường dùng bên trên, bạn có thể tạo 1 file vutruso-cron.php ở thư mục gốc của website (public_html), tiếp theo bạn hãy nhập đoạn code phía dưới đây vào. ( Nhớ thay truongcongthang.com thành tên miền của bạn ? )

<?php// Add cron jobshell_exec("(crontab -l ; echo '*/15 * * * * wget -q -O - https://truongcongthang.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1') | sort | uniq | crontab") ;// Output cron jobs list$output = shell_exec('crontab -l') ;echo "$output" ;?>

Cách này mình không khuyến nghị và có thể 1 số nhà cung cấp host họ sẽ chặn hàm php shell_exec nên có thể bạn tạo file cron thủ công nhưng chúng sẽ không hoạt động được.

Code cơ bản để tạo 1 sự kiện được lên lịch tự động chạy

Tạo cron đơn giản tự động gửi email

Bạn có thể thêm đoạn code này trong file functions.php

add_action('my_hourly_cronjob', 'hourly_action');function hourly_action() {    wp_mail( 'EMAIL_ADDRESS', 'Test email', 'This is a test message' );}if (! wp_next_scheduled ( 'my_hourly_cronjob' )) {    wp_schedule_event(time(), 'hourly', 'my_hourly_cronjob');}

Đoạn code đơn giản bên trên sẽ tự động chạy mỗi 1h 1 lần.

Kết luận

Hy vọng qua bài viết bạn sẽ hiểu cách thực vận hành của WP-Cron, nếu web bạn nhỏ thì có thể bạn chưa quan tâm tới vấn đề này nhưng nếu website của bạn có nhiều khách truy cập hơn thì bạn nên tắt WP-Cron mặc định mà hãy chạy cron thực như mình đề cập trong bài.

Chúc bạn thành công.

Related Posts:

  • WP Super Cache đã gia nhập JetpackWP Super Cache đã gia nhập JetpackJetpack vừa thông tin rằng WP Super Cache là một phần của gia đình Jetpack nhưng đây không phải là một vụ mua lại plugin.Plugin tạo cache nổi tiếng WP Super Cache giúp hơn 2 triệu trang web c… Read More
  • Plugin tìm kiếm và thay thế dữ liệu cho WordPressTìm kiếm và thay thế dữ liệu thường được ứng dụng trong WordPress như thế nào? Có lẽ nếu trả lời được câu hỏi này sẽ không dễ cho những ai mới làm quen với WordPress hoặc những người dùng lâu nhưng chưa trải sự đời?! ?Đùa thế… Read More
  • Plugin WP Cerber Security bị khóa để điều traPlugin WP Cerber Security bị khóa để điều traSau khi bài viết này được đăng mình có tìm hiểu và thấy rằng Plugin WP Cerber Security phiên bản 8.9.3 có dính 1 lỗ hỏng bảo mật nghiêm trọng nên bị WordPress.org khóa, chi tiết về… Read More
  • Sửa lỗi 404 sau khi xóa plugin AMPSửa lỗi 404 sau khi xóa plugin AMPCách đây vài hôm tôi có xử lý tối ưu website cho 1 khách hàng và khách hàng có cài plugin AMP trước kia được dân SEO bảo tai nhau là tối ưu được SEO nhưng theo tôi nó chỉ giúp website nhẹ nên… Read More
  • Cài đặt WP CLI và quản lý WordPress bằng câu lệnh WP CLINgoài quản lý WordPress qua giao diện trực quan thì bạn có thể quản lý WordPress bằng cách tiêu dùng các câu lệnh WP CLI , câu lệnh WP CLI sẽ rất hữu ích cho lập trình viên xử lý các sự cố khi không thể hoặc không muốn đăng n… Read More

0 nhận xét:

Post a Comment

Chăm sóc tóc

DUNG DỊCH TẮM GỘI KHÔ – PH
90.000₫
MẶT NẠ TÓC PHỤC HỒI HƯ TỔN PREMIUM REPAIR MASK 180G – TSUBAKI
225.000₫
BỒ KẾT HOA BƯỞI 300ML – NCT3
340.000₫
DẦU XẢ THẢO DƯỢC BỒ KẾT SẢ CHANH HOA BƯỞI 300ML – TRƯỜNG HƯNG THỊNH
100.000₫
DẦU GỘI THẢO DƯỢC BỒ KẾT SẢ CHANH HOA BƯỞI 300ML – TRƯỜNG HƯNG THỊNH
100.000₫
SERUM DƯỠNG TÓC HOA BƯỞI GIẢM GÃY RỤNG 50ML – POMELO
84.000₫

Quảng cáo

Nổi bật

Cài đặt Thanh Toán Google adsense bằng ngân hàng Vietcombank

Sau khi đã đủ điều kiện rút tiền từ Google Adsense thì bạn cần phải thêm hình thức thanh toán để Google trả tiền cho bạn.Khi kiếm tiền trên ...

a-ads

Máy tính Laptop

44.990.000đ
Laptop LG Gram 2022 17Z90Q-G.AH76A5 (Core-i7 1260P/16GB/512GB/17″ WQXGA/Win 11/Xám)
24.790.000đ
Laptop LG Gram 2021 16ZD90P-G.AX54A5 (i5-1135G7/8GB RAM/512GB SSD/16″WQXGA/Dos/Trắng)
14.590.000đ
Laptop Acer Gaming Aspire 7 A715-42G-R4ST NH.QAYSV.004 (R5 5500U/8GB RAM/256GB SSD/15.6″FHD IPS/GTX1650 4GB/Win10) – Hàng chính hãng
15.190.000đ
Laptop Acer Aspire 3 A315-58G-50S4 (Core i5 1135G7/8GB RAM/512GB/15.6″FHD/MX350 2GB/Win 10/Bạc)
21.990.000đ
Laptop Acer Swift 5 SF514-55TA-59N4 NX.A6SSV.001 (i5-1135G7/16GB RAM/1TB SSD/14″FHD_Touch/Win10/Xanh) – Hàng chính hãng
14.890.000đ
Laptop Acer Aspire 5 A514-54-59QK (Core i5 1135G7/8GB RAM/512GB/14″FHD/Win 11/Vàng)

Vay Online

(x)
(x)
Day noi mi | Hoc noi mi | Noi mi dep | Trung tam day nghe toc | Day cat toc | Day nghe toc | Hoc cat toc | Hoc cat toc o Ha Noi | Hoc cat toc tai Ha Noi | Thuoc chua benh a sung
Dau goi Kafen | Dau xa Kafen | Giao trinh day cat toc | Mua ban rao vat | Dang rao vat | Dien dan rao vat | Rao vat mien phi | Trang rao vat

Mua Hang Gia Re / Cho Dien Tu / Mua Hang Online Uy Tin / Sim So Dep / Mua Hang Online / Dung Cu Cat / Dung Cu Cat Gia Re / Ban Buon Dung Cu Cat / Hoc Cat Toc / Dang Rao Vat / Dien dan Rao Vat / Trang Rao Vat / Day Noi Mi / Rao Vat Cho Tot / Quang Cao Rao Vat / Camera Quan Sat / Cac Website Rao Vat / My Pham Nganh Toc / Phu Kien Nganh Toc / Phuong Phap Tap Gym / Kiem Tien Tren Mang / Trung Tam Day Nghe Toc / VPS Gia Sieu Re / VPS Gia Sieu 10K / Thiet Ke Web Gia Re / Bat Dong San