SSL là giao thức mã hoá kênh truyền giữa trình duyệt và máy chủ — nền tảng kỹ thuật của mọi trang web https://. Bài này giải thích SSL hoạt động thế nào, các loại chứng chỉ, cách cài trên WordPress và lỗi thường gặp.
SSL là gì?
Định nghĩa SSL và TLS
SSL (Secure Sockets Layer) là giao thức mã hoá do Netscape phát triển năm 1995. Phiên bản này đã bị khai tử từ 2015, nhưng tên “SSL” vẫn được dùng rộng rãi trong tài liệu hosting và tiếp thị.
Tiêu chuẩn hiện hành là TLS (Transport Layer Security), phiên bản TLS 1.3 ra mắt 2018 là chuẩn mặc định đến 2026. Khi nói “cài SSL cho trang web”, thực chất bạn đang cài chứng chỉ TLS.
SSL và TLS khác nhau thế nào?
TLS là phiên bản kế thừa trực tiếp của SSL, cải thiện toàn diện về bảo mật và hiệu năng. TLS 1.3 rút gọn quá trình thiết lập kết nối xuống còn 1 lần trao đổi, thay vì 2 như TLS 1.2.
TLS 1.3 cũng loại bỏ các thuật toán cũ như RC4 và MD5 — đã bị khai thác lỗ hổng nhiều lần. Trong thực tế, bạn chỉ cần đảm bảo hosting hỗ trợ TLS 1.2 trở lên là đủ.
HTTPS khác HTTP ở điểm nào?
HTTP truyền dữ liệu dạng văn bản thuần — ai đứng giữa đường mạng đều đọc được. HTTPS thêm lớp TLS bên dưới, mã hoá toàn bộ nội dung truyền đi.
Kết quả là ba điều được đảm bảo cùng lúc:
- Bảo mật nội dung: dữ liệu trên đường truyền được mã hoá, kẻ tấn công chặn gói tin chỉ thấy ký tự ngẫu nhiên.
- Toàn vẹn dữ liệu: nội dung không bị thay đổi giữa đường nhờ cơ chế xác thực MAC.
- Xác thực máy chủ: chứng chỉ SSL xác nhận tên miền bạn kết nối đúng là máy chủ đích.
Vì sao trang web cần SSL?
Bảo mật thông tin người dùng
Bất kỳ trang web nào thu thập dữ liệu — từ form liên hệ đến thanh toán — đều cần mã hoá kết nối. Thiếu SSL, thông tin khách nhập vào di chuyển dạng văn bản rõ trên đường truyền.
Bạn có thể tham khảo cách Web22 triển khai SEO tổng thể để hiểu mạch tổng quan.
Rủi ro thực tế không chỉ xảy ra trên wifi công cộng. Tấn công man-in-the-middle có thể xuất hiện ở nhiều điểm trong chuỗi kết nối từ thiết bị đến máy chủ.
SSL ảnh hưởng đến xếp hạng SEO
Google xác nhận HTTPS là tín hiệu xếp hạng từ năm 2014. Tác động trực tiếp nhỏ, nhưng HTTPS là điều kiện bắt buộc để bật HTTP/2 — tải trang nhanh hơn nhờ multiplexing.
Tốc độ tải trang ảnh hưởng trực tiếp đến Core Web Vitals — nhóm chỉ số Google cân nhắc trong thuật toán xếp hạng từ 2021.
Xây dựng niềm tin với người dùng
Chrome và Firefox hiển thị cảnh báo “Not Secure” với mọi trang HTTP có form nhập liệu. Thông báo này xuất hiện ngay trước thanh địa chỉ, ngay khi khách vào trang.
Với trang web bán hàng hoặc thu thập thông tin, cảnh báo này ảnh hưởng trực tiếp đến tỉ lệ chuyển đổi. SSL hiển thị biểu tượng ổ khoá — tín hiệu đơn giản nhưng khách hàng nhận ra ngay.
Các loại chứng chỉ SSL
DV — Domain Validation (xác thực tên miền)
DV là loại phổ biến nhất — CA chỉ xác minh bạn sở hữu tên miền qua bản ghi DNS hoặc email admin. Thời gian cấp tính bằng phút, Let’s Encrypt cấp miễn phí hoàn toàn.
Một lựa chọn cùng nhóm đáng cân nhắc là Technical SEO — xem bài chi tiết để đối chiếu.
95% trang web thông thường — blog, landing page (trang đích), portfolio, trang web dịch vụ — chỉ cần DV. Mức mã hoá không khác gì OV hay EV.
OV — Organization Validation (xác thực tổ chức)
OV yêu cầu CA xác minh thêm thông tin pháp lý của doanh nghiệp: mã số thuế, địa chỉ đăng ký. Thời gian cấp từ 2 đến 5 ngày làm việc, chi phí từ 1 đến 3 triệu đồng mỗi năm.
OV phù hợp với doanh nghiệp muốn thông tin tổ chức hiển thị trong chi tiết chứng chỉ khi người dùng click vào ổ khoá.
EV — Extended Validation (xác thực mở rộng)
EV đòi hỏi kiểm tra pháp lý đầy đủ — mất từ 1-2 tuần, chi phí 5-15 triệu đồng mỗi năm. Trước đây EV hiển thị thanh địa chỉ màu xanh lá trên trình duyệt.
Từ Chrome 77 và Firefox 70, thanh xanh này bị bỏ hoàn toàn. Người dùng không còn phân biệt được EV với DV bằng mắt thường.
ROI của EV đã giảm mạnh kể từ đó. Chỉ nên cân nhắc nếu quy định ngành tài chính hoặc bảo hiểm yêu cầu.
Wildcard và Multi-domain (SAN)
Wildcard SSL (*.domain.com) bảo vệ tất cả subdomain cùng cấp: blog.domain.com, app.domain.com, shop.domain.com. Let’s Encrypt cấp Wildcard miễn phí qua DNS-01 challenge.
Multi-domain hay SAN certificate bảo vệ nhiều tên miền khác nhau trong một chứng chỉ. Wildcard không cover sub-subdomain như staging (môi trường thử nghiệm trước khi lên thật).app.domain.com.
Cách cài SSL cho WordPress
Let’s Encrypt qua cPanel AutoSSL
Hầu hết hosting Việt Nam dùng cPanel đã tích hợp AutoSSL. Quy trình: đăng nhập cPanel → vào SSL/TLS Status → chọn domain cần cài → bấm Run AutoSSL.
AutoSSL tự động gia hạn chứng chỉ 30 ngày trước khi hết hạn. Sau khi cài xong, vào WordPress Settings → General và đổi cả hai URL sang https://.
Cloudflare Universal SSL miễn phí
Khi trỏ DNS qua Cloudflare ở chế độ proxy (biểu tượng đám mây cam), Cloudflare cấp Universal SSL miễn phí ở edge. Người dùng kết nối Cloudflare qua HTTPS — Cloudflare kết nối origin server theo cấu hình riêng.
Nên đặt Cloudflare SSL ở chế độ “Full (Strict)” để mã hoá cả kết nối từ Cloudflare đến origin. Chế độ “Flexible” để kết nối HTTP phía origin — không nên dùng nếu bạn cài được cert trực tiếp.
Certbot trên VPS (không panel)
Với VPS chạy Ubuntu/Debian, cài Certbot qua lệnh apt install certbot python3-certbot-nginx (dùng NGINX) hoặc python3-certbot-apache. Sau đó chạy certbot --nginx -d domain.com -d www.domain.com.
Certbot tự thêm cron job vào /etc/cron.d/certbot để gia hạn tự động. Kiểm tra định kỳ bằng lệnh certbot renew --dry-run để chắc chắn cron hoạt động đúng.
Mua chứng chỉ SSL trả phí từ CA
Nếu bạn cần OV hoặc EV, mua trực tiếp từ các CA như DigiCert, Sectigo, hoặc qua đại lý hosting. Quy trình gồm tạo CSR (Certificate Signing Request) trên máy chủ, gửi lên CA, nhận cert và cài vào NGINX hoặc Apache.
Khi mua cert trả phí, đảm bảo cài đúng intermediate certificate (certificate chain). Thiếu intermediate là nguyên nhân phổ biến nhất khiến trình duyệt báo lỗi “certificate chain incomplete” dù cert gốc hợp lệ.
Lỗi SSL thường gặp
Mixed content — ổ khoá không hiển thị
Mixed content xảy ra khi trang HTTPS load tài nguyên qua HTTP: hình ảnh, script, CSS, font. Chrome chặn mixed content dạng script và hiển thị cảnh báo “Not Secure” thay vì ổ khoá.
Cách kiểm tra nhanh: mở DevTools → tab Console → tìm cảnh báo “Mixed Content”. Với WordPress, dùng plugin Better Search Replace để đổi toàn bộ http:// sang https:// trong cơ sở dữ liệu sau khi migrate (chuyển dữ liệu sang nền tảng/môi trường mới).
NET::ERR_CERT_DATE_INVALID — chứng chỉ hết hạn
Lỗi này nghĩa là cert đã quá hạn hoặc thời gian hệ thống máy chủ bị lệch. Với Let’s Encrypt, nguyên nhân thường là cron gia hạn bị lỗi hoặc port 80 bị chặn firewall trong HTTP-01 challenge.
Kiểm tra log Certbot tại /var/log/letsencrypt/letsencrypt.log. Nếu dùng hosting panel, vào mục SSL/TLS kiểm tra ngày hết hạn và chạy lại AutoSSL thủ công.
Certificate chain không đầy đủ
Trình duyệt yêu cầu toàn bộ chuỗi từ cert của bạn lên đến root CA. Nếu thiếu intermediate certificate, một số trình duyệt báo lỗi “certificate_unknown” dù các trình duyệt khác vẫn hiện ổ khoá bình thường.
Kiểm tra tại SSL Labs Server Test — công cụ chỉ rõ từng vấn đề trong chain và chấm điểm từ A đến F. Mục tiêu là đạt A hoặc A+.
Nếu bị điểm B do TLS 1.0/1.1 vẫn bật, tắt chúng trong cấu hình NGINX hoặc Apache.
SSL ảnh hưởng SEO như thế nào?
HTTPS là tín hiệu xếp hạng trực tiếp
Google xác nhận HTTPS là ranking factor từ tháng 8/2014. Tác động trực tiếp được đánh giá ở mức nhỏ — không phải yếu tố quyết định xếp hạng như nội dung hay backlink (liên kết trỏ về).
Tuy nhiên HTTPS là điều kiện để bật HTTP/2 và HTTP/3 — tải nhiều tài nguyên song song, giảm TTFB và cải thiện LCP. Đây là tác động gián tiếp đến SEO qua Core Web Vitals.
Chuyển sang HTTPS đúng cách tránh mất thứ hạng
Khi chuyển từ HTTP sang HTTPS, bốn việc phải làm ngay để tránh mất thứ hạng:
- Redirect 301: chuyển hướng toàn bộ URL http:// sang https:// — báo Google đây là di chuyển vĩnh viễn.
- Canonical tag: cập nhật tất cả canonical trỏ về phiên bản https://.
- Sitemap XML: đảm bảo sitemap (sơ đồ trang XML) chỉ chứa URL https://, submit lại lên Google Search Console.
- Mixed content: fix toàn bộ tài nguyên còn dùng HTTP trong DB và code theme.
HSTS — buộc trình duyệt luôn dùng HTTPS
HSTS (HTTP Strict Transport Security) là header bảo trình duyệt tự động dùng HTTPS cho domain mà không cần redirect. Thêm header Strict-Transport-Security: max-age=31536000; includeSubDomains vào cấu hình máy chủ.
Sau khi bật HSTS, nếu cert hết hạn và không gia hạn kịp, trình duyệt sẽ chặn hoàn toàn — không có nút “bỏ qua”. Đảm bảo gia hạn chứng chỉ ổn định trước khi bật HSTS với max-age dài.
Khi nào cần nâng lên EV hoặc Wildcard?
Trường hợp nên dùng Wildcard SSL
Wildcard hữu ích khi bạn có từ 3 subdomain trở lên cần bảo vệ: app.domain.com, api.domain.com, staging.domain.com. Quản lý một chứng chỉ duy nhất thay vì nhiều cert riêng lẻ giúp giảm rủi ro quên gia hạn.
Let’s Encrypt cấp Wildcard miễn phí — không cần mua trả phí trừ khi bạn cần thông tin tổ chức (OV) hoặc bảo hiểm warranty. Web22 thiết lập Wildcard tự động cho dự án đa subdomain.
Trường hợp nên cân nhắc EV
EV phù hợp khi quy định pháp lý của ngành bắt buộc — thường gặp ở lĩnh vực ngân hàng, tài chính, bảo hiểm. Một số đối tác B2B lớn cũng yêu cầu EV như điều kiện tích hợp.
Ngoài hai trường hợp trên, EV không mang lại lợi ích rõ cho người dùng kể từ khi Chrome và Firefox bỏ thanh xanh. Ngân sách đó đầu tư vào tốc độ tải trang hoặc nội dung hiệu quả hơn.
Nguồn tham khảo
Web22 đồng hành cùng dự án của bạn
Bài này nằm trong loạt Technical SEO — tổng quan & danh sách kiểm; đọc thêm Mixed content và Redirect 301 để ghép trọn bức tranh kỹ thuật.
Nếu site của bạn đang báo “Không an toàn”, dính lỗi mixed content hoặc chứng chỉ hết hạn, hãy đặt buổi tư vấn 30 phút miễn phí với Web22 — chúng tôi soi cấu hình thật trên server và Search Console, bàn giao mã nguồn để bạn toàn quyền, không bán gói chung chung.


