Chức năng cơ bản giúp lên lịch cho các bài đăng trong WordPress có thể được gọi là một cronjobs trực tiếp và đôi khi nó không chạy như mong đợi. Tuy nhiên, có một vài cách bạn có thể ngăn chặn vấn đề này xảy ra trong quá trình hoạt động website của bạn.
Trong bài viết này, mình sẽ cho bạn thấy lỗi lịch trình bị bỏ lỡ trông như thế nào và tìm hiểu sâu hơn về lý do tại sao nó xảy ra.
Lỗi WordPress lịch trình bị bỏ lỡ là gì
Khi bạn kết thúc một bài đăng mới trong WordPress, bạn có một số tùy chọn về những việc cần làm tiếp theo. Bạn có thể lưu nó dưới dạng bản nháp, xuất bản nó ngay lập tức, và tất nhiên, lên lịch cho một ngày sau đó.
Thông thường, toàn bộ quá trình diễn ra mà không gặp trở ngại. Ngày đến và WordPress kiểm tra xem có bài đăng nào để xuất bản nó không. Nếu có, nó sẽ chạy tiến trình và làm cho các bài viết đó ở dạng công khai. Trong khi đó, bạn có thể quay trở lại và tập trung vào các khía cạnh khác của việc điều hành trang web và doanh nghiệp của bạn .
Tuy nhiên, đôi khi WordPress bỏ lỡ ngày xuất bản bạn đặt hoàn toàn. Khi điều đó xảy ra, bạn sẽ thấy một lỗi như thế này nếu bạn kiểm tra tab Bài viết của mình:
Bạn luôn có thể truy cập các bài viết vấn đề và xuất bản chúng bằng tay. Tuy nhiên, WordPress không cho bạn biết khi có lỗi đăng bài theo lịch trình. Điều này có nghĩa là nếu bạn muốn tránh bất kỳ trục trặc nào, bạn sẽ cần kiểm tra kỹ xem liệu bài đăng của bạn có được thực hiện vào thời điểm bạn đặt hay không, nên vấn đề này khá khó chịu khi bạn đã có hẹn người dùng sẽ công bố bài viết này vào thời điểm nào đó chẳng hạn.
Tại sao lỗi WordPress bị bỏ lỡ
WordPress sử dụng các công việc cronjob để lên lịch các tác vụ mà nó cần để chạy vào những thời điểm cụ thể. Trong các hệ thống dựa trên UNIX, các ‘crons’ này cũng được gọi là ‘bộ lập lịch’ và chúng có nhiều cách sử dụng khác nhau.
Ví dụ: bạn có thể sử dụng cron để chạy lệnh hoặc tập lệnh hoặc – như với WordPress – để xuất bản bài đăng.
Nhiều máy chủ web không cung cấp cho người dùng quyền truy cập vào cài đặt máy chủ, điều đó có nghĩa là bạn không thể định cấu hình các cron của mình để chạy ở cấp hệ thống. WordPress bỏ qua giới hạn đó bằng cách sử dụng các mô phỏng. Thay vì để chúng chạy ở một khoảng thời gian đã định, WordPress dựa vào lượt truy cập của người dùng để kích hoạt những cấu hình này.
Nói cách khác, mỗi khi người dùng truy cập trang web của bạn, Hệ thống quản lý nội dung (CMS) sẽ kiểm tra xem liệu có bất kỳ công việc định kỳ đang chờ xử lý nào mà nó cần để chạy hay không. Đây là một giải pháp thông minh, nhưng nó cũng đặt ra một nhược điểm rõ ràng – nếu trang web của bạn không nhận được bất kỳ lượt truy cập nào vào đúng thời điểm, thì CMS sẽ không xuất bản bài đăng của bạn như dự định. Đó là khi lỗi lịch trình bị bỏ lỡ sẽ trở lại cái vấn đề mà mình đã đề cập “công việc của bạn đã bị quên luôn”.
Ngay cả khi trang web của bạn nhận được một lượng khách truy cập liên tục, điều đó không có nghĩa là bạn an toàn 100% khỏi lỗi lịch trình bị bỏ lỡ của WordPress. Nếu trang web của bạn tạm thời ngừng hoạt động, hoặc nếu bạn sử dụng plugin lưu đệm (sử dụng các trình Cache), vẫn có khả năng các con WordPress của bạn có thể không chạy như kế hoạch.
2 cách khắc phục lỗi lịch trình bị bỏ lỡ của WordPress
Theo như các lỗi của WordPress, lỗi này khá dễ sửa.
1. Sử dụng Plugin Scheduled Post Trigger
Lý tưởng nhất cho các WordPresser, WordPress sẽ kiểm tra định kỳ để xem liệu nó có bỏ lỡ bất kỳ ngày xuất bản bài đăng nào không và theo dõi chúng cho bạn.
Cách thức hoạt động của plugin này là mỗi lần ai đó truy cập trang web của bạn, nó sẽ kiểm tra xem WordPress có bỏ lỡ bất kỳ ngày xuất bản nào được lên lịch gần đây không. Nếu nó tìm thấy bất kỳ trường hợp nào của lỗi lịch trình bị bỏ lỡ, nó sẽ lấy các bài đăng đó và xuất bản chúng ngay lập tức.
Nói cách khác, plugin hoạt động bằng cách thêm một công việc định kỳ kiểm tra trang web của bạn cho các công việc cron bị bỏ lỡ. Cách tiếp cận này có vẻ hơi dư thừa, nhưng nó hoạt động. Ngoài ra, plugin không yêu cầu bất kỳ cấu hình đặc biệt nào và sẽ tự động thực hiện công việc của nó sau khi bạn cài đặt và kích hoạt nó.
Nếu gói lưu trữ của bạn cung cấp cho bạn quyền truy cập vào cài đặt máy chủ của bạn, thì bạn có thể định cấu hình các công việc định kỳ để chạy ở cấp độ đó. Tuy nhiên, để phương pháp này hoạt động hiệu quả, trước tiên bạn cần phải vô hiệu hóa các crons WordPress để tránh xung đột.
Để làm điều đó, truy cập trang web của bạn qua FTP bằng ứng dụng khách như FileZilla . Điều hướng đến thư mục gốc của bạn và tìm tệp wp-config.php bên trong:
Nhấp chuột phải vào tệp và chọn tùy chọn Xem / Chỉnh sửa. Bây giờ, thêm dòng mã sau đây trước khi kết thúc tệp:
define('DISABLE_WP_CRON', true);
Lưu các thay đổi vào tệp wp-config.php của bạn và đó là bước đầu tiên. Tiếp theo, bạn sẽ cần triển khai các hướng dẫn thủ công thông qua máy chủ của mình, điều mà hầu hết các nhà cung cấp cho phép bạn thực hiện bằng bảng điều khiển lưu trữ.
Ví dụ: nếu bạn có quyền truy cập vào cPanel , cần có một tùy chọn có tên Cron Jobs theo một trong các tab của nó:
Bằng cách sử dụng công cụ này, bạn có thể dễ dàng lên lịch các công việc định kỳ mới để chạy theo các khoảng thời gian.