WordPress là một nền tảng mạnh mẽ với nhiều tính năng tiện ích, nhưng một trong những tính năng có thể ảnh hưởng đến hiệu suất và bảo mật là cron jobs tự động. Trong bài viết này, tôi sẽ hướng dẫn bạn cách tắt cron trong WordPress, giúp tăng tốc website và ngăn ngừa tấn công DDoS hiệu quả hơn.
Cron trong WordPress là gì?
Cron trong WordPress là một công cụ quản lý các tác vụ tự động trên máy chủ. Wp-cron.php trong WordPress chịu trách nhiệm thực thi các tác vụ tự động như kiểm tra bản cập nhật, gửi email thông báo, xóa bản nháp cũ và nhiều tác vụ bảo trì khác. Tuy nhiên, cron tự động WordPress không thực sự chạy theo lịch trình định kỳ, mà nó được kích hoạt mỗi khi có một người dùng truy cập vào trang web.
Điều này có thể gây ra vấn đề về hiệu suất nếu website có lượng truy cập cao và đặc biệt là nguy cơ bị tấn công DDoS.
Tại sao bạn nên tắt cron trong WordPress?
Cải thiện hiệu suất website
Khi wp-cron.php chạy mỗi khi có người truy cập vào trang web, nó có thể làm chậm tốc độ tải trang, đặc biệt nếu website của bạn có lưu lượng truy cập cao. Nếu bạn tắt cron tự động WordPress, website của bạn sẽ không phải thực thi các tác vụ không cần thiết mỗi lần người dùng truy cập, giúp giảm thiểu tình trạng quá tải server và nâng cao tốc độ website.
Ngăn ngừa tấn công DDoS
Một trong những mối nguy hiểm lớn khi để wp-cron.php chạy tự động là khả năng bị kẻ tấn công lợi dụng để gây tấn công DDoS. Nếu kẻ tấn công gửi hàng loạt yêu cầu đến wp-cron.php, nó có thể làm quá tải server của bạn. Việc tắt cron WordPress và thiết lập một cron job thực tế sẽ giúp giảm thiểu nguy cơ này.
Cách Tắt Cron trong WordPress
Để tắt cron tự động trong WordPress, bạn cần thay đổi một chút trong file cấu hình của website.
Bước 1: Mở file wp-config.php
Truy cập vào thư mục gốc của website WordPress (thường là nơi có các thư mục như wp-content, wp-admin và wp-includes). Mở file wp-config.php bằng một trình soạn thảo văn bản.
Bước 2: Thêm dòng mã tắt cron
Thêm dòng mã sau vào file wp-config.php, ngay trước dòng /* That's all, stop editing! Happy blogging. */:
define('DISABLE_WP_CRON', true);
Bước 3: Lưu file và tải lại website
Lưu file wp-config.php và tải lại trang web của bạn. Sau khi thực hiện thay đổi này, WordPress sẽ không tự động gọi wp-cron.php mỗi khi có người dùng truy cập.
Thay Thế Cron Tự Động Bằng Cron Job Thực Tế
Sau khi tắt wp-cron.php, bạn cần thiết lập một cron job thực tế để đảm bảo các tác vụ cron vẫn được thực hiện định kỳ. Việc này giúp tối ưu hóa hiệu suất WordPress và đảm bảo không gặp phải tình trạng bị tấn công DDoS.
Truy cập vào cPanel hoặc Terminal
- Nếu bạn sử dụng cPanel, vào mục Cron Jobs.
- Nếu bạn sử dụng VPS hoặc máy chủ Linux, truy cập vào terminal và sử dụng lệnh
crontab.
Thêm Cron Job
Thêm lệnh cron để gọi wp-cron.php mỗi 15 phút (hoặc theo thời gian bạn muốn):
*/15 * * * * /usr/bin/php /path/to/your/wordpress/wp-cron.php
Thay /path/to/your/wordpress/ bằng đường dẫn thực tế đến thư mục chứa website WordPress của bạn.
Kiểm tra Cron Job
Kiểm tra cron job trên server của bạn để đảm bảo nó chạy đúng theo lịch trình. Bạn có thể thử chạy thủ công để kiểm tra xem tác vụ cron có thực thi đúng cách không.
Chặn Truy Cập wp-cron.php từ Bên Ngoài
Để bảo vệ wp-cron.php khỏi tấn công DDoS và hạn chế việc truy cập trái phép, bạn nên chặn truy cập từ bên ngoài. Bạn có thể làm điều này bằng cách chỉnh sửa file .htaccess (cho Apache) hoặc cấu hình Nginx (nếu bạn sử dụng server Nginx).
Chặn Truy Cập wp-cron.php (Apache)
Thêm đoạn mã sau vào file .htaccess của bạn:
<Files wp-cron.php>
Order Deny,Allow
Deny from all
Allow from YOUR_SERVER_IP
</Files>
Thay YOUR_SERVER_IP bằng địa chỉ IP của server của bạn.
Chặn Truy Cập wp-cron.php (Nginx)
Thêm đoạn mã sau vào cấu hình server Nginx:
location = /wp-cron.php {
allow YOUR_SERVER_IP;
deny all;
}
Kết Luận
Tắt cron tự động trong WordPress và thay thế bằng cron job thực tế là một bước quan trọng để tối ưu hiệu suất và bảo mật cho website của bạn. Việc này không chỉ giúp giảm tải cho server mà còn bảo vệ website WordPress khỏi các cuộc tấn công DDoS. Đừng quên thường xuyên kiểm tra cron job và đảm bảo rằng các tác vụ cần thiết vẫn được thực hiện đúng cách.