HTTP Các chuyển hướng

Điều gì an HTTP chuyển hướng thực sự là (một 3xx status plus một Location header), đó 301/302/303/307/308 landscape, cách implement them, và chuyển hướng so với. canonical — đó hub cho đó các chuyển hướng subcluster.

Xuất bản lần đầu: 2 thg 7, 2026 · Cập nhật lần cuối: 22 thg 8, 2026 · Advanced
Ngôn ngữ
1 tín hiệu bằng chứng trên trang này

MỘT chuyển hướng là an HTTP phản hồi với một 3xx mã trạng thái và một Location header đó gửi các trình duyệt và các crawler từ an old URL để một new một. Google sorts them vào hai buckets: vĩnh viễn (301/308) truyền một mạnh tín hiệu canonicalization so các tín hiệu xếp hạng move forward; tạm thời (302/303/307) truyền chỉ một yếu một. Trong mỗi bucket đó codes differ by liệu đó HTTP phương thức là được bảo toàn — 307/308 giữ điều này, 301/302 có thể không. Implement them máy chủ-side (.htaccess/nginx), tại đó CDN/edge, hoặc qua một CMS plugin; JS và meta-refresh các chuyển hướng là weaker vì they phụ thuộc on kết xuất. MỘT chuyển hướng không phải một canonical tag: chuyển hướng khi chỉ một URL nên exist going forward, canonicalize khi several phải stay trực tiếp. Này hub maps đó toàn bộ landscape và points bạn để đó deep dives.

TL;DR — MỘT chuyển hướng là an HTTP phản hồi với một 3xx mã trạng thái và một Location header — giao thức đầu tiên, SEO second. Google collapses đó codes vào hai canonicalization buckets: vĩnh viễn (301/308) = mạnh tín hiệu (các tín hiệu consolidate forward), tạm thời (302/303/307) = yếu tín hiệu (they thường stay put, nhưng một dài-lived chuyển hướng tạm thời có thể flip). Trong mỗi bucket, 307 và 308 bảo toàn đó HTTP phương thức và thân phản hồi; 301 và 302 có thể không. Implement máy chủ-side, tại đó CDN/edge (my preference), hoặc qua một CMS plugin; JS và delayed meta-refresh các chuyển hướng là weaker vì they phụ thuộc on kết xuất. MỘT single good chuyển hướng không leak PageRank — đó real risks là chains (tránh them) và loops (các công cụ tìm kiếm chỉ bỏ qua them). Giữ các chuyển hướng cho ít nhất một năm. Và một chuyển hướng không phải một canonical tag.

Điều gì một chuyển hướng thực ra là, tại đó giao thức cấp độ

Chuyển hướng các mã trạng thái có standardized phương thức-xử lý semantics. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: RFC 9110: Redirection Tìm kiếm hướng dẫn distinguishes vĩnh viễn và tạm thời các tín hiệu trong khi recommending trực tiếp máy chủ-side các chuyển hướng cho moves. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: Google: Redirects and Search

Hầu hết SEO writing jumps straight để “301 means permanent” (bản dịch) «301 có nghĩa là vĩnh viễn» không có bao giờ saying điều gì một chuyển hướng . đây là worth grounding ở đây, vì đó mechanism giải thích mọi thứ downstream. Theo MDN, “redirection is triggered by a server sending a special redirect response to a request. Redirect responses have status codes that start with 3, and a Location header holding the URL to redirect to.” (bản dịch) «Máy chủ kích hoạt chuyển hướng bằng cách gửi một phản hồi chuyển hướng đặc biệt. Phản hồi này dùng mã trạng thái bắt đầu bằng 3 và header Location chứa URL đích.»

So một chuyển hướng là hai điều travelling together: một 3xx mã trạng thái (301, 302, 303, 307, 308…) và một Location header naming đó đích. Đó trình duyệt hoặc crawler đọc đó phản hồi và re-các yêu cầu đó URL trong Location. Đó mã trạng thái là đó semantics — vĩnh viễn hoặc tạm thời, phương thức-bảo toàn hoặc không — và đó Location header là đó address. Mọi thứ an SEO cares về là downstream of mà 3xx code bạn gửi.

Đó SEO cách diễn đạt on top of đó, as I put điều này trong my 11 Types Of Các chuyển hướng & Của họ SEO Impact piece tại Ahrefs: “A redirect is a way to send people and bots to a new URL when they request the old URL, but the page has changed locations.” (bản dịch) «MỘT chuyển hướng là một way để gửi mọi người và bots để một new URL khi they yêu cầu đó old URL, nhưng đó trang có changed locations.»

Vì sao các chuyển hướng quan trọng cho SEO

Google các chuyển hướng tài liệu frames đó purpose plainly: “Redirecting URLs is the practice of resolving an existing URL to a different one, effectively telling your visitors and Google Search that a page has a new location.” (bản dịch) «Chuyển hướng URLs là đó practice of resolving an existing URL để một khác nhau một, effectively telling của bạn khách truy cập và Google Search đó một trang có một new location.» Đó SEO consequence splits cleanly by permanence:

  • Vĩnh viễn các chuyển hướng cho thấy đó new đích trong kết quả tìm kiếm.
  • Tạm thời các chuyển hướng giữ đó nguồn trang trong kết quả tìm kiếm.

Và có một link-equity dimension. Google giữ track of cả hai ends of một chuyển hướng: “When you redirect a URL, Google keeps track of both the redirect source (the old URL) and the redirect target (the new URL). One of the URLs will be the canonical; which one, depends on signals such as whether the redirect was temporary or permanent.” (bản dịch) «Khi bạn chuyển hướng một URL, Google giữ track of cả hai đó nguồn chuyển hướng (đó old URL) và đó đích chuyển hướng (đó new URL). Một of đó URLs sẽ là đó canonical; mà một, phụ thuộc vào các tín hiệu such as liệu đó chuyển hướng đã là tạm thời hoặc vĩnh viễn.» Vĩnh viễn các chuyển hướng consolidate các tín hiệu forward để đó new URL; tạm thời ones thường leave them với đó old một.

Đó chuyển hướng landscape: 301, 302, 303, 307, 308

Ở đây đó toàn bộ family tại một summary cấp độ — mỗi có của nó own deep dive trong này subcluster (see “Where to go next” (bản dịch) «Nơi để go tiếp theo»):

  • 301 (Đã chuyển vĩnh viễn) — đó workhorse chuyển hướng vĩnh viễn. MỘT mạnh tín hiệu canonicalization; các tín hiệu xếp hạng consolidate forward. Trong Google crawler tài liệu: “Google follows the redirect, and Google systems use the redirect as a strong signal that the redirect target should be processed.” (bản dịch) «Google follows đó chuyển hướng, và Google các hệ thống dùng đó chuyển hướng as một mạnh tín hiệu đó đích chuyển hướng nên là processed.»
  • 302 (Được tìm thấy) — đó tiêu chuẩn chuyển hướng tạm thời. Google follows điều này “and Google systems use the redirect as a weak signal.” (bản dịch) «và Google các hệ thống dùng đó chuyển hướng as một yếu tín hiệu.» Yếu, không zero — leave một 302 trong place dài đủ và điều này có thể end lên treated như một 301.
  • 303 (Xem tài nguyên khác) — đó outlier. đây là grouped với đó tạm thời bucket, và đây là đó code behind đó Post/Chuyển hướng/Nhận pattern (gửi một form, nhận bounced để một kết quả trang với một GET). đây là rare trong SEO, và của nó treatment là genuinely murky — as I’ve noted, 303s có an chưa xác định treatment từ Google và có thể behave như một 301 hoặc một 302 depending on cách they function.
  • 307 (Chuyển hướng tạm thời) — giống nhau SEO meaning as một 302, nhưng điều này preserves đó HTTP phương thức và thân phản hồi. Google tài liệu put điều này bluntly: 307 là “equivalent to 302.” (bản dịch) «tương đương để 302.» Bạn’ll cũng see 307s xuất hiện tự động on HTTPS các trang đó dùng HSTS.
  • 308 (Chuyển hướng vĩnh viễn) — giống nhau SEO meaning as một 301, nhưng điều này preserves đó phương thức và thân phản hồi. Google: 308 là “equivalent to 301.” (bản dịch) «tương đương để 301.»

Đó phương thức-preservation detail (307/308 giữ đó original phương thức và thân phản hồi; 301/302 permit một client để thay đổi một POST để GET on đó way qua) không thay đổi cách Google ranks bất cứ điều gì, nhưng điều này matters một lot nếu bạn là chuyển hướng form submissions hoặc API calls. Google own hướng dẫn không phải để pick carelessly: “While Google treats these status codes the same way, keep in mind that they’re semantically different. Use the status code that’s appropriate for the redirect so other clients (for example, e-readers, other search engines) may benefit from it.” (bản dịch) «Trong khi Google xử lý những các mã trạng thái cùng cách, hãy nhớ rằng đó họ là semantically khác nhau. Dùng đó mã trạng thái đó là appropriate cho đó chuyển hướng so other clients (ví dụ, e-readers, other các công cụ tìm kiếm) có thể benefit từ điều này.» (có một đầy đủ side-by-side trong đó Các bảng tra nhanh tab.)

Cách các chuyển hướng ảnh hưởng crawling, lập chỉ mục, và giá trị liên kết

Hai buckets, một phân biệt. Google chuyển hướng tài liệu mô tả vĩnh viễn các chuyển hướng (301, 308, instant meta refresh, JS location) as một case nơi “the indexing pipeline uses the redirect as a signal that the redirect target should be canonical,” (bản dịch) «đó pipeline lập chỉ mục dùng đó chuyển hướng as một tín hiệu đó đích chuyển hướng nên là canonical,» và tạm thời ones (302, 303, 307, delayed meta refresh) as một case nơi “the indexing pipeline doesn’t use the redirect as a signal that the redirect target should be canonical.” (bản dịch) «đó pipeline lập chỉ mục không dùng đó chuyển hướng as một tín hiệu đó đích chuyển hướng nên là canonical.»

Evidence for this claim Google Search uses a permanent redirect as a signal that the redirect target should be canonical; this is not a guarantee that the target will be indexed or rank in a particular way. Scope: redirect interpretation and canonical signals Confidence: high · Verified: Redirects and Google Search

Đó PageRank myth là dead. Đó old chestnut đó các chuyển hướng “lose 10-15% of link equity” (bản dịch) «lose 10-15% of giá trị liên kết» hasn’t đã đúng cho năm. Google Gary Illyes đã nói trong 2016 đó “30x redirects don’t lose PageRank anymore,” (bản dịch) «30x các chuyển hướng không lose PageRank anymore,» và John Mueller noted điều này đã không ngay cả new information tại đó time. MỘT single, correctly implemented chuyển hướng truyền essentially all of một trang tín hiệu giá trị. Đó costs come từ chainsloops, không từ đó existence of một chuyển hướng.

Cách dài để giữ một chuyển hướng. Google site-move hướng dẫn says để “keep the redirects for as long as possible, generally at least 1 year” (bản dịch) «giữ đó các chuyển hướng cho miễn là có thể, generally ít nhất 1 năm» so điều này có thể transfer all các tín hiệu để đó new URLs. Gary Illyes floated đó ý tưởng đó “after 1 y all signals had time to pass on from A to B.” (bản dịch) «sau 1 y all các tín hiệu đã có time để truyền on từ MỘT để B.» I thực ra tested đó: I đã xóa 301 các chuyển hướng từ four Ahrefs posts đó đã có older nội dung được chuyển hướng để them, và watched điều gì happened. Ở đó đã là “a clear drop in referring domains after I did this,” (bản dịch) «một clear drop trong referring domains sau I đã làm này,» nhưng “not much drop in traffic to these posts.” (bản dịch) «không nhiều drop trong traffic để những posts.» My honest conclusion: “I’m not willing to conclusively say that permanent redirects pass value even after one year, but what Gary said seems to mostly hold true.” (bản dịch) «I’m không willing để conclusively chẳng hạn đó vĩnh viễn các chuyển hướng truyền giá trị ngay cả sau một năm, nhưng điều gì Gary đã nói seems để mostly hold đúng.» Đó safe default là vẫn: không rip out old các chuyển hướng casually.

Chuyển hướng chains và chuyển hướng loops

  • MỘT chuỗi chuyển hướng là hơn một hop giữa đó requested URL và của nó cuối đích (Trang 1 → Trang 2 → Trang 3). Google follows lên để 10 chuyển hướng hops (“By default, Google’s crawlers follow up to 10 redirect hops” (bản dịch) «Theo mặc định, Google các crawler follow lên để 10 chuyển hướng hops») — nhưng của nó hiện tại site-move hướng dẫn says để tránh chains và, nếu một là unavoidable, giữ điều này để không hơn 3 và ít hơn 5 hops. Ten là một crawler ceiling; 3-để-5 là practical hướng dẫn, không một conflicting limit. Chains thêm latency, waste ngân sách crawl, và muddy analytics.
  • MỘT vòng lặp chuyển hướng là một chain đó eats của nó own tail — một URL các chuyển hướng để itself, hoặc lại để an trước đó URL trong đó chain — so điều này không bao giờ resolves. Các trình duyệt throw một “too many redirects” (bản dịch) «cũng nhiều các chuyển hướng» lỗi; các công cụ tìm kiếm đơn giản cho lên. As John Mueller put điều này: “a redirect loop is a URL that doesn’t work, so it’s essentially a broken link. We ignore these for search.” (bản dịch) «một vòng lặp chuyển hướng là một URL đó không hoạt động, so đây là essentially một hỏng link. We bỏ qua những cho tìm kiếm.» Loops cũng trap các crawler và waste máy chủ các tài nguyên.

Có cũng dated representative hướng dẫn behind đó familiar five-hop number. Trong một 2014 quản trị viên web hangout tại 46:03, John Mueller described Googlebot sau as nhiều as five các chuyển hướng trong một crawl và, khi hơn remained, continuing them on đó tiếp theo crawl. Trong 2020 he riêng described Google as sau lên để five hops theo crawl attempt. Những lịch sử statements help giải thích đó number, nhưng neither overrides đó hiện tại tài liệu hoặc bảo đảm đó mỗi dài chain sẽ là resumed on một particular schedule.

My independent practitioner observation là đó Google thường làm pick lâu hơn chains lại lên, và I dùng về five hops as một cách sửa-priority ngưỡng. đó là an operational judgment từ điều gì I’ve seen, không một Google nền tảng limit. Đó đích khi bạn control đó các chuyển hướng là vẫn một trực tiếp hop.

Cả hai có của họ own dedicated các bài viết dưới.

Cách implement các chuyển hướng

có không single “right” place để put một chuyển hướng — pick điều gì bạn có thể maintain:

  • Máy chủ-side config. Apache .htaccess, nginx rules, hoặc máy chủ-side scripts. Đó default đối với hầu hết trang web, và đó hầu hết reliable. On WordPress, “most WordPress installs will be running Apache and the plugins used for redirecting will actually be editing a website’s .htaccess file” (bản dịch) «hầu hết WordPress installs sẽ là đang chạy Apache và đó plugin dùng cho chuyển hướng sẽ thực ra là editing một website file» — đó plugin là chỉ một friendlier front end.
  • CDN / edge. Cloudflare rules, edge workers, và similar fire trước đó yêu cầu reaches của bạn origin. Này là my own preference: “I typically prefer to have redirects on the edge (CDN-level) over having them on the server.” (bản dịch) «I typically ưu tiên để có các chuyển hướng on đó edge (CDN-cấp độ) over có them on đó máy chủ.» Tuy vậy, cho hầu hết mọi người I “always recommend going with what is easiest for you to implement. For many people that is server-level redirects.” (bản dịch) «luôn khuyến nghị going với điều gì là easiest cho bạn để implement. Cho nhiều mọi người đó là máy chủ-cấp độ các chuyển hướng.»
  • Client-side: meta refresh. MỘT <meta http-equiv="refresh"> tag. An instant (0-second) meta refresh là đọc by Google as vĩnh viễn; một delayed một as tạm thời. Chậm hơn và clumsier hơn một máy chủ chuyển hướng, nhưng occasionally đó chỉ lever bạn có.
  • Client-side: JavaScript. MỘT script sets window.location. Google có thể honor điều này, nhưng chỉ nếu kết xuất succeeds — một tách biệt, sometimes-failing pipeline step. Google own advice: “Only use JavaScript redirects if you can’t do server-side or meta refresh redirects.” (bản dịch) «Chỉ dùng JavaScript các chuyển hướng nếu bạn không thể làm máy chủ-side hoặc meta refresh các chuyển hướng.» My được khuyến nghị order cho vĩnh viễn các chuyển hướng reflects đó reliability ladder: 308 / 301 → meta refresh 0 → JavaScript → crypto.

Chuyển hướng so với. canonical tag

Những solve khác nhau các vấn đề và nhận conflated constantly.

  • Chuyển hướng — dùng điều này khi đó old URL nên dừng resolving để của nó own nội dung hoàn toàn. Chỉ một URL nên exist going forward. Đó old address forwards; điều này không lâu hơn serves một trang of của nó own.
  • Canonical tag — dùng điều này khi several URLs phải stay trực tiếp và independently accessible, nhưng bạn muốn Google để treat một as đó được ưu tiên version. Think faceted-nav variants, tracking-parameter URLs, hoặc print versions — all reachable, all pointing một rel=canonical tại đó main một.

Bing frames đó giống nhau split cleanly trong của nó December 2025 duplicate-nội dung post: “Use 301 redirects to consolidate variants into a single preferred URL. Apply canonical tags when multiple versions must remain accessible.” (bản dịch) «Dùng 301 các chuyển hướng để consolidate variants vào một single được ưu tiên URL. Apply canonical tags khi multiple versions phải vẫn accessible.» Nếu một canonical hint là đang đã bỏ qua và bạn truly muốn consolidation, bạn có thể escalate để một chuyển hướng — nhưng chỉ khi đó duplicate URL không cần để giữ serving của nó own nội dung.

MỘT note on Bing

Directionally, Bing agrees với Google: vĩnh viễn moves nhận 301s, và tạm thời ones nhận 302s. Bing Fabrice Canel có đã nói đây là “preferable to use a 302 redirect if your destination URL may change within 2 days, else 301 is recommended,” (bản dịch) «preferable để dùng một 302 chuyển hướng nếu của bạn đích URL có thể thay đổi trong 2 days, khác 301 là được khuyến nghị,» và his colleague Frédéric Dubut clarified đó “2 days” đã không một hard ngưỡng — “anytime a redirect is temporary… you should use 302s.” (bản dịch) «anytime một chuyển hướng là tạm thời… bạn nên dùng 302s.» Giống nhau mental model, chỉ phrased khoảng cách soon đó đích có thể thay đổi.

Nơi để go tiếp theo: đó các chuyển hướng subcluster

Này hub là đó map. Mỗi topic dưới là của nó own deep dive, nested dưới này hub và listed trong đó sidebar:

Đó riêng lẻ chuyển hướng codes

  • 301 Chuyển hướng — đó vĩnh viễn workhorse: cách điều này consolidates các tín hiệu forward, và khi nào nên reach cho điều này.
  • 302 Chuyển hướng — đó tiêu chuẩn chuyển hướng tạm thời, vì sao đây là một yếu (không zero) tín hiệu, và cách điều này có thể drift vào 301 behavior.
  • 303 Chuyển hướng (Xem tài nguyên khác) — đó Post/Chuyển hướng/Nhận code, vì sao đây là rare trong SEO, và vì sao của nó Google treatment là genuinely chưa xác định.
  • 307 Chuyển hướng tạm thời — giống nhau SEO meaning as một 302, nhưng điều này strictly preserves đó HTTP phương thức, và nơi điều này cho thấy lên (HSTS, form/API các chuyển hướng).
  • 308 Chuyển hướng vĩnh viễn — giống nhau SEO meaning as một 301, nhưng điều này strictly preserves đó HTTP phương thức và thân phản hồi.

Đó head-để-head comparisons

  • 301 so với. 302 Chuyển hướng — vĩnh viễn so với. tạm thời, forward so với. backward tín hiệu consolidation, và mà để dùng khi.
  • 301 so với. 308 Chuyển hướng — giống nhau SEO meaning, nhưng 308 preserves đó HTTP phương thức và thân phản hồi.
  • 302 so với. 307 Chuyển hướng — giống nhau story on đó tạm thời side: giống hệt cho SEO, nhưng 307 giữ đó phương thức và thân phản hồi cho forms và APIs.

Đó client-side implementations

  • JavaScript Các chuyển hướng — vì sao họ là đó weakest option, cách Google render pipeline xử lý them differently từ một máy chủ-side 301, và khi họ là an acceptable cuối cùng resort.
  • Meta Refresh Chuyển hướng — instant so với. delayed refreshes, vì sao điều này sits giữa máy chủ-side và JavaScript trong Google order of preference, và vì sao đây là discouraged.

Đó pitfalls

  • Chuyển hướng Chains — vì sao để chuyển hướng straight để đó cuối URL, đó 10-hop limit, và cách chains waste ngân sách crawl.
  • Chuyển hướng Loops — đó không bao giờ-resolving chuyển hướng, vì sao các công cụ tìm kiếm bỏ qua điều này, và cách break đó cycle.

Trong Google Search Console

  • Trang với Chuyển hướng — điều gì này Trang Lập chỉ mục status có nghĩa là, vì sao đây là thông thường và không phải lỗi, và đó rare cases đó cần hành động.
  • Lỗi chuyển hướng — Google four gây ra (chain cũng dài, loop, max URL length, bad/empty URL), và cách điều này differs từ đó thông thường “Page with redirect” (bản dịch) «Trang với chuyển hướng» status.

Cho đó toàn bộ HTTP status-code picture này subcluster sits bên trong — đó 2xx/3xx/4xx/5xx families và đó codes beyond các chuyển hướng — see đó cluster chỉ mục tại /kỹ thuật-seo/http-status-codes/.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.