Bạn đã quyết định thiết kế lại trang web của mình. Bạn đã lên kế hoạch cấu trúc mới và nhận ra bài đăng blog yêu thích của mình về "Những chiếc máy xay cà phê tốt nhất" cần một URL mới, gọn gàng hơn. Nó sẽ chuyển từ /blog/2018/best-coffee-grinders
sang /guides/best-coffee-grinders
.
Đây là một thay đổi phổ biến và hợp lý. Nhưng nó tạo ra một vấn đề lớn: bất kỳ ai đã đánh dấu URL cũ hoặc nhấp vào liên kết từ một trang web khác giờ đây sẽ gặp phải lỗi 404 Not Found
(Không tìm thấy). Tất cả lưu lượng truy cập, uy tín và "link juice" SEO mà trang cũ đã tích lũy trong nhiều năm sẽ biến mất chỉ sau một đêm.
Thảm họa kỹ thuật số này được tránh bằng một trong những chỉ dẫn quan trọng và mạnh mẽ nhất trong giao thức HTTP: chuyển hướng 301 Moved Permanently
.
Mặc dù có vẻ như chỉ là một dòng mã khác không được chú ý, 301 cực kỳ quan trọng để chuyển hướng lưu lượng truy cập web, bảo toàn SEO và đảm bảo trải nghiệm duyệt web mượt mà.
Về cơ bản, 301 có nghĩa là một tài nguyên đã được di chuyển vĩnh viễn đến một vị trí mới. Nhưng nghe có vẻ đơn giản như vậy, nó đi kèm với rất nhiều sắc thái, đặc biệt nếu bạn đang làm việc với lưu lượng truy cập web, API hoặc tối ưu hóa công cụ tìm kiếm.
Chuyển hướng 301 tương đương với việc thiết lập chuyển tiếp thư với bưu điện trên web. Đó là một ánh xạ vĩnh viễn, một-đối-một từ địa chỉ cũ sang địa chỉ mới. Nó nói với các trình duyệt và công cụ tìm kiếm, "Tôi không còn ở đây nữa. Tôi đã chuyển đến một ngôi nhà mới, vĩnh viễn. Vui lòng cập nhật hồ sơ của bạn và đi đến đó thay thế."
Nếu bạn quan tâm đến SEO, trải nghiệm người dùng hoặc duy trì một trang web ổn định, việc hiểu về chuyển hướng 301 là điều không thể bỏ qua.
Trong bài đăng blog này, chúng ta sẽ nói về mã trạng thái 301 là gì, tại sao nó được sử dụng, cách nó ảnh hưởng đến trang web hoặc API của bạn và các phương pháp hay nhất để triển khai. Nếu bạn đang làm việc với API và muốn kiểm tra cách hệ thống của bạn xử lý các chuyển hướng như 301, bạn không cần phải thiết lập một máy chủ từ đầu. Bạn có thể sử dụng Apidog, một nền tảng thiết kế, kiểm thử và tài liệu API tất cả trong một mạnh mẽ. Với Apidog, bạn có thể mô phỏng phản hồi 301, kiểm tra hành vi của client và tài liệu hóa mọi thứ ở một nơi. Và vâng, nó miễn phí để tải xuống.
Bây giờ, hãy cùng khám phá mọi thứ bạn cần biết về mã trạng thái HTTP 301 Moved Permanently.
Vấn đề: Liên kết hỏng và mất uy tín
Web được xây dựng trên các liên kết. Theo thời gian, một trang có giá trị sẽ tích lũy được uy tín:
- Backlinks: Các trang web khác liên kết đến nó.
- Chia sẻ mạng xã hội: Mọi người chia sẻ nó trên mạng xã hội.
- Dấu trang: Người dùng lưu lại để dùng sau.
- Xếp hạng công cụ tìm kiếm: Google và các công cụ khác xếp hạng nó cao cho các từ khóa nhất định.
Nếu bạn thay đổi URL mà không có chuyển hướng, bạn sẽ phá vỡ mọi kết nối này. Đây được gọi là "liên kết hỏng" (link rot), và đó là một nguồn gây thất vọng và mất giá trị lớn trên internet. Chuyển hướng 301 là giải pháp dứt khoát cho vấn đề này.
Mã trạng thái HTTP 301 Moved Permanently là gì?
Mã trạng thái 301 Moved Permanently là một phần của lớp mã trạng thái HTTP 3xx, chuyên xử lý chuyển hướng.
Khi một client (như trình duyệt hoặc người dùng API) yêu cầu một tài nguyên, và máy chủ phản hồi bằng 301
, nó đang nói:
“Tài nguyên này không còn ở đây nữa. Nó đã được di chuyển vĩnh viễn đến một URL mới.”
Cùng với phản hồi 301, máy chủ thường bao gồm một Location header (tiêu đề Location), cho client biết nơi tiếp theo để đi. Khi máy chủ phản hồi với mã trạng thái 301, nó đang nói với client: “Tài nguyên bạn đang tìm kiếm không còn ở đây nữa. Nó hiện đang ở một URL mới, và bạn nên cập nhật các liên kết hoặc dấu trang của mình cho phù hợp.”
Đây là một ví dụ đơn giản:
HTTP/1.1 301 Moved Permanently
Location: <https://example.com/new-page>
Khi client thấy điều này, nó sẽ tự động truy cập URL mới. Điều này quan trọng vì nó cho biết một thay đổi vĩnh viễn, không giống như các chuyển hướng tạm thời (như mã trạng thái 302 Found) nơi URL gốc vẫn có thể hợp lệ sau này.
Tại sao 301 Moved Permanently lại quan trọng?
Mã trạng thái 301 đóng một vai trò quan trọng vì nó:
- Cải thiện trải nghiệm người dùng: Người dùng nhấp vào các liên kết cũ được chuyển hướng mượt mà đến đúng nơi mà không gặp phải các liên kết hỏng.
- Bảo toàn giá trị SEO: Các công cụ tìm kiếm chuyển các tín hiệu xếp hạng, backlinks và uy tín của URL cũ sang URL mới.
- Đảm bảo tính nhất quán: Khách truy cập và bot nhận được thông báo rõ ràng rằng nội dung đã di chuyển, tránh nội dung trùng lặp và sự nhầm lẫn.
- Hỗ trợ thay đổi trang web: Khi thiết kế lại trang web, tái cấu trúc URL hoặc di chuyển nội dung, chuyển hướng 301 giúp duy trì lưu lượng truy cập.
Nếu không sử dụng chuyển hướng 301 đúng cách, bạn có nguy cơ mất thứ hạng công cụ tìm kiếm và gây khó chịu cho người dùng với các liên kết hỏng.
Tầm quan trọng chính của 301:
- Bảo toàn trải nghiệm người dùng → Khách truy cập không gặp phải liên kết hỏng.
- Truyền giá trị SEO → Các công cụ tìm kiếm chuyển sức mạnh xếp hạng từ URL cũ sang URL mới.
- Hỗ trợ sự ổn định của API → Client không bị lỗi khi tài nguyên di chuyển.
Cách hoạt động: Hành trình của trình duyệt
Hãy cùng theo dõi điều gì xảy ra khi bạn gặp một chuyển hướng 301.
- Bạn nhấp vào một liên kết: Bạn nhấp vào một liên kết cũ:
https://old-site.com/classic-page
. - Yêu cầu: Trình duyệt của bạn gửi yêu cầu đến máy chủ của
old-site.com
. - Phản hồi 301: Máy chủ phản hồi với
301 Moved Permanently
và một tiêu đềLocation: >.
Chuyển hướng tự động: Trình duyệt của bạn thấy trạng thái
301
và tiêu đềLocation
. Nó ngay lập tức và tự động thực hiện một yêu cầu mới đến URL trong tiêu đềLocation
. Điều này xảy ra mà bạn không hề nhận thấy.Điểm đến cuối cùng: Máy chủ tại
new-site.com
phản hồi yêu cầu mới với200 OK
và nội dung của trang hiện đại.Trình duyệt cập nhật thanh địa chỉ: Thanh địa chỉ của trình duyệt của bạn cập nhật để hiển thị URL mới:
https://new-site.com/modern-page
.
Từ góc độ người dùng, họ đã nhấp vào một liên kết và đến đúng trang. Quá trình chuyển hướng phức tạp đã diễn ra mượt mà trong nền. Việc chuyển hướng này thường liền mạch đối với người dùng và các công cụ tìm kiếm. Hãy hình dung nó giống như việc chuyển nhà: 301 là "địa chỉ chuyển tiếp" đảm bảo thư của bạn (hoặc trong trường hợp này, các yêu cầu) được gửi đúng cách.
Khi nào bạn nên sử dụng 301 Moved Permanently?
Sử dụng chuyển hướng 301 đúng cách có thể giữ cho trang web của bạn khỏe mạnh và URL của bạn gọn gàng. Các trường hợp phổ biến bao gồm:
Di chuyển trang web: Khi di chuyển trang web của bạn sang một tên miền mới.
Thay đổi cấu trúc URL: Thay đổi đường dẫn hoặc viết lại URL để dễ đọc hơn.
URL chính tắc (Canonical URLs): Hợp nhất các URL khác nhau phục vụ cùng một nội dung (ví dụ: có và không có www).
Sửa lỗi liên kết hỏng: Chuyển hướng các liên kết lỗi thời đến các tài nguyên hiện tại.
Tái sử dụng nội dung: Khi nội dung được hợp nhất hoặc di chuyển vĩnh viễn.
Siêu năng lực SEO: Bảo toàn "Link Juice"
Đây là khía cạnh quan trọng nhất của chuyển hướng 301. Các công cụ tìm kiếm như Google hiểu mã
301
về mặt ngữ nghĩa. Khi chúng gặp mã này, chúng thực hiện hai điều:
Chúng lập chỉ mục URL mới: Chúng bắt đầu thu thập dữ liệu và lập chỉ mục nội dung tại vị trí mới.
Chúng chuyển giao giá trị liên kết: Chúng chuyển phần lớn sức mạnh xếp hạng, uy tín và "link juice" từ URL cũ sang URL mới.
Điều này có nghĩa là trang mới của bạn về cơ bản có thể kế thừa thứ hạng công cụ tìm kiếm của trang cũ. Nếu không có chuyển hướng 301, giá trị đó sẽ bị mất.
301 so với các chuyển hướng khác: Biết công cụ phù hợp cho công việc
Không phải tất cả các chuyển hướng đều giống nhau. Sử dụng sai có thể gây ra vấn đề.
301 Moved Permanently
: Vĩnh viễn. Sử dụng cái này khi bạn biết việc di chuyển là... vĩnh viễn. Để thay đổi tên miền, tái cấu trúc lược đồ URL của trang web của bạn hoặc chuyển từ HTTP sang HTTPS. Nó cho công cụ tìm kiếm biết *cập nhật chỉ mục của chúng* và chuyển giao giá trị.302 Found
: Tạm thời. Sử dụng cái này cho những thứ tồn tại trong thời gian ngắn, như thử nghiệm A/B một bố cục trang mới hoặc trong thời gian bảo trì ngắn. Các công cụ tìm kiếm sẽ giữ *URL gốc* trong chỉ mục của chúng và sẽ không chuyển giao giá trị liên kết. Sử dụng 302 cho một sự di chuyển vĩnh viễn là một lỗi SEO phổ biến.307 Temporary Redirect
: Một phiên bản hiện đại, nghiêm ngặt hơn của302
đảm bảo trình duyệt sẽ không thay đổi phương thức HTTP (ví dụ: một POST sẽ vẫn là POST).308 Permanent Redirect
: Một phiên bản hiện đại, nghiêm ngặt hơn của301
cũng đảm bảo phương thức HTTP sẽ không thay đổi.
Đối với hầu hết các trường hợp sử dụng phổ biến (thay đổi URL của một trang),
301
là lựa chọn hoàn hảo và chính xác.
Các cân nhắc về SEO cho chuyển hướng 301
Một trong những lý do được nhắc đến nhiều nhất để sử dụng chuyển hướng 301 là SEO. Dưới đây là những gì bạn cần biết:
Các công cụ tìm kiếm coi chuyển hướng 301 là một tín hiệu rằng trang đã di chuyển vĩnh viễn.
Hầu hết giá trị liên kết (sức mạnh xếp hạng) được chuyển qua các chuyển hướng 301, bảo toàn các khoản đầu tư SEO của bạn.
Có thể mất một thời gian để các công cụ tìm kiếm xử lý chuyển hướng và cập nhật chỉ mục.
Tránh các chuỗi chuyển hướng (nhiều chuyển hướng liên tiếp) vì chúng làm giảm giá trị liên kết và giảm hiệu suất.
Các chuyển hướng 301 rõ ràng và vĩnh viễn giúp tránh các hình phạt nội dung trùng lặp.
Ví dụ về 301 trong thực tế
Ví dụ 1: Di chuyển trang web
GET /old-page HTTP/1.1
Host: www.example.com
Phản hồi:
HTTP/1.1 301 Moved Permanently
Location: <https://www.example.com/new-page>
Ví dụ 2: Phiên bản hóa API
GET /api/v1/users HTTP/1.1
Phản hồi:
HTTP/1.1 301 Moved Permanently
Location: /api/v2/users
Ví dụ 3: Đổi thương hiệu tên miền
GET /about-us HTTP/1.1
Host: oldbrand.com
Phản hồi:
HTTP/1.1 301 Moved Permanently
Location: <https://newbrand.com/about-us>
Cách triển khai chuyển hướng 301
Có hai cách chính để thiết lập chuyển hướng 301, tùy thuộc vào quyền kiểm soát của bạn đối với máy chủ.
1. Cấu hình phía máy chủ (Thực hành tốt nhất)
Điều này được thực hiện bằng cách cấu hình máy chủ web của bạn (như Apache hoặc Nginx) hoặc framework ứng dụng của bạn. Nó nhanh, hiệu quả và diễn ra ở cấp độ giao thức.
Apache (qua tệp .htaccess):
Redirect 301 /old-page.html <https://www.new-site.com/new-page.html>
hoặc mạnh mẽ hơn với
mod_rewrite
:
apache
RewriteEngine On
RewriteRule ^old-blog/(.*)$ /new-blog/$1 [R=301,L]
Nginx (trong cấu hình khối máy chủ):
server {
...
location /old-page.html {
return 301 <https://www.new-site.com/new-page.html>;
}
}
2. Cấp độ ứng dụng (Kém hiệu quả hơn)
Điều này được thực hiện trong mã ứng dụng của bạn (ví dụ: PHP, Node.js, Python). Nó linh hoạt hơn nhưng chậm hơn vì nó yêu cầu khởi động ứng dụng của bạn để xử lý yêu cầu.
PHP:
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: <https://www.new-site.com/new-page.html>");
exit();
?>
Node.js (Express):
javascript
app.get('/old-page', (req, res) => {
res.redirect(301, '<https://www.new-site.com/new-page>');
});
Cách Apidog giúp bạn làm việc với chuyển hướng 301

Mặc dù các trình duyệt xử lý chuyển hướng tự động, việc kiểm tra và xác minh hành vi chuyển hướng là rất quan trọng trong phát triển API. Thiết lập chuyển hướng sai có thể tạo ra các vòng lặp vô hạn hoặc làm hỏng trang web của bạn. Kiểm thử là rất quan trọng. Đây là lúc Apidog trở thành một công cụ thiết yếu.
Với Apidog, bạn có thể:
Theo dõi chuyển hướng: Gửi yêu cầu đến một URL cũ và xem Apidog tự động theo dõi chuỗi chuyển hướng, hiển thị cho bạn từng bước (301 -> 200) và đích đến cuối cùng.
Xác minh mã trạng thái: Đảm bảo máy chủ đang gửi
301
chứ không phải302
. Điều này rất quan trọng đối với SEO.Kiểm tra tiêu đề Location: Xác thực rằng tiêu đề
Location
chứa URL tuyệt đối chính xác.Kiểm tra hàng loạt: Nếu bạn đã thay đổi nhiều URL, bạn có thể sử dụng Apidog để tạo một bộ sưu tập các bài kiểm tra để kiểm tra tất cả các URL cũ của bạn nhằm đảm bảo chúng chuyển hướng 301 chính xác đến các URL mới.
Tránh bộ nhớ cache của trình duyệt: Các trình duyệt lưu trữ bộ nhớ cache chuyển hướng 301 một cách tích cực. Điều này khiến việc kiểm tra trở thành một cơn ác mộng vì một 301 sai lầm có thể khó hoàn tác. Apidog không gặp vấn đề này, cho phép kiểm tra sạch sẽ, có thể lặp lại.
Tải ứng dụng Với điều này, bạn có thể mô phỏng các kịch bản thực tế như một API di chuyển sang phiên bản mới mà không cần triển khai các thay đổi backend. Tải xuống Apidog miễn phí sẽ cung cấp cho bạn khả năng kiểm thử mạnh mẽ này, để không có chuyển hướng nào làm bạn bất ngờ trong quá trình triển khai!
Cách API xử lý phản hồi 301
Trong khi các trang web xử lý 301
khá liền mạch, API đòi hỏi nhiều suy nghĩ hơn.
Client phải xử lý chuyển hướng một cách rõ ràng:
- Một số client HTTP tự động theo dõi chuyển hướng.
- Những client khác yêu cầu xử lý thủ công.
Đây là cách một **client API** điển hình nhìn nhận nó:
HTTP/1.1 301 Moved Permanently
Location: /api/v2/resource
Nếu bạn không cấu hình client API của mình đúng cách, nó có thể chỉ dừng lại ở 301 thay vì theo dõi tiếp.
Các trường hợp sử dụng phổ biến cho chuyển hướng 301
- Thay đổi tên miền →
oldsite.com
→ newsite.com
. - Chuyển từ HTTP sang HTTPS → Chuyển hướng tất cả các yêu cầu
http://
sang https://
. - Hợp nhất các trang web → Kết hợp nhiều trang web nhỏ thành một tên miền.
- Nâng cấp phiên bản API → Chuyển hướng client từ
v1
sang v2
. - Dọn dẹp SEO → Khắc phục nội dung trùng lặp bằng cách hợp nhất các URL.
Các lỗi thường gặp và phương pháp hay nhất cho nhà phát triển và đội ngũ SEO
- Tránh chuỗi chuyển hướng: Cố gắng trỏ URL cũ trực tiếp đến đích cuối cùng (A -> C) thay vì tạo chuỗi (A -> B -> C). Mỗi chuyển hướng đều làm tăng độ trễ. Lý tưởng nhất là chuyển hướng trực tiếp.
- Sử dụng URL tuyệt đối: Luôn sử dụng URL đầy đủ, tuyệt đối (https://...) trong tiêu đề
Location
. Kết hợp việc di chuyển HTTPS của bạn với chuyển hướng 301. - Cập nhật liên kết nội bộ: Đừng dựa vào chuyển hướng cho điều hướng trang web của riêng bạn. Cập nhật các liên kết nội bộ của bạn để trỏ trực tiếp đến các URL mới. Chuyển hướng dành cho người dùng và công cụ tìm kiếm đến từ bên ngoài.
- Hãy chắc chắn: Hãy nhớ rằng,
301
có nghĩa là *vĩnh viễn*. Các công cụ tìm kiếm và trình duyệt sẽ lưu trữ điều này một cách tích cực. Đừng sử dụng nó để kiểm tra. - Kiểm tra công việc của bạn: Sau khi triển khai, sử dụng các công cụ như Apidog, Screaming Frog SEO Spider hoặc công cụ dành cho nhà phát triển trình duyệt để xác minh rằng chuyển hướng đang hoạt động chính xác và trả về trạng thái
301
. - Tài liệu hóa chuyển hướng: Nếu làm việc với API, hãy sử dụng Apidog để làm rõ hành vi chuyển hướng.
- Kiểm tra mọi thứ: Chạy qua các client, thiết bị và môi trường khác nhau.
Những lỗi phổ biến cần tránh với chuyển hướng 301
- Sử dụng 302 thay vì 301 cho các di chuyển vĩnh viễn: 302 dành cho các chuyển hướng tạm thời và không truyền lợi ích SEO.
- Tạo chuỗi chuyển hướng: Nhiều chuyển hướng làm chậm các yêu cầu và có thể gây ra vấn đề SEO.
- Chuyển hướng nhiều URL đến một trang duy nhất một cách bừa bãi: Có thể trông giống như 404 mềm và làm tổn hại thứ hạng.
- Quên cập nhật liên kết nội bộ: Chuyển hướng có ích nhưng cập nhật trực tiếp các liên kết thì tốt hơn.
- Bỏ qua việc di chuyển HTTPS: Đảm bảo 301 xử lý đúng cách các chuyển hướng http sang https để đảm bảo bảo mật và SEO.
Redirect (Chuyển hướng) so với Rewrite (Viết lại): Sự khác biệt là gì?
Cần làm rõ rằng một **chuyển hướng (redirect)** (như 301) yêu cầu client truy cập một URL mới. Một **viết lại (rewrite)** xảy ra ở phía máy chủ và ánh xạ nội bộ một URL sang URL khác mà không thông báo cho client. Chuyển hướng liên quan đến tương tác của client và cập nhật thanh địa chỉ trình duyệt, trong khi viết lại là trong suốt đối với client.
Giám sát và quản lý chuyển hướng
Giữ cho các chuyển hướng của bạn hiệu quả bằng cách:
- Thường xuyên xem xét các bản đồ chuyển hướng.
- Loại bỏ các chuyển hướng không cần thiết hoặc lỗi thời.
- Sử dụng các công cụ như Apidog để kiểm tra phản hồi chuyển hướng.
- Giữ thời gian tải thấp bằng cách tránh các chuỗi chuyển hướng dài.
Kết luận: Tại sao 301 Moved Permanently lại quan trọng đối với mọi nhà phát triển
Mã trạng thái HTTP 301 Moved Permanently
không chỉ là một hướng dẫn kỹ thuật; nó là một trụ cột cơ bản của một trang web ổn định, thân thiện với người dùng và thân thiện với SEO. Nó cho phép internet phát triển và thay đổi mà không làm hỏng vô số kết nối mang lại giá trị cho nó.
Nó trao quyền cho các nhà phát triển và chủ sở hữu trang web cải thiện trang web của họ, an tâm rằng họ sẽ không cắt đứt các kết nối khó khăn đã xây dựng với khán giả và thứ hạng công cụ tìm kiếm của họ.
Cho dù bạn đang di chuyển một trang web, dọn dẹp URL hay quản lý API, việc hiểu và sử dụng chuyển hướng 301 đúng cách có thể giúp bạn tránh đau đầu và bảo toàn lưu lượng truy cập của mình.
Nếu bạn là nhà phát triển API hoặc quản lý trang web, việc học cách **sử dụng 301 đúng cách** có thể giúp bạn tránh đau đầu, bảo vệ thứ hạng SEO và mang lại trải nghiệm người dùng mượt mà.
Và hãy nhớ rằng khi đến lúc **kiểm tra phản hồi 301 hoặc mô phỏng các kịch bản chuyển hướng**, **Apidog** là người bạn tốt nhất của bạn. Nó cho phép bạn thiết kế, kiểm tra, tài liệu hóa API (bao gồm các trường hợp đặc biệt như chuyển hướng) ở một nơi và khắc phục sự cố các mã trạng thái HTTP như 301, giúp bạn xây dựng trải nghiệm web tốt hơn. Tải xuống ngay hôm nay miễn phí và làm cho hành trình phát triển API của bạn dễ dàng hơn.
Tải ứng dụng