Sửa lỗi Error Cookies are blocked due to unexpected output WordPress

Sửa lỗi Error Cookies are blocked due to unexpected output WordPress

Lỗi “Cookies are blocked due to unexpected output” là một trong những sự cố khá phổ biến nhưng lại gây nhiều khó chịu cho người quản trị website. Lỗi này thường khiến bạn không thể đăng nhập, bị thoát phiên liên tục hoặc gặp trục trặc khi thao tác trong trang quản trị. Nguyên nhân chủ yếu đến từ việc hệ thống xuất dữ liệu không đúng thời điểm trong quá trình tạo cookie. Bài viết dưới đây, ATOZ Solutions sẽ giúp bạn hiểu rõ nguyên nhân và hướng dẫn cách sửa lỗi này một cách chi tiết và hiệu quả.

Lỗi “Cookies are blocked due to unexpected output” trong WordPress là gì?

Lỗi Cookies are blocked due to unexpected output trong WordPress xảy ra khi hệ thống không thể thiết lập cookie vì đã có dữ liệu (ký tự, khoảng trắng hoặc nội dung HTML) được gửi ra trình duyệt trước khi WordPress kịp khởi tạo cookie.

Trong WordPress, cookie phải được gửi đi trước mọi “output” (bất kỳ dữ liệu nào hiển thị ra màn hình). Nếu một file PHP vô tình xuất ra nội dung sớm, trình duyệt sẽ chặn cookie và làm gián đoạn quá trình xác thực người dùng.

Nguyên nhân chính của lỗi “Cookies are blocked due to unexpected output” trong WordPress

Lỗi này thường xuất phát từ việc WordPress bị “phát sinh dữ liệu sớm” trước khi kịp thiết lập cookie. Điều này làm trình duyệt chặn cookie và gây lỗi đăng nhập hoặc mất phiên làm việc. Các nguyên nhân phổ biến gồm:

  • Khoảng trắng hoặc dòng trống thừa trong file PHP: Xuất hiện trước <?php hoặc sau ?> trong các file như wp-config.php, functions.php hoặc file của plugin/theme, khiến hệ thống gửi output sớm.
  • Plugin hoặc theme sinh output không mong muốn: Một số plugin hoặc theme có thể xuất HTML, text hoặc thông báo lỗi trước khi WordPress xử lý cookie, làm sai thứ tự tải dữ liệu.
  • Ký tự BOM (Byte Order Mark): Khi file được lưu bằng UTF-8 có BOM, một ký tự ẩn sẽ được thêm vào đầu file và được xem như output gây lỗi.
  • Xung đột hoặc đoạn code tùy biến sai: Code mới thêm vào plugin, theme hoặc custom functions có thể gây lỗi hoặc xung đột với hệ thống hiện tại.
  • Cấu hình hiển thị lỗi PHP trên server: Các warning hoặc notice của PHP bị hiển thị trực tiếp ra trình duyệt cũng được tính là output không mong muốn, dẫn đến lỗi cookie.

4 cách khắc phục lỗi “Cookies are blocked due to unexpected output” trong WordPress

Lỗi này chủ yếu liên quan đến việc có “output” phát sinh sai thời điểm trong quá trình WordPress thiết lập cookie. Để xử lý triệt để, bạn có thể áp dụng các cách sau:

Kiểm tra và loại bỏ khoảng trắng, output thừa trong file PHP

Đây là nguyên nhân phổ biến nhất gây lỗi.

Bạn cần truy cập file hệ thống qua FTP hoặc File Manager, sau đó kiểm tra các file như wp-config.php, functions.php và các file plugin/theme đã chỉnh sửa gần đây.

  • Xóa khoảng trắng hoặc dòng trống trước <?php và sau ?>
  • Loại bỏ ký tự lạ hoặc code debug không cần thiết
  • Lưu file với định dạng chuẩn (UTF-8 không BOM)

Sau khi chỉnh sửa, upload lại và kiểm tra đăng nhập.

Tạm thời vô hiệu hóa toàn bộ plugin để khoanh vùng lỗi

Plugin có thể là nguyên nhân gây output không mong muốn.

  • Đổi tên thư mục wp-content/plugins (ví dụ: plugins_old) hoặc tắt toàn bộ plugin trong admin
  • Thử đăng nhập lại để kiểm tra lỗi có còn hay không
  • Nếu hết lỗi, kích hoạt lại từng plugin để xác định plugin gây lỗi
  • Gỡ bỏ hoặc thay thế plugin bị xung đột

Chuyển về theme mặc định để loại trừ lỗi giao diện

Theme cũng có thể chứa code gây lỗi cookie.

  • Kích hoạt theme mặc định như Twenty Twenty-Five hoặc Twenty Twenty-Four
  • Nếu không vào được admin, đổi tên thư mục theme đang dùng để WordPress tự chuyển về theme mặc định
  • Nếu lỗi biến mất, nguyên nhân nằm ở theme (functions.php, template hoặc code tùy chỉnh)
  • Cần sửa lại code hoặc cập nhật theme

Bật chế độ debug để xác định file gây lỗi

Debug giúp bạn tìm chính xác nguyên nhân thay vì đoán.

  • Mở file wp-config.php và bật:
    • define('WP_DEBUG', true);
    • define('WP_DEBUG_LOG', true);
  • Truy cập lại website để tái hiện lỗi
  • Kiểm tra file wp-content/debug.log để xác định plugin, theme hoặc file PHP gây output

Cách phòng tránh lỗi Cookie WordPress trong tương lai

Để hạn chế tối đa lỗi Cookies are blocked due to unexpected output cũng như các lỗi liên quan đến cookie trong WordPress, bạn nên xây dựng thói quen quản trị website an toàn ngay từ đầu:

  • Luôn sao lưu (backup) website trước khi chỉnh sửa file code hoặc cập nhật theme/plugin để có thể khôi phục nhanh khi xảy ra sự cố.
  • Sử dụng staging site (môi trường thử nghiệm) để kiểm tra plugin, theme hoặc đoạn code mới trước khi áp dụng lên website chính thức.
  • Hạn chế chỉnh sửa trực tiếp file hệ thống như wp-config.php, functions.php nếu không thật sự cần thiết, và luôn kiểm tra kỹ trước khi lưu thay đổi.
  • Kiểm tra định kỳ các file cấu hình và plugin để phát hiện sớm lỗi hoặc xung đột có thể gây ảnh hưởng đến cookie và quá trình đăng nhập.

Lỗi Cookies are blocked due to unexpected output thường không quá nghiêm trọng nhưng khó phát hiện nếu không kiểm tra đúng cách. Việc xử lý theo từng bước từ file PHP, plugin, theme đến debug sẽ giúp bạn nhanh chóng xác định nguyên nhân và khắc phục triệt để lỗi trong WordPress.