301 Redirect
Chuyển hướng vĩnh viễn từ một URL cũ sang URL mới, truyền toàn bộ giá trị SEO (link equity) sang trang đích.
301 Redirect là gì?
301 Redirect là cách chuyển hướng vĩnh viễn từ một URL cũ sang một URL mới. Khi trình duyệt hoặc công cụ tìm kiếm truy cập vào URL cũ, máy chủ phản hồi mã trạng thái HTTP 301 Moved Permanently, đồng thời gửi người dùng và bot đến địa chỉ mới. Đây là phương pháp được Google khuyến nghị khi bạn thay đổi cấu trúc website, di dời nội dung hoặc loại bỏ trang cũ.
Tại sao quan trọng trong SEO?
301 Redirect giúp bảo toàn giá trị SEO của trang cũ — bao gồm thứ hạng, lưu lượng tìm kiếm tự nhiên và link equity (sức mạnh từ liên kết ngoài). Nếu không dùng 301, mà để trang cũ trả mã 404 hoặc 410, bạn sẽ mất gần như toàn bộ tín hiệu xếp hạng đã tích lũy. Google xác nhận rằng 301 chuyển hướng truyền phần lớn giá trị liên kết sang URL mới — dù không phải 100%, nhưng cao hơn đáng kể so với các loại redirect khác như 302 hay meta refresh.
Cách hoạt động
Khi người dùng hoặc bot yêu cầu truy cập URL A, máy chủ web không trả về nội dung trang đó, mà gửi phản hồi HTTP với mã trạng thái 301 và header Location: https://example.com/url-moi. Trình duyệt tự động tải URL mới. Công cụ tìm kiếm ghi nhận đây là sự thay đổi vĩnh viễn, từ đó cập nhật chỉ mục: xóa URL cũ khỏi kết quả tìm kiếm và gắn tín hiệu xếp hạng cho URL mới.
Lưu ý: Quá trình truyền link equity có thể mất vài ngày đến vài tuần, tùy vào tần suất thu thập dữ liệu (crawling) của Googlebot và độ tin cậy của domain.
Hướng dẫn thực hiện
Cách triển khai phụ thuộc vào hệ thống quản lý nội dung (CMS) hoặc cấu hình máy chủ. Dưới đây là các phương pháp phổ biến:
- Apache (tệp .htaccess): Thêm dòng sau vào file
.htaccessở thư mục gốc:Redirect 301 /cu/duong-dan.html https://domain.com/moi/duong-dan.html
- Nginx: Thêm khối lệnh trong file cấu hình site:
rewrite ^/cu/duong-dan.html$ https://domain.com/moi/duong-dan.html permanent;
- WordPress: Dùng plugin hỗ trợ như Redirection hoặc Rank Math. Nhập URL nguồn và đích, chọn loại redirect là “301 Permanent”. Plugin tự sinh rule vào cơ sở dữ liệu hoặc file cấu hình.
- PHP (nếu không kiểm soát máy chủ): Đặt đoạn mã đầu file PHP cần chuyển hướng:
<?php header("HTTP/1.1 301 Moved Permanently"); header("Location: https://domain.com/moi/duong-dan.html"); exit(); ?>
Lưu ý quan trọng: Luôn kiểm tra kỹ URL nguồn và đích — viết đúng chính tả, phân biệt chữ hoa/thường, dấu gạch ngang và dấu gạch chéo cuối. Không nên dùng wildcard quá rộng nếu không cần thiết.
Lỗi thường gặp
- Chuỗi redirect dài (redirect chain): Ví dụ A → B → C → D. Mỗi bước làm chậm tốc độ tải và làm suy giảm link equity. Cách khắc phục: Rút gọn thành A → D trực tiếp.
- Redirect vòng (redirect loop): A → B → A. Trình duyệt hiển thị lỗi “ERR_TOO_MANY_REDIRECTS”. Cách khắc phục: Kiểm tra tất cả rule trong .htaccess, plugin và CDN; dùng công cụ như httpstatus.io để kiểm tra chuỗi.
- Dùng 302 thay vì 301: Nhiều người nhầm tưởng 302 cũng truyền SEO — nhưng thực tế Google coi đây là chuyển hướng tạm thời, không cập nhật chỉ mục và không truyền link equity đầy đủ. Cách khắc phục: Đảm bảo chọn đúng loại redirect trong mọi công cụ và cấu hình.
- Chuyển hướng tới trang 404 hoặc lỗi: URL đích không tồn tại hoặc trả mã lỗi. Cách khắc phục: Kiểm tra URL đích bằng trình duyệt và công cụ kiểm tra HTTP trước khi triển khai.
Ví dụ thực tế
Một cửa hàng online từng có trang sản phẩm tại:https://shop.com/san-pham/ban-ghe-go
Sau khi tái cấu trúc URL theo chuẩn thân thiện hơn, họ chuyển sang:https://shop.com/san-pham/ban-ghe-go-oak
Đồng thời, họ áp dụng 301 redirect từ URL cũ sang URL mới. Kết quả sau 3 tuần: lượt hiển thị (impressions) trên Google Search Console tăng 22%, tỷ lệ click qua (CTR) giữ ổn định, và vị trí trung bình cải thiện từ #7 lên #4.
Câu hỏi thường gặp
301 Redirect có làm mất thứ hạng không?
Không — nếu triển khai đúng, thứ hạng thường được duy trì hoặc cải thiện sau vài tuần. Mất thứ hạng tạm thời (1–2 tuần) là bình thường do thời gian tái lập chỉ mục. Nếu mất lâu hơn, cần kiểm tra lại URL đích, tốc độ tải, nội dung trùng lặp hoặc lỗi kỹ thuật.
Một URL cũ có thể redirect tới nhiều URL mới được không?
Không. Mỗi URL nguồn chỉ nên trỏ tới một URL đích duy nhất. Việc phân tán (ví dụ: một bài blog cũ redirect tới 3 bài mới khác nhau) gây nhầm lẫn cho bot và làm loãng tín hiệu SEO. Nếu nội dung cũ bao quát nhiều chủ đề, hãy chọn trang đích phù hợp nhất hoặc tạo trang tổng hợp mới.
301 Redirect có ảnh hưởng đến tốc độ tải trang không?
Có, nhưng rất nhỏ — thường dưới 100ms. Tuy nhiên, nếu có chuỗi redirect dài hoặc server xử lý chậm, độ trễ có thể tăng rõ rệt. Vì vậy, luôn ưu tiên redirect trực tiếp và kiểm tra thời gian phản hồi bằng công cụ như WebPageTest hoặc PageSpeed Insights.
Bảng so sánh các loại redirect phổ biến
| Mã HTTP | Tên gọi | Truyền link equity? | Google coi là tạm hay vĩnh viễn? | Khuyến nghị dùng khi |
|---|---|---|---|---|
| 301 | Moved Permanently | Có (cao nhất) | Vĩnh viễn | Thay đổi URL vĩnh viễn, di dời trang, đổi tên miền |
| 302 | Found (hoặc Moved Temporarily) | Không (hoặc rất thấp) | Tạm thời | Bảo trì, A/B test, chạy khuyến mãi ngắn hạn |
| 307 | Temporary Redirect | Không | Tạm thời | Cần giữ nguyên phương thức HTTP (POST/GET) trong redirect tạm |
| 308 | Permanent Redirect | Có (tương đương 301) | Vĩnh viễn | Cần giữ nguyên phương thức HTTP trong redirect vĩnh viễn (ít dùng) |