Bạn đã cài chứng chỉ SSL, nhưng trình duyệt vẫn hiện “Not secure”, ổ khóa kèm cảnh báo, hoặc một số ảnh và kiểu dáng bị mất. Đó là vấn đề mixed content: trang tải qua HTTPS, nhưng một số tệp bên trong vẫn tải qua HTTP thường, và trình duyệt chặn hoặc gắn cờ chúng.
Mixed content làm giảm độ tin cậy, có thể làm vỡ bố cục và biểu mẫu, và ảnh hưởng SEO. Đây là cách tìm mọi liên kết không an toàn và sửa cho đúng.
Sao lưu trước: bước 3 thay đổi URL trong cơ sở dữ liệu. Hãy sao lưu toàn bộ cơ sở dữ liệu trước khi chạy bất kỳ thao tác tìm và thay thế nào.
Bước 1: Xác nhận chứng chỉ SSL hoạt động
Mở https://yourdomain.com và bấm vào ổ khóa hoặc biểu tượng thông tin trang. Chứng chỉ phải còn hiệu lực, được cấp đúng cho tên miền của bạn và chưa hết hạn. Kiểm tra cả phiên bản có www và bản không có www. Hầu hết nhà cung cấp hosting có chứng chỉ Let’s Encrypt miễn phí, tự gia hạn. Hãy chắc chứng chỉ của bạn bao phủ cả hai địa chỉ.
Bước 2: Đặt WordPress dùng HTTPS
Trong wp-admin, vào Settings → General và đổi cả WordPress Address (URL) lẫn Site Address (URL) để bắt đầu bằng https://. Lưu lại, và đăng nhập lại nếu được yêu cầu.
Nếu các ô bị làm mờ, chúng đang được đặt trong wp-config.php bằng WP_HOME và WP_SITEURL. Hãy cập nhật ở đó.
Bước 3: Thay các liên kết HTTP cũ trong cơ sở dữ liệu
Bài viết, trang, widget, bố cục trình dựng trang và cài đặt theme vẫn còn các liên kết http:// gắn cứng tới ảnh và trang. Hãy thay chúng bằng công cụ tìm và thay thế hiểu cơ sở dữ liệu, công cụ xử lý đúng dữ liệu serialized:
- Với plugin như Better Search Replace, tìm
http://yourdomain.comvà thay bằnghttps://yourdomain.com. Hãy chạy dry run trước để xem sẽ có bao nhiêu thay đổi. - Với WP-CLI:
wp search-replace 'http://yourdomain.com' 'https://yourdomain.com' --all-tables --dry-run, rồi chạy lại mà không có--dry-run.
Đừng chạy truy vấn SQL REPLACE thuần trên dữ liệu serialized. Cách đó làm hỏng cài đặt của trình dựng trang và widget.
Nếu bạn dùng Elementor, hãy vào Elementor → Tools → Replace URL, rồi Regenerate Files & Data.
Bước 4: Tìm các tệp không an toàn còn sót
Mở một trang vẫn còn cảnh báo, nhấn F12 và xem tab Console. Mỗi cảnh báo mixed content nêu đúng URL đang tải qua HTTP. Những phần thường còn sót:
- Ảnh hoặc font được gắn cứng trong CSS hoặc tệp template của theme
- Script từ dịch vụ bên thứ ba (embed cũ, widget chat, mã theo dõi) đang dùng
http:// - Widget HTML tùy chỉnh và đoạn mã đầu trang hoặc chân trang
- Liên kết trong cài đặt tùy biến theme
Đổi từng mục sang https://. Nếu một dịch vụ bên ngoài hoàn toàn không hỗ trợ HTTPS, hãy thay hoặc gỡ nó.
Bước 5: Chuyển hướng mọi lưu lượng HTTP sang HTTPS
Khách truy cập và công cụ tìm kiếm đang dùng liên kết http:// cũ cần được đưa sang phiên bản an toàn bằng chuyển hướng vĩnh viễn 301. Nhiều nhà cung cấp hosting có công tắc “Force HTTPS” trong bảng điều khiển. Trên Apache hoặc LiteSpeed, bạn có thể thêm đoạn này vào đầu .htaccess:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [L,R=301]
Chỉ dùng một cách. Hai hệ thống chuyển hướng khác nhau có thể tạo vòng lặp chuyển hướng. Nếu việc đó xảy ra, xem hướng dẫn về vòng lặp chuyển hướng đăng nhập WordPress.
Bước 6: Xóa bộ nhớ đệm và kiểm tra lại
Xóa bộ nhớ đệm của plugin cache, cache máy chủ và CDN, rồi tải lại trang trong cửa sổ riêng tư. Ổ khóa phải sạch trên mọi trang bạn kiểm tra: trang chủ, một bài viết, một trang sản phẩm, cùng trang liên hệ và trang thanh toán.
Bước 7: Báo cho công cụ tìm kiếm
- Trong Google Search Console, thêm phiên bản
https://(hoặc dùng thuộc tính tên miền, loại này bao phủ cả hai) và gửi sitemap. - Cập nhật địa chỉ trang trong Google Business Profile, hồ sơ mạng xã hội và chữ ký email.
- Khi mọi thứ đã chạy ổn, có thể thêm header HSTS để trình duyệt luôn dùng HTTPS.
Muốn làm xong mà không chịu rủi ro? Dịch vụ WordPress Fix của chúng tôi chuyển trang của bạn hoàn toàn sang HTTPS, sửa mixed content an toàn trong cơ sở dữ liệu và theme, và thiết lập chuyển hướng đúng. Giá cố định $45, được xác nhận trước khi bắt đầu. Yêu cầu sửa.
Câu hỏi thường gặp
Plugin kiểu “Really Simple SSL” đã đủ chưa?
Các plugin này có thể sửa nhiều liên kết ngay lúc tải trang, nhưng chúng viết lại nội dung ở mỗi lần tải. Sửa liên kết trong cơ sở dữ liệu một lần thì gọn và nhanh hơn. Một số trang dùng cả hai: sửa trong cơ sở dữ liệu, cộng thêm plugin cho các trường hợp ngoại lệ.
Mixed content có ảnh hưởng SEO không?
HTTPS là một tín hiệu xếp hạng, và cảnh báo “Not secure” làm giảm độ tin cậy cùng tỷ lệ chuyển đổi. Script bị chặn cũng có thể làm hỏng biểu mẫu và trang thanh toán, thiệt hại đó còn lớn hơn ảnh hưởng tới thứ hạng.
Vì sao một số ảnh vẫn tải qua HTTP sau khi tìm và thay thế?
Chúng có lẽ được gắn cứng trong tệp theme, CSS hoặc embed của bên thứ ba, những chỗ mà tìm kiếm trong cơ sở dữ liệu không chạm tới. Console của trình duyệt sẽ liệt kê chúng.




