Nội dung
Hướng dẫn sửa lỗi Mixed Content trên WordPress
Lỗi Mixed Content xảy ra khi một trang web WordPress được tải qua giao thức HTTPS, nhưng một số tài nguyên (như hình ảnh, script, CSS, iframe, v.v.) lại được tải qua HTTP, gây ra cảnh báo bảo mật trên trình duyệt. Bài viết này sẽ hướng dẫn bạn cách khắc phục lỗi Mixed Content trên WordPress một cách chi tiết và dễ hiểu.
1. Hiểu về lỗi Mixed Content
Nguyên nhân:
Trang web của bạn sử dụng HTTPS, nhưng một số tài nguyên vẫn sử dụng URL bắt đầu bằng http://
thay vì https://
.
Hậu quả:
- Trình duyệt hiển thị cảnh báo “Not Secure” hoặc biểu tượng khóa bị gãy.
- Một số tài nguyên có thể không tải, làm ảnh hưởng đến giao diện hoặc chức năng của trang.
- Ảnh hưởng đến SEO và trải nghiệm người dùng.
Loại lỗi Mixed Content:
- Active Mixed Content: Các tài nguyên như script hoặc iframe không tải qua HTTPS, có thể bị chặn hoàn toàn.
- Passive Mixed Content: Các tài nguyên như hình ảnh hoặc video, thường chỉ gây cảnh báo nhưng không bị chặn.
2. Kiểm tra lỗi Mixed Content
Trước khi sửa lỗi, bạn cần xác định các tài nguyên gây ra lỗi Mixed Content:
Sử dụng công cụ Developer Tools
- Mở trình duyệt (Chrome, Firefox, Edge).
- Nhấn F12 hoặc nhấp chuột phải và chọn Inspect.
- Chuyển sang tab Console hoặc Network để xem các cảnh báo Mixed Content.
- Ghi lại các URL tài nguyên sử dụng
http://
.

Công cụ kiểm tra trực tuyến:
- Sử dụng các công cụ như Why No Padlock? (whynopadlock.com) hoặc SSL Labs để quét trang web.
- Các công cụ này sẽ liệt kê các tài nguyên không sử dụng HTTPS.
3. Các cách sửa lỗi Mixed Content trên WordPress
Lưu ý: Sau mỗi lần thực hiện nếu website có Plugin cache bạn cần xoá bộ nhớ cache của Plugin để áp dụng các thay đổi mới.
Cách 1: Sử dụng file .htaccess
Bạn mở file .htaccess
và thêm đoạn code này vào. Đoạn code này sẽ chuyển hướng http://
sang https://
. Nếu Cách 1 vẫn chưa thể giải quyết được bạn hãy thực hiện cách 2
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
Cách 2: Sử dụng Plugin để sửa lỗi Mixed Content
Với cách này tôi chắc chắn rằng bạn sẽ làm được. Bạn chỉ cần đăng nhập vào admin WordPress sau đó cài đặt plugin có tên Really Simple Security như ảnh sau. Sau khi cài đặt xong bạn kích hoạt Plugin này lên.

Bây giờ bạn truy cập vào Security => SSL => Mixed content => Bật 3 dòng như ảnh và bấm vào Save

Cách 3: Sửa dụng WP-CLI
Với cách này sẻ sử dụng lệnh của wp-cli hỗ trợ để thay đổi các Internal link trong cơ sở dữ liệu. Và cách này bạn sẽ thực hiện với cú pháp như sau
wp search-replace 'http://mydomain/' 'https://mydomain/' --allow-root
##Ví dụ
wp search-replace 'http://azdigi.info/' 'https://azdigi.info/' --allow-root
Sau khi tôi chạy lệnh thì kết quả trả về Success: Made 588 replacements. Đây là kết quả của tôi và cho biết đã tìm được 588 link đang ở dạng http://
và được chuyển thành https://

Nếu website bạn có sử dụng Elementor, bạn cần replace các Internal Links trong Elementor
wp elementor replace-urls http://mydomain/ http://mydomain/ --allow-root
## Ví dụ
wp elementor replace-urls http://azdigi.info/ http://azdigi.info/ --allow-root
Kết luận
Sửa lỗi Mixed Content trên WordPress không quá phức tạp nếu bạn thực hiện đúng các bước. Sử dụng plugin như Really Simple SSL hoặc SSL Insecure Content Fixer là cách nhanh nhất cho người mới bắt đầu, trong khi chỉnh sửa thủ công hoặc cấu hình server phù hợp với người có kinh nghiệm hơn. Sau khi khắc phục lỗi, trang web của bạn sẽ an toàn hơn, cải thiện SEO, và mang lại trải nghiệm tốt hơn cho người dùng.