HTTP 301 so với 302 Chuyển Hướng: Sự Khác Biệt Về SEO và Phương Pháp

HTTP 301 so với 302 Chuyển Hướng: Sự Khác Biệt Là Gì?

API Thu Thập Dữ Liệu Không Bị Rác thu thập các trang web công khai và phơi bày nội dung trang cuối cùng cho quy trình làm việc cần theo dõi và xác thực các chuyển hướng HTTP.

TL;DR

  • HTTP 301 so với 302 Chuyển Hướng: Sự Khác Biệt Là Gì có một ranh giới kỹ thuật chính xác. Một chuyển hướng không chỉ là một mẹo điều hướng. Nó là siêu dữ liệu về vị trí chuẩn của tài nguyên và trạng thái tương lai mong đợi. Các hệ thống tìm kiếm có thể coi chuyển hướng vĩnh viễn như một tín hiệu chuẩn mạnh mẽ, trong khi các chuyển hướng tạm thời thường giữ lại URL cũ như địa chỉ dài hạn mong đợi. Khách hàng và bộ nhớ đệm cũng có thể giữ lại các ánh xạ vĩnh viễn một cách tích cực hơn.
  • Di chuyển vĩnh viễn để lại trên 302 là một nguyên nhân phổ biến. Một tín hiệu tạm thời vẫn còn cho việc di chuyển miền, dọn dẹp URL, hoặc con đường đã nghỉ hưu lâu sau khi vị trí cũ quay lại. Hành vi tìm kiếm và bộ nhớ đệm có thể không quyết đoán như mong muốn.
  • An toàn phương pháp thay đổi bước tiếp theo an toàn. Sử dụng 307 cho chuyển hướng tạm thời và 308 cho chuyển hướng vĩnh viễn khi khách hàng phải giữ nguyên phương thức HTTP ban đầu và thân yêu cầu.
  • Sử dụng 301 cho một sự thay thế lâu dài. Di chuyển miền, thay đổi slug vĩnh viễn, và chuẩn hóa URL chuẩn thường phù hợp với tín hiệu này.
  • Chuyển hướng trong Thu Thập Tự Động yêu cầu phân loại rõ ràng. Đừng mang theo thông tin xác thực đến một máy chủ không liên quan sau khi chuyển hướng. Tôn trọng ranh giới ủy quyền, các điều khoản của trang, và luật áp dụng, và giữ các trang truy cập bị từ chối hoặc lỗi được chuyển hướng ra ngoài các tập dữ liệu được trích xuất.

Vĩnh Viễn Là Sự Khác Biệt Chính, Không Phải Đích Đến

Một 301 và một 302 có thể gửi một trình duyệt đến cùng một đích đến, vì vậy trải nghiệm nhìn thấy có thể giống hệt nhau. Thông điệp ngữ nghĩa là khác nhau. Một 301 nói rằng tài nguyên có một URI vĩnh viễn mới, trong khi một 302 nói rằng tài nguyên yêu cầu tạm thời có sẵn tại một URI khác.

Sự phân biệt đó ảnh hưởng đến bộ nhớ đệm, khách hàng, công cụ tìm kiếm, phân tích, và bảo trì trong tương lai. Một di chuyển trang web vĩnh viễn không nên phụ thuộc vào một tín hiệu tạm thời trong vài tháng. Một lộ trình bảo trì ngắn không nên nói với mỗi người tiêu dùng rằng địa chỉ cũ đã bị thay thế mãi mãi.

Hành vi chuyển hướng cũng có một nếp gấp lịch sử phương pháp. Các tác nhân người dùng từ trước đến nay đã thay đổi một số yêu cầu POST thành GET sau 301 hoặc 302. HTTP hiện đại cung cấp 307 và 308 khi việc bảo toàn phương thức và thân yêu cầu được yêu cầu. Việc lựa chọn chuyển hướng do đó cần hai quyết định: vĩnh viễn hay tạm thời, và hành vi thay đổi phương pháp được phép hay bảo tồn phương pháp là cần thiết.

Quy Tắc Trực Tiếp cho 301 so với 302

Sử dụng 301 Di Chuyển Vĩnh Viễn khi URI mục tiêu nên thay thế URI cũ cho các tham chiếu trong tương lai, và sử dụng 302 Tìm Thấy khi vị trí thay thế là tạm thời. Tiêu chuẩn ngữ nghĩa HTTP định nghĩa cả hai phản hồi và yêu cầu mục tiêu chuyển hướng phải được truyền trong tiêu đề Location.

Một chuyển hướng không chỉ là một mẹo điều hướng. Nó là siêu dữ liệu về vị trí chuẩn của tài nguyên và trạng thái tương lai mong đợi. Các hệ thống tìm kiếm có thể coi chuyển hướng vĩnh viễn như một tín hiệu chuẩn mạnh mẽ, trong khi các chuyển hướng tạm thời thường giữ lại URL cũ như địa chỉ dài hạn mong đợi. Khách hàng và bộ nhớ đệm cũng có thể giữ lại các ánh xạ vĩnh viễn một cách tích cực hơn.

Điều Gì Xảy Ra Sau Khi Tiêu Đề Location Đến

Khách hàng yêu cầu URL cũ và nhận được trạng thái 3xx với giá trị Location. Nó giải quyết giá trị đó, áp dụng chính sách chuyển hướng, và phát hành một yêu cầu khác. Mỗi chuyến đi có thể thay đổi chế độ, máy chủ, đường dẫn, truy vấn, cookies, phạm vi xác thực, và hành vi phương pháp, vì vậy chuỗi đầy đủ là quan trọng.

Đối với điều hướng GET thông thường, 301 và 302 thường xuất hiện thay thế cho nhau. Đối với các yêu cầu không phải GET, hành vi của trình duyệt lịch sử có thể chuyển đổi yêu cầu theo sau thành GET. Điều đó có thể chấp nhận được sau một lần gửi mẫu mà nên hạ cánh trên một trang xác nhận chỉ đọc, nhưng nó không an toàn đối với một hoạt động API mà thân của nó phải đến đích mà không thay đổi.

Các bộ thu thập tìm kiếm đánh giá nhiều hơn mã. Độ thích hợp của đích đến, chiều dài chuỗi, liên kết nội bộ, thẻ chuẩn, mục nhập sơ đồ trang web, và việc chuyển hướng có tồn tại theo thời gian tất cả đều ảnh hưởng đến việc hợp nhất. Một 301 hợp lệ về mặt kỹ thuật đến một trang chính không liên quan có thể vẫn hành xử như một di chuyển kém hoặc một lỗi mềm.

Kích thướcTín hiệu ATín hiệu B
Thời gian dự kiếnDi chuyển vĩnh viễnVị trí thay thế tạm thời
Trạng thái301 Di Chuyển Vĩnh Viễn302 Tìm Thấy
Kỳ vọng chuẩnURL mới nên thay thế URL cũURL cũ vẫn là nhà mong đợi
Lịch sử phương phápPOST có thể trở thành GETPOST có thể trở thành GET

Nơi Các Triển Khai Chuyển Hướng Đi Sai

Hầu hết các lỗi chuyển hướng đến từ tính vĩnh viễn không chính xác, chuỗi không kiểm soát, thay đổi phương pháp, hoặc một đích đến không khớp với tài nguyên cũ.

Di chuyển vĩnh viễn để lại trên 302

Một tín hiệu tạm thời vẫn còn cho một di chuyển miền, dọn dẹp URL, hoặc con đường đã nghỉ hưu lâu sau khi vị trí cũ quay lại. Hành vi tìm kiếm và bộ nhớ đệm có thể không quyết đoán như mong muốn.

Thí nghiệm tạm thời được gửi dưới dạng 301

Một tuyến A/B, chuyển đổi khu vực hoặc trang bảo trì được đánh dấu là vĩnh viễn. Khách hàng có thể giữ lại ánh xạ sau khi thí nghiệm kết thúc, làm cho việc quay lại trở nên khó khăn hơn.

Phương thức POST đã thay đổi một cách bất ngờ

Một khách hàng theo sau 301 hoặc 302 với GET, do đó đích đến không bao giờ nhận được nội dung gốc. Các API yêu cầu bảo tồn phương thức nên sử dụng 307 hoặc 308.

Chuỗi chuyển hướng tích lũy

HTTP-to-HTTPS, chuẩn hóa máy chủ, lựa chọn ngôn ngữ địa phương và di chuyển đường dẫn có thể chồng chất thành nhiều lượt nhảy. Mỗi lượt đi thêm làm tăng độ trễ và thêm một điểm thất bại.

Đích đến không liên quan

Nhiều trang bị xóa trỏ đến trang chủ hoặc một danh mục rộng mà không quan tâm đến ý định. Người dùng mất đi ngữ cảnh, và các hệ thống tìm kiếm có thể coi ánh xạ như một lỗi nhẹ.

Các tham chiếu nội bộ vẫn sử dụng URL cũ

Điều hướng, các canonical, sơ đồ trang web, nguồn cấp dữ liệu và các khách hàng API vẫn tiếp tục vào qua chuyển hướng thay vì liên kết trực tiếp đến vị trí canonical cuối cùng.

Kiểm toán toàn bộ chuỗi chuyển hướng

Một chuyển hướng là chính xác chỉ khi trạng thái, đích đến, hành vi phương thức và tín hiệu canonical xung quanh đồng ý với động thái dự định.

  1. Nêu rõ ý định. Ghi lại xem URL cũ có trở lại hay không, liệu đích đến có phải là tài nguyên tương đương hay không, và liệu các phương thức không phải GET có phải được bảo tồn hay không.
  2. Ghi lại từng lượt nhảy. Ghi lại trạng thái, Địa điểm, phương thức, máy chủ, sơ đồ, đường dẫn và thời gian cho đến phản hồi không chuyển hướng cuối cùng.
  3. Kiểm tra nội dung đích đến. Xác nhận rằng trang cuối cùng đáp ứng mục đích của URL cũ thay vì chỉ đơn giản trả về 200.
  4. Kiểm tra hành vi phương thức. Sử dụng một điểm cuối không phá hủy để xác minh xem khách hàng có bảo tồn hoặc thay đổi phương thức và nội dung qua trạng thái được chọn hay không.
  5. Căn chỉnh tín hiệu canonical. Cập nhật các liên kết nội bộ, thẻ canonical, hreflang, mục trong sơ đồ trang web, và nguồn cấp dữ liệu đến URL cuối cùng thay vì dựa vào chuyển hướng như một đường ống vĩnh viễn.
  6. Loại bỏ các vòng lặp và chuỗi dài. Chỉ định mỗi URL cũ trực tiếp đến đích cuối cùng của nó và kiểm tra xử lý chuỗi truy vấn một cách rõ ràng.
  7. Giám sát các URL cũ và mới. Theo dõi hoạt động thu thập, trạng thái đích, lập chỉ mục, và hành vi 404 hoặc lỗi nhẹ không mong đợi sau khi phát hành.

Các ngữ nghĩa giao thức trong Ngữ nghĩa HTTP, hành vi 301 chi tiết trong tài liệu tham khảo 301 của MDN, và hành vi 302 trong tài liệu tham khảo 302 của MDN hỗ trợ một cuộc kiểm toán dựa trên ý định.

Chọn Chuyển Hướng Đúng

Trạng thái chính xác theo dõi quá trình di chuyển và hành vi yêu cầu phương thức cần thiết.

  • Sử dụng 301 cho một sự thay thế bền vững. Chuyển đổi miền, thay đổi slug vĩnh viễn, và chuẩn hóa URL canonical thường phù hợp với tín hiệu này.
  • Sử dụng 302 cho một vị trí tạm thời ngắn hạn. Bảo trì, định tuyến tạm thời, và các thí nghiệm có thể đảo ngược phù hợp khi URL cũ vẫn là canonical.
  • Sử dụng 307 hoặc 308 khi bảo tồn phương thức là quan trọng. Chọn ngữ nghĩa tạm thời hoặc vĩnh viễn mà không cho phép POST trở thành GET.
  • Liên kết trực tiếp đến đích đến. Một khi việc di chuyển đã được biết, cập nhật các tham chiếu nội bộ để người dùng và trình thu thập tránh những lượt nhảy không cần thiết.

Kiểm tra di chuyển và SEO mà quan trọng

Chất lượng di chuyển tìm kiếm phụ thuộc vào tính tương đương đích đến và tín hiệu trang web nhất quán, không chỉ dựa vào mã trạng thái.

Đối với một động thái vĩnh viễn, Google tài liệu các chuyển hướng vĩnh viễn phía máy chủ như một tín hiệu mạnh rằng mục tiêu nên trở thành canonical trong hướng dẫn chuyển hướng của nó. Giữ nguyên ánh xạ cũ đủ lâu để người dùng, bot, và các liên kết bên ngoài có thể chuyển tiếp, và tránh chuyển hướng các URL không liên quan đến một trang chung.

Cập nhật sơ đồ trang và tất cả các liên kết nội bộ đến các URL cuối cùng. Các tham chiếu canonical và hreflang cũng nên chỉ đến các trang cuối cùng có thể truy cập.

Đo lường các chuỗi sau mỗi lần thay đổi định tuyến. Việc chuẩn hóa máy chủ và nâng cấp HTTPS nên được gộp vào cùng một bước chuyển tiếp trực tiếp với việc di chuyển nội dung khi có thể. Giữ nguyên các tham số truy vấn chỉ khi chúng vẫn có nghĩa và không tạo ra các điểm đến trùng lặp.

Bảng quyết định chuyển hướng

Tính vĩnh viễn và giữ nguyên phương pháp tạo ra bốn lựa chọn phổ biến.

Trường hợpÝ nghĩaPhản hồi được khuyến nghị
Vĩnh viễn, điều hướng GETURI mới thay thế URI cũ301
Tạm thời, điều hướng GETURI cũ vẫn là địa chỉ lâu dài302
Vĩnh viễn, giữ nguyên phương phápURI mới thay thế URI cũ mà không thay đổi phương pháp308
Tạm thời, giữ nguyên phương phápTạm thời thay thế mà không thay đổi phương pháp307

Chuyển hướng trong Bộ sưu tập Tự động

Một trình thu thập sử dụng Scrapeless Universal Scraping API nên lưu trữ cả URL yêu cầu và URL cuối cùng. Việc theo dõi chuyển hướng là cần thiết để lấy dữ liệu, nhưng việc gộp chúng lại trong im lặng xóa bỏ bằng chứng về việc di chuyển, định tuyến theo địa phương, vòng đăng nhập, và các điểm đến lỗi mềm.

Đặt giới hạn bước nhảy cố định, phát hiện vòng lặp, và xác thực nội dung cuối cùng. Ghi lại trạng thái và Địa điểm của mỗi lần để một công việc chuẩn hóa có thể cập nhật các URL nguồn. Nếu một chuyển hướng vĩnh viễn liên tục dẫn đến một trang tương đương, danh mục bộ sưu tập có thể áp dụng URL cuối cùng; một chuyển hướng tạm thời nên giữ nguyên bản sắc ban đầu.

Không mang theo thông tin xác thực đến một máy chủ không liên quan sau khi chuyển hướng. Tôn trọng ranh giới ủy quyền, điều khoản trang web, và luật áp dụng, và giữ các trang truy cập bị từ chối hoặc lỗi bên ngoài các tập dữ liệu đã lấy.

Chọn theo Ý định, Sau đó Xác minh Chuỗi

HTTP 301 nói rằng URI mới là sự thay thế lâu dài; HTTP 302 nói rằng địa điểm thay thế là tạm thời. Đối với các yêu cầu nhạy cảm với phương pháp, 308 và 307 thể hiện cùng lựa chọn tính vĩnh viễn trong khi giữ nguyên phương pháp yêu cầu.

Một triển khai đúng cũng cần một điểm đến phù hợp, một bước nhảy trực tiếp, các tham chiếu nội bộ đã được cập nhật, và các tín hiệu canonical nhất quán. Kiểm tra chuỗi như một khách hàng nhìn thấy và xác thực nội dung cuối cùng thay vì tin tưởng vào một dòng trạng thái đơn.

Sẵn sàng Xây dựng một Quy trình Dữ liệu Quan sát hơn?

Sử dụng các quy tắc xác thực rõ ràng cho trạng thái, danh tính, định tuyến, và nội dung được hiển thị trước khi trang vào bộ dữ liệu của bạn.

Đăng ký ngay hôm nay và nhận $5 tín dụng miễn phíkhông yêu cầu thẻ tín dụng.

Nhận Tín dụng $5 của bạn →

Câu hỏi thường gặp

Có phải chuyển hướng 301 và 302 trông khác nhau đối với người dùng không?

Chuyển hướng 301 và 302 thường trông giống nhau trong trình duyệt vì cả hai đều có thể định hướng đến cùng một điểm đến. Sự khác biệt nằm ở tuyên bố của máy chủ về tính vĩnh viễn và cách các khách hàng, bộ nhớ đệm, và hệ thống tìm kiếm có thể giữ lại hoặc diễn giải ánh xạ đó.

Chuyển hướng 302 có làm tổn hại SEO không?

Một chuyển hướng 302 là phù hợp cho một di chuyển tạm thời thực sự và không có hại về bản chất. Vấn đề phát sinh khi một di chuyển vĩnh viễn vẫn còn trên một tín hiệu tạm thời, điểm đến là không liên quan, hoặc các tín hiệu canonical nội bộ tiếp tục xung đột.

Có thể chuyển 301 hoặc 302 từ POST sang GET không?

Nhiều đại lý người dùng lịch sử đã thay đổi POST thành GET khi theo dõi 301 hoặc 302. Sử dụng 307 cho một chuyển hướng tạm thời hoặc 308 cho một chuyển hướng vĩnh viễn khi giữ nguyên phương pháp và nội dung là cần thiết.

Có nên chuyển hướng các trang đã bị xóa đến trang chủ không?

Các trang đã bị xóa không nên tất cả chuyển hướng đến trang chủ. Sử dụng một sự thay thế tương đương phù hợp khi nó tồn tại; nếu không, hãy trả về một lỗi thực sự 404 hoặc 410 để người dùng và hệ thống tìm kiếm nhận được một kết quả trung thực.

Nhà thu thập nên ghi lại các chuyển hướng như thế nào?

Một nhà thu thập nên ghi lại URL đã yêu cầu, mỗi trạng thái và Địa điểm, URL cuối cùng, hành vi phương pháp, và xác thực nội dung cuối cùng. Các chuyển hướng vĩnh viễn và tạm thời không nên được gộp vào cùng một quyết định canonical.

Tài liệu tham khảo