Nội dung bài viết
Mixed Content là gì?
Lỗi mixed content là lỗi trình duyệt cảnh báo trang web này không thể cung cấp kết nối an toàn hoàn hảo. Nguyên nhân có thể do là đường dẫn chính của trang web chạy trên HTTPS, nhưng một thành phần khác của website vẫn đang chạy với giao thức HTTP thay vì là HTTPS.
Thông thường sẽ có 3 trường hợp xuất hiện cảnh báo Mixed Content:
- Khi lập trình viên (Dev) sử dụng các liên kết HTTP để code Theme hay Plugin. Thay vì sử dụng đường dẫn tương đối, thì họ lại dùng đường dẫn tuyệt đối.
- Khi website của bạn sử dụng các tài nguyên (hình ảnh, video, hoặc âm thanh) mà chưa kích hoạt HTTPS.
- Khi website của bạn gắn các liên kết của bên thứ 3, nhưng bên thứ 3 lại chưa kích hoạt HTTPS.
Dấu hiệu nhận biết lỗi Mixed Content:
- Website đã cài đặt SSL nhưng trình duyệt vẫn báo không an toàn hoặc không bảo mật.
- Website bị vỡ cấu trúc giao diện, thường là lỗi liên quan đến các file css,js
Dưới đây là hình ảnh website đang bị lỗi Mixed Content, cụ thể là bị lỗi trên các file css dẫn đến cấu trúc và giao diện website bị lỗi.
Hướng dẫn khắc phục
Dưới đây là một số cách khắc phục lỗi Mixed Content mà bạn có thể tham khảo:
Cách 1: Sử dụng Plugin Really Simple SSL
Để khắc phục nhanh lỗi này các bạn có thể cài đặt Plugin Really Simple SSL . Với Plugin này sẽ hỗ trợ bạn chuyển đổi các liên kết HTTP >> HTTPS một cách tự động.
Cài đặt xong bạn chỉ cần truy cập Settings >> SSL & Security và Activate SSL lên là được.
Cách 2: Sử dụng Plugin Better Search Replace
Để khắc phục nhanh lỗi này các bạn có thể cài đặt Plugin Better Search Replace . Chúng ta sẽ sử dụng Plugin này để tìm kiếm và thay thế các liên kết HTTP thành HTTPS.
Cài đặt xong bạn truy cập Plugin và cấu hình như sau
Sau khi nhấn Run Search/Replace , bạn chờ Plugin tìm kiếm và thay thế các liên kết
Và như kết quả bên dưới thì Plugin tìm thấy 177 liên kết và đã thay thế 177 liên kết đó.
Cách 3: Sử dụng WP-CLI
Với cách này, thì Hosting/Vps của bạn phải có Terminal và cần được cài đặt và hỗ trợ WP-CLI. Nếu chưa được cài đặt thì bạn có thể cài đặt theo hướng dẫn bên dưới:
Đầu tiên hãy di chuyển vào thư mục chứa mã nguồn của website cần thực hiện, tiếp đó bạn chạy lệnh dưới đây:
wp search-replace 'http://damtrungkien.com' 'https://damtrungkien.com' --precise --recurse-objects --all-tables
Lưu ý: Nhớ thay damtrungkien.com bằng tên miền của bạn.!
Quá trình Replace nhanh hay chậm tùy vào số lượng liên kết của website.
Cách 4: Sử dụng Elementor
Nếu website của bạn được thiết kế bằng Elementor, thì các bạn có thể áp dụng 1 trong 2 cách dưới đây:
- Thao tác từ giao diện Plugin Elementor
Trong giao diện Admin bạn truy cập: Elementor >> Tools >> Replace URL . Tiếp đó bạn nhập liên kết HTTP và HTTPS như hình và nhấn Replace URL.
Và đây là kết quả sau khi Replace. Có 177 kết quả được tìm thấy và thay thế.
- Thao tác thông qua WP-CLI
Do Elementor có hỗ trợ lệnh CLI, nên bạn có thể sử dụng lệnh để Replace như sau:
wp elementor replace-urls http://damtrungkien.com https://damtrungkien.com --force
Lưu ý: Nhớ thay damtrungkien.com bằng tên miền của bạn.!
Kiểm tra kết quả
Sau khi áp dụng các cách trên thì các liên kết HTTP đã được chuyển sang HTTPS thành công. Và theo đó cấu trúc website cũng không còn bị lỗi.
Chúc các bạn thực hiện thành công.!