1. Tổng quan
Khi vận hành website, đôi khi chúng ta cần thay đổi tên miền cũ sang một tên miền mới. Ví dụ, mình có domain https://wiki.hoanghd.com/
và giờ muốn chuyển toàn bộ truy cập sang domain mới https://sysnote.com/
.
Điều quan trọng là giữ nguyên đường dẫn khi chuyển hướng, ví dụ:
- Truy cập
https://wiki.hoanghd.com/abc
→ tự động chuyển sanghttps://sysnote.com/abc
- Truy cập
https://wiki.hoanghd.com/site
→ tự động chuyển sanghttps://sysnote.com/site
Trong bài viết này, mình sẽ hướng dẫn chi tiết cách thực hiện việc này đúng kỹ thuật, đảm bảo tối ưu cho SEO và trải nghiệm người dùng.
2. Vì sao cần cài SSL cho domain cũ?
Nhiều bạn thắc mắc: “Website cũ chỉ chuyển hướng thôi, có cần SSL (https) không?”.
Câu trả lời là CÓ.
- Khi người dùng gõ
https://wiki.hoanghd.com
, trình duyệt luôn kiểm tra chứng chỉ SSL trước khi thực hiện bất kỳ hành động nào, kể cả chuyển hướng (redirect). - Nếu domain
wiki.hoanghd.com
không có SSL hợp lệ, trình duyệt sẽ hiện cảnh báo bảo mật và có người dùng sẽ không thể truy cập hoặc tự động chuyển hướng được.
✅ Vì vậy, bạn vẫn cần SSL cho wiki.hoanghd.com
, dù website chỉ dùng để chuyển hướng.
3. Các phương pháp cấp SSL cho domain cũ
Bạn có 3 lựa chọn:
Phương pháp | Ghi chú |
---|---|
Let’s Encrypt (Miễn phí) | Phổ biến, tự động gia hạn, phù hợp hầu hết nhu cầu. |
Cloudflare SSL | Nếu domain dùng Cloudflare, có thể kích hoạt SSL Flexible hoặc Full miễn phí. |
SSL thương mại (trả phí) | Không cần thiết nếu chỉ redirect, nhưng dùng được nếu yêu cầu bảo mật cao. |
👉 Khuyến khích: Dùng Let’s Encrypt để tiết kiệm chi phí và đơn giản quản lý.
4. Cách thiết lập chuyển hướng 301 chuẩn SEO
Sau khi domain cũ đã có SSL hợp lệ, ta sẽ thiết lập redirect 301.
Redirect 301 giúp:
- Báo cho Google biết nội dung đã chuyển vĩnh viễn.
- Giữ nguyên SEO đã xây dựng trước đó.
- Trải nghiệm người dùng mượt mà (trình duyệt tự động chuyển).
Nếu bạn dùng Nginx:
Bạn chỉnh file config server
cho domain cũ (wiki.hoanghd.com
) như sau:
server {
listen 80;
listen 443 ssl;
server_name wiki.hoanghd.com;
ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;
location / {
return 301 https://sysnote.com$request_uri;
}
}
Giải thích:
301
là mã trạng thái chuyển hướng vĩnh viễn.$request_uri
giữ nguyên phần đường dẫn (/abc
,/site
,…) khi chuyển sang domain mới.
Sau đó reload Nginx để áp dụng:
sudo nginx -t
sudo systemctl reload nginx
Nếu bạn dùng Apache:
Bạn thêm vào file .htaccess
ở thư mục gốc domain cũ:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^wiki\.hoanghd\.com$ [NC]
RewriteRule ^(.*)$ https://sysnote.com/$1 [R=301,L]
Giải thích:
^(.*)$
lấy toàn bộ đường dẫn phía sau domain.$1
giữ nguyên đường dẫn khi chuyển sangsysnote.com
.
Nhớ đảm bảo module mod_rewrite
đã được bật:
sudo a2enmod rewrite
sudo systemctl restart apache2
Nếu bạn dùng Cloudflare:
Nếu domain wiki.hoanghd.com
đang chạy qua Cloudflare, bạn có thể thiết lập chuyển hướng trực tiếp trong Dashboard mà không cần can thiệp server.
Các bước:
- Vào Rules > Page Rules.
- Bấm Create Page Rule.
- Cấu hình:
- URL pattern:
https://wiki.hoanghd.com/*
- Action:
Forwarding URL (301 Permanent Redirect)
- Destination URL:
https://sysnote.com/$1
- URL pattern:
- Lưu lại và kích hoạt.
5. Kiểm tra lại sau khi thiết lập
Sau khi hoàn tất, bạn nên kiểm tra bằng:
- Trình duyệt (ở chế độ ẩn danh)
- Công cụ dòng lệnh:
curl -I https://wiki.hoanghd.com/test
Kết quả mong muốn:
HTTP/1.1 301 Moved Permanently
Location: https://sysnote.com/test
✅ Nếu thấy phản hồi như vậy nghĩa là chuyển hướng đã hoạt động chính xác!
Kết luận
Việc chuyển domain một cách bài bản không chỉ giúp tránh mất traffic, mà còn bảo toàn công sức SEO đã đầu tư trước đó.
Tóm lại, khi muốn chuyển domain:
- Luôn cần SSL hợp lệ cho domain cũ.
- Thiết lập redirect 301 đúng cách để giữ nguyên đường dẫn.
- Kiểm tra kỹ lưỡng sau khi cấu hình.
Hy vọng bài chia sẻ này sẽ giúp bạn thực hiện việc chuyển đổi domain mượt mà và hiệu quả nhất!
Bạn có muốn mình tạo thêm 1 mẫu file config đầy đủ cho Nginx hoặc Apache (bản copy-paste), để bạn dễ dàng đăng thêm vào bài blog không? 📜
Mình sẵn sàng hỗ trợ nhé!