Khắc phục lỗi “Cookies Are Blocked” WordPress

Giới thiệu về lỗi “Cookies Are Blocked” trong WordPress
Lỗi “Cookies Are Blocked” (Cookies bị chặn) trong WordPress là một vấn đề thường gặp khiến người dùng không thể đăng nhập vào trang quản trị hoặc sử dụng một số tính năng nhất định của website. Cookies là những tệp nhỏ được lưu trữ trên trình duyệt của người dùng, chứa thông tin về phiên làm việc, tùy chọn và các dữ liệu khác. WordPress sử dụng cookies để xác thực người dùng và duy trì trạng thái đăng nhập.
Khi trình duyệt của người dùng chặn cookies, WordPress không thể hoạt động bình thường. Điều này có thể dẫn đến:
- Không thể đăng nhập vào trang quản trị (wp-admin).
- Thông báo lỗi “Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress”.
- Các tính năng của website hoạt động không chính xác.
Nguyên nhân của lỗi này có thể do nhiều yếu tố, bao gồm cài đặt trình duyệt, plugin xung đột, hoặc các vấn đề liên quan đến SSL.
Các nguyên nhân phổ biến gây ra lỗi “Cookies Are Blocked”
Để khắc phục lỗi “Cookies Are Blocked”, bạn cần xác định nguyên nhân gốc rễ của vấn đề. Dưới đây là một số nguyên nhân phổ biến:
1. Cài đặt trình duyệt chặn cookies
Đây là nguyên nhân phổ biến nhất. Hầu hết các trình duyệt đều có tùy chọn để chặn cookies từ các trang web. Nếu cài đặt này được bật, WordPress sẽ không thể lưu trữ và truy xuất cookies, dẫn đến lỗi.
2. Cài đặt SSL/HTTPS không đúng
Nếu website của bạn sử dụng SSL (HTTPS), nhưng cài đặt không chính xác, có thể xảy ra xung đột với cookies. Ví dụ, nếu trang web sử dụng HTTPS nhưng một số tài nguyên vẫn được tải qua HTTP, trình duyệt có thể chặn cookies vì lý do bảo mật.
3. Plugin xung đột
Một số plugin có thể can thiệp vào cách WordPress xử lý cookies, gây ra lỗi. Đặc biệt, các plugin liên quan đến bảo mật, bộ nhớ đệm hoặc tối ưu hóa có thể là nguyên nhân.
4. Vấn đề với tệp .htaccess
Tệp .htaccess là một tệp cấu hình quan trọng trên máy chủ web Apache. Các quy tắc trong tệp .htaccess có thể ảnh hưởng đến cách cookies được xử lý.
5. Lỗi cấu hình WordPress
Một số lỗi trong cấu hình WordPress, chẳng hạn như các giá trị sai trong tệp wp-config.php, cũng có thể gây ra lỗi “Cookies Are Blocked”.
Cách khắc phục lỗi “Cookies Are Blocked” trong WordPress
Dưới đây là các bước chi tiết để khắc phục lỗi “Cookies Are Blocked” trong WordPress:
1. Kiểm tra và bật cookies trong trình duyệt
Đây là bước đầu tiên và quan trọng nhất. Hướng dẫn này sẽ hướng dẫn bạn cách bật cookies trong một số trình duyệt phổ biến:
Google Chrome:
- Mở Chrome và nhấp vào biểu tượng ba chấm dọc ở góc trên bên phải.
- Chọn “Settings” (Cài đặt).
- Tìm kiếm “Cookies” hoặc “Site Settings” (Cài đặt trang web).
- Chọn “Site Settings” -> “Cookies and site data” (Cookies và dữ liệu trang web).
- Đảm bảo rằng tùy chọn “Allow all cookies” (Cho phép tất cả cookies) được chọn hoặc trang web của bạn không nằm trong danh sách “Sites that can never use cookies” (Các trang web không bao giờ được phép sử dụng cookies).
Mozilla Firefox:
- Mở Firefox và nhấp vào biểu tượng ba gạch ngang ở góc trên bên phải.
- Chọn “Options” (Tùy chọn).
- Chọn “Privacy & Security” (Quyền riêng tư & Bảo mật).
- Trong phần “Cookies and Site Data” (Cookies và dữ liệu trang web), chọn “Manage Exceptions” (Quản lý ngoại lệ) và đảm bảo rằng trang web của bạn không bị chặn.
- Hoặc chọn “Standard” (Tiêu chuẩn) hoặc “Custom” (Tùy chỉnh) và đảm bảo rằng cookies không bị chặn hoàn toàn.
Safari:
- Mở Safari và chọn “Safari” -> “Preferences” (Tùy chọn).
- Chọn “Privacy” (Quyền riêng tư).
- Bỏ chọn “Prevent cross-site tracking” (Ngăn chặn theo dõi chéo trang web).
- Đảm bảo rằng “Block all cookies” (Chặn tất cả cookies) không được chọn.
Sau khi bật cookies, hãy thử đăng nhập lại vào trang quản trị WordPress của bạn.
2. Kiểm tra cài đặt SSL/HTTPS
Nếu website của bạn sử dụng SSL (HTTPS), hãy đảm bảo rằng cài đặt SSL/HTTPS được cấu hình đúng. Dưới đây là một số điều cần kiểm tra:
- Chứng chỉ SSL hợp lệ: Đảm bảo rằng chứng chỉ SSL của bạn vẫn còn hiệu lực và được cài đặt đúng cách.
- Chuyển hướng HTTP sang HTTPS: Tất cả các yêu cầu HTTP (không an toàn) phải được chuyển hướng đến HTTPS (an toàn). Bạn có thể sử dụng plugin hoặc chỉnh sửa tệp .htaccess để thực hiện việc này.
- Kiểm tra nội dung hỗn hợp (Mixed Content): Đảm bảo rằng tất cả các tài nguyên (hình ảnh, CSS, JavaScript) trên trang web của bạn đều được tải qua HTTPS. Nếu có bất kỳ tài nguyên nào được tải qua HTTP, trình duyệt có thể chặn cookies.
Bạn có thể sử dụng các công cụ trực tuyến như “Why No Padlock?” để kiểm tra xem website của bạn có nội dung hỗn hợp hay không.
3. Tắt các plugin (Plugin)
Plugin xung đột là một nguyên nhân phổ biến gây ra lỗi “Cookies Are Blocked”. Để kiểm tra xem plugin có phải là nguyên nhân hay không, hãy tắt tất cả các plugin và thử đăng nhập lại vào trang quản trị. Nếu bạn có thể đăng nhập sau khi tắt tất cả các plugin, thì một trong số các plugin là nguyên nhân gây ra lỗi. Sau đó:
- Tắt lần lượt từng plugin và kiểm tra lại trang web sau mỗi lần tắt.
- Khi bạn tìm thấy plugin gây ra lỗi, hãy liên hệ với nhà phát triển plugin để được hỗ trợ hoặc tìm một plugin thay thế.
Bạn có thể tắt plugin thông qua trang quản trị WordPress (nếu bạn có thể truy cập) hoặc bằng cách đổi tên thư mục plugin trong thư mục wp-content/plugins
thông qua FTP hoặc trình quản lý tệp của hosting.
4. Kiểm tra và chỉnh sửa tệp .htaccess
Tệp .htaccess có thể ảnh hưởng đến cách cookies được xử lý. Hãy kiểm tra tệp .htaccess của bạn để đảm bảo rằng nó không có các quy tắc gây ra lỗi. Sao lưu tệp .htaccess trước khi thực hiện bất kỳ thay đổi nào.
Bạn có thể thử thay thế nội dung của tệp .htaccess bằng mã mặc định của WordPress. Bạn có thể tìm thấy mã mặc định này trên trang web chính thức của WordPress hoặc sử dụng đoạn mã sau:
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
Sau khi thay đổi tệp .htaccess, hãy kiểm tra lại trang web của bạn.
5. Kiểm tra tệp wp-config.php
Tệp wp-config.php
chứa các cài đặt quan trọng của WordPress. Kiểm tra tệp này để đảm bảo rằng các giá trị WP_SITEURL
và WP_HOME
được đặt đúng. Các giá trị này phải khớp với địa chỉ URL của trang web của bạn (bao gồm cả http://
hoặc https://
).
Ví dụ:
define( 'WP_SITEURL', 'https://example.com' ); define( 'WP_HOME', 'https://example.com' );
Nếu các giá trị này không đúng, hãy chỉnh sửa chúng cho phù hợp và kiểm tra lại trang web của bạn.
6. Xóa bộ nhớ cache của trình duyệt và WordPress
Đôi khi, bộ nhớ cache của trình duyệt hoặc bộ nhớ cache của WordPress có thể gây ra lỗi “Cookies Are Blocked”. Hãy thử xóa bộ nhớ cache của trình duyệt và bộ nhớ cache của WordPress (nếu bạn sử dụng plugin bộ nhớ cache) và kiểm tra lại trang web.
7. Thay đổi domain cookies
Bạn có thể thử thêm đoạn code sau vào file wp-config.php
để thay đổi domain cookies:
define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST'] );
8. Liên hệ với nhà cung cấp hosting
Nếu bạn đã thử tất cả các giải pháp trên mà vẫn không khắc phục được lỗi, hãy liên hệ với nhà cung cấp hosting của bạn để được hỗ trợ. Có thể có một vấn đề trên máy chủ web gây ra lỗi.
Lời khuyên bổ sung
- Luôn sao lưu website của bạn trước khi thực hiện bất kỳ thay đổi nào.
- Kiểm tra nhật ký lỗi của WordPress để tìm thêm thông tin về lỗi.
- Sử dụng trình duyệt khác để kiểm tra xem lỗi có phải do trình duyệt gây ra hay không.
Hy vọng bài viết này sẽ giúp bạn khắc phục lỗi “Cookies Are Blocked” trong WordPress.