Panduan HTTP Redirect
Penjelasan tentang redirect HTTP sebagai respons 3xx, kode 301/302/303/307/308, cara penerapan, dan perbedaannya dengan tag kanonis.
Bahasa
1 sinyal bukti di halaman ini
- Alat aktif terkaitHTTP Status & Redirect Checker
Redirect adalah respons HTTP dengan kode status 3xx dan header Location yang mengirim browser serta perayap dari URL lama ke URL baru. Google memperlakukan 301/308 sebagai sinyal kanonisasi kuat dan 302/303/307 sebagai sinyal lemah. Kode 307/308 mempertahankan metode HTTP, sedangkan 301/302 dapat mengubahnya. Gunakan redirect sisi server, CDN, edge, atau CMS; redirect JavaScript dan meta refresh lebih lemah karena bergantung pada rendering. Gunakan redirect ketika hanya satu URL harus tetap ada, dan tag kanonis ketika beberapa versi harus tetap dapat diakses.
TL;DR — sebuah pengalihan mengirim anyone who permintaan sebuah lama URL untuk sebuah baru satu sebagai gantinya. paling umum jenis adalah sebuah 301 (“moved permanently” (terjemahan) “moved permanently”), yang mana memerintahkan Google untuk perpindahan halaman lama’s sinyal peringkat untuk baru URL. sebuah 302 adalah “sementara.” (terjemahan) “sementara.” mendapatkan permanen-vs-sementara choice right dan pick nyata server-tingkat pengalihan di atas JavaScript ones, dan Anda’ve covered 90% dari apa penting.
apa sebuah pengalihan adalah
HTTP pengalihan gunakan 3xx respons dan sebuah Location field untuk direct sebuah client untuk lainnya URI. 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 Google treats permanen pengalihan sebagai kuat kanonis sinyal tetapi melakukan bukan guarantee destination pengindeksan. 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
Ketika sebuah halaman berpindah, pengunjung dan Google tidak seharusnya menemui jalan buntu di alamat lama. Redirect adalah instruksi yang meneruskan mereka ke alamat baru secara otomatis. Seseorang mengeklik tautan lama, lalu server mengirimkan halaman baru tanpa mengganggu perjalanan pengguna.
di bawah hood, sebuah pengalihan adalah hanya sebuah spesifik jenis dari server respons: sebuah status
kode di 300s (sebagian besar sering 301 atau 302) plus sebuah Location header itu
menyatakan “di sini’s di mana to membuka sebagai gantinya.” (terjemahan) “di sini’s di mana untuk membuka sebagai gantinya.” Anda tidak memiliki untuk think tentang itu plumbing untuk
gunakan satu — tetapi ini adalah mengapa pengalihan adalah reliable di sebuah cara itu sebuah “ini halaman moved,
click di sini” (terjemahan) “ini halaman moved,
click di sini” message isn’t.
dua itu penting sebagian besar
- 301 — Moved Permanently. gunakan ini ketika perpindahan adalah untuk baik. ini memerintahkan penelusuran mesin halaman memiliki sebuah baru home, karena itu halaman lama’s rankings dan tautan transfer untuk baru URL. ini adalah satu Anda’ll gunakan untuk sebagian besar.
- 302 — ditemukan (sementara). gunakan ini ketika perpindahan adalah hanya untuk now — sebuah pendek campaign, pengujian A/B, sebuah halaman Anda’ll put back. ini memerintahkan Google bukan untuk perpindahan sinyal peringkat, karena perubahan isn’t permanen.
ada sebuah beberapa lebih angka (303, 307, 308), tetapi untuk sebagian besar situs practical decision adalah hanya: adalah ini perpindahan permanen (301) atau sementara (302)?
bagaimana Anda set satu up
- pada server Anda — Apache’s
.htaccessatau sebuah nginx config aturan. classic. - melalui sebuah CMS plugin — pada WordPress, sebuah pengalihan plugin biasanya hanya edits itu
.htaccessfile untuk Anda. - di Anda CDN / edge — Cloudflare dan serupa let Anda set pengalihan sebelum permintaan ever reaches server Anda.
hindari JavaScript pengalihan (di mana sebuah skrip mengirim browser onward) ketika Anda dapat. Google dapat honor them, tetapi hanya setelah ini successfully renders halaman — sebuah extra langkah itu sometimes fails — karena itu mereka’re lebih lambat dan lebih sedikit reliable daripada sebuah nyata server pengalihan.
hal people mendapatkan salah
sebuah pengalihan adalah bukan yang sama sebagai sebuah tag kanonis. pengalihan ketika lama URL seharusnya stop existing dan everyone seharusnya end up pada baru satu. gunakan tag kanonis ketika several URLs perlu untuk stay live tetapi Anda ingin Google untuk treat satu sebagai “main” (terjemahan) “main” versi (think product halaman dengan tracking parameters). pengalihan = satu URL survives; kanonis = several survive, satu adalah diutamakan.
ingin protocol-tingkat detail, lengkap 301/302/303/307/308 rundown, bagaimana panjang untuk pertahankan sebuah pengalihan, dan chain/loop pitfalls? Beralihlah ke lanjutan tab.
TL;DR — sebuah pengalihan adalah sebuah respons HTTP dengan sebuah 3xx kode status dan sebuah
Locationheader — protocol pertama, SEO kedua. Google collapses codes ke dua kanonisasi buckets: permanen (301/308) = kuat sinyal (sinyal consolidate forward), sementara (302/303/307) = weak sinyal (mereka biasanya stay put, tetapi sebuah panjang-lived sementara pengalihan dapat flip). di dalam setiap bucket, 307 dan 308 pertahankan HTTP metode dan isi; 301 dan 302 dapat bukan. menerapkan server-side, di CDN/edge (saya preferensi), atau via sebuah CMS plugin; JS dan tertunda meta-refresh pengalihan adalah lebih lemah karena mereka depend pada perenderan. sebuah single baik pengalihan doesn’t leak PageRank — nyata risks adalah chains (hindari them) dan loops (mesin pencari hanya ignore them). pertahankan pengalihan untuk setidaknya sebuah year. dan sebuah pengalihan adalah bukan sebuah tag kanonis.
apa sebuah pengalihan sebenarnya adalah, di protocol tingkat
pengalihan kode status memiliki standardized metode-penanganan 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 penelusuran panduan distinguishes permanen dan sementara sinyal while recommending direct server-side pengalihan untuk perpindahan. 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
Banyak tulisan SEO langsung menyatakan “301 berarti permanen” tanpa menjelaskan apa itu redirect. Dasar mekanismenya penting karena menjelaskan semua perilaku berikutnya. Menurut 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.” (terjemahan) “Pengalihan dipicu ketika server mengirim respons redirect khusus terhadap suatu permintaan. Respons redirect memiliki kode status yang diawali angka 3 dan header Location yang memuat URL tujuan.”
karena itu sebuah pengalihan adalah dua things travelling together: sebuah 3xx kode status (301, 302,
303, 307, 308…) dan sebuah Location header naming destination. browser atau
perayap dibaca itu respons dan re-permintaan URL di Location. kode status
adalah semantics — permanen atau sementara, metode-preserving atau bukan — dan
Location header adalah address. Everything sebuah SEO cares tentang adalah downstream dari
yang mana 3xx kode Anda kirim.
SEO rumusan pada top dari itu, sebagai I put ini di saya 11 jenis dari pengalihan & mereka SEO Impact piece di Ahrefs: “A pengalihan adalah a way to mengirim people dan bots to a baru URL ketika they request the lama URL, tetapi the halaman memiliki changed locations.” (terjemahan) “sebuah pengalihan adalah sebuah cara untuk kirim people dan bot untuk sebuah baru URL ketika mereka permintaan lama URL, tetapi halaman memiliki changed locations.”
mengapa pengalihan penting untuk SEO
Google’s pengalihan documentation frames purpose plainly: “Redirecting URLs adalah the practice of resolving an existing URL to a berbeda satu, effectively telling Anda pengunjung dan Google penelusuran itu a halaman memiliki a baru location.” (terjemahan) “Redirecting URLs adalah practice dari resolving sebuah existing URL untuk sebuah berbeda satu, effectively telling Anda pengunjung dan Google penelusuran itu sebuah halaman memiliki sebuah baru location.” SEO consequence splits cleanly oleh permanence:
- permanen pengalihan tampilkan baru target di hasil pencarian.
- sementara pengalihan pertahankan sumber halaman di hasil pencarian.
dan there’s sebuah tautan-equity dimension. Google mempertahankan track dari keduanya ends dari sebuah pengalihan: “ketika you pengalihan a URL, Google mempertahankan track of keduanya the pengalihan sumber (the lama URL) dan the pengalihan target (the baru URL). satu of the URLs akan menjadi the kanonis; yang mana satu, depends on sinyal such sebagai whether the pengalihan adalah sementara atau permanen.” (terjemahan) “ketika Anda pengalihan sebuah URL, Google mempertahankan track dari keduanya pengalihan sumber ( lama URL) dan pengalihan target ( baru URL). satu dari URLs akan menjadi kanonis; yang mana satu, depends pada sinyal such sebagai whether pengalihan adalah sementara atau permanen.” permanen pengalihan consolidate sinyal forward untuk baru URL; sementara ones biasanya leave them dengan lama satu.
pengalihan landscape: 301, 302, 303, 307, 308
di sini’s seluruh family di sebuah summary tingkat — setiap memiliki -nya sendiri deep dive di ini subcluster (melihat “di mana to membuka berikutnya” (terjemahan) “di mana untuk membuka berikutnya”):
- 301 (Moved Permanently) — workhorse permanen pengalihan. sebuah kuat kanonisasi sinyal; sinyal peringkat consolidate forward. di Google’s perayap dokumentasi: “Google follows the pengalihan, dan Google systems gunakan the pengalihan sebagai a kuat sinyal itu the pengalihan target seharusnya menjadi diproses.” (terjemahan) “Google mengikuti pengalihan, dan Google sistem gunakan pengalihan sebagai sebuah kuat sinyal itu pengalihan target seharusnya menjadi diproses.”
- 302 (ditemukan) — standar sementara pengalihan. Google mengikuti ini “dan Google systems gunakan the pengalihan sebagai a weak sinyal.” (terjemahan) “dan Google sistem gunakan pengalihan sebagai sebuah weak sinyal.” Weak, bukan zero — leave sebuah 302 di place panjang enough dan ini dapat end up diperlakukan seperti 301.
- 303 (lihat lainnya) — outlier. ini adalah grouped dengan sementara bucket, dan
ini adalah kode behind Post/pengalihan/mendapatkan pola (kirim form, mendapatkan bounced untuk sebuah
hasil halaman dengan sebuah
GET). ini adalah rare di SEO, dan -nya treatment adalah genuinely murky — sebagai I’ve noted, 303s memiliki sebuah meta refresh treatment dari Google dan dapat behave seperti 301 atau sebuah 302 depending pada bagaimana mereka function. - 307 (sementara pengalihan) — sama SEO meaning sebagai sebuah 302, tetapi ini preserves HTTP metode dan isi. Google’s dokumentasi put ini bluntly: 307 adalah “equivalent to 302.” (terjemahan) “equivalent untuk 302.” Anda’ll juga melihat 307s appear automatically pada HTTPS situs itu gunakan HSTS.
- 308 (permanen pengalihan) — sama SEO meaning sebagai sebuah 301, tetapi ini preserves metode dan isi. Google: 308 adalah “equivalent to 301.” (terjemahan) “equivalent untuk 301.”
Detail pemeliharaan metode—307/308 mempertahankan metode dan isi asli, sedangkan 301/302 mengizinkan klien mengubah POST menjadi GET—tidak mengubah cara Google memeringkat halaman, tetapi sangat penting untuk formulir dan API. Google memperingatkan agar kode tidak dipilih sembarangan: “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.” (terjemahan) “Walaupun Google memperlakukan kode status ini dengan cara yang sama, kode tersebut berbeda secara semantik. Gunakan kode yang sesuai agar klien lain juga memperoleh manfaat.” Perbandingan lengkap tersedia di tab Cheat Sheets.
bagaimana pengalihan affect crawling, pengindeksan, dan ekuitas tautan
Dua kelompok dengan satu perbedaan utama. Dokumentasi Google menggambarkan redirect permanen—301, 308, meta refresh instan, dan JavaScript location—sebagai keadaan ketika “the indexing pipeline uses the redirect as a signal that the redirect target should be canonical,” (terjemahan) “pipeline pengindeksan memakai redirect sebagai sinyal bahwa tujuan redirect seharusnya menjadi kanonis.” Untuk redirect sementara—302, 303, 307, dan meta refresh tertunda—“the indexing pipeline doesn’t use the redirect as a signal that the redirect target should be canonical.” (terjemahan) “pipeline pengindeksan tidak memakai redirect sebagai sinyal bahwa tujuan redirect seharusnya menjadi kanonis.”
** PageRank myth adalah dead.** lama chestnut itu pengalihan “lose 10-15% of link equity” (terjemahan) “lose 10-15% dari tautan equity” hasn’t telah benar untuk years. Google’s Gary Illyes menyatakan di 2016 itu “30x pengalihan don’t lose PageRank anymore,” (terjemahan) “30x pengalihan don’t lose PageRank anymore,” dan John Mueller noted ini wasn’t bahkan baru informasi di time. sebuah single, dengan benar implemented pengalihan passes essentially semua dari sebuah halaman’s sinyal nilai. costs come dari chains dan loops, bukan dari existence dari sebuah pengalihan.
Berapa lama redirect dipertahankan. Panduan pemindahan situs Google menyatakan “keep the redirects for as long as possible, generally at least 1 year” (terjemahan) “pertahankan redirect selama mungkin, umumnya setidaknya satu tahun” agar seluruh sinyal dapat dialihkan ke URL baru. Gary Illyes mengemukakan bahwa “after 1 y all signals had time to pass on from A to B.” (terjemahan) “setelah satu tahun, semua sinyal sempat berpindah dari A ke B.” Saya menguji gagasan itu dengan menghapus redirect 301 dari empat artikel Ahrefs. Domain perujuk turun dengan jelas, tetapi lalu lintas hampir tidak turun. Kesimpulan saya tetap berhati-hati: bukti tersebut belum cukup untuk menyatakan secara pasti bahwa redirect permanen terus meneruskan nilai setelah satu tahun. Pilihan aman tetap mempertahankan redirect lama.
rantai pengalihan dan pengalihan loops
- sebuah rantai pengalihan adalah lebih daripada satu hop antara requested URL dan -nya akhir destination (halaman 1 → halaman 2 → halaman 3). Google mengikuti up untuk 10 pengalihan hops (“oleh default, Google’s crawlers mengikuti up to 10 pengalihan hops” (terjemahan) “oleh default, Google’s perayap ikuti up untuk 10 pengalihan hops”) — tetapi -nya saat ini situs-perpindahan guidance menyatakan untuk hindari chains dan, jika satu adalah unavoidable, pertahankan ini untuk tidak lebih daripada 3 dan fewer daripada 5 hops. Ten adalah sebuah perayap ceiling; 3-untuk-5 adalah practical panduan, bukan sebuah conflicting limit. Chains tambahkan latency, waste anggaran crawling, dan muddy analytics.
- sebuah pengalihan loop adalah sebuah chain itu eats -nya sendiri tail — sebuah URL pengalihan untuk sendiri, atau back untuk sebuah earlier URL di chain — karena itu ini tidak pernah resolves. browser throw sebuah “too banyak pengalihan” (terjemahan) “too banyak pengalihan” error; mesin pencari simply memberikan up. sebagai John Mueller put ini: “a pengalihan loop adalah a URL itu doesn’t berfungsi, karena itu ini’s essentially a broken link. We ignore ini for penelusuran.” (terjemahan) “sebuah pengalihan loop adalah sebuah URL itu doesn’t berfungsi, karena itu ini adalah essentially sebuah broken tautan. kami ignore ini untuk penelusuran.” Loops juga trap perayap dan waste server resources.
ada juga dated representative panduan behind familiar five-hop angka. di sebuah 2014 webmaster hangout di 46:03, John Mueller described Googlebot following sebagai banyak sebagai five pengalihan di satu perayapan dan, ketika lebih remained, continuing them pada berikutnya perayapan. di 2020 he separately described Google sebagai following up untuk five hops per perayapan attempt. ini historical statements help jelaskan angka, tetapi neither overrides saat ini dokumentasi atau guarantees itu setiap panjang chain akan menjadi resumed pada sebuah particular schedule.
saya independent practitioner pengamatan adalah itu Google sering melakukan pick longer chains back up, dan I gunakan tentang five hops sebagai sebuah fix-priority threshold. itu’s sebuah operational judgment dari apa I’ve seen, bukan sebuah Google platform limit. target ketika Anda control pengalihan adalah masih satu direct hop.
keduanya memiliki mereka sendiri dedicated artikel di bawah.
cara menerapkan pengalihan
There’s tidak single “right” (terjemahan) “right” place untuk put sebuah pengalihan — pick apa Anda dapat maintain:
- Konfigurasi sisi server. Gunakan aturan Apache
.htaccess, nginx, atau skrip sisi server. Ini merupakan pilihan paling andal bagi kebanyakan situs. Pada WordPress, plugin biasanya hanya menyediakan antarmuka yang lebih mudah untuk mengubah.htaccess. - CDN atau edge. Aturan Cloudflare, edge worker, dan mekanisme serupa berjalan sebelum permintaan mencapai origin. Saya cenderung memilih redirect di edge, tetapi tetap menganjurkan penerapan yang paling mudah dipelihara oleh tim.
- Sisi klien: meta refresh. Tag
<meta http-equiv="refresh">. Meta refresh instan dibaca Google sebagai permanen, sedangkan yang tertunda sebagai sementara. Mekanisme ini lebih lambat daripada redirect server. - Sisi klien: JavaScript. Skrip mengatur
window.location. Google dapat mengikutinya hanya jika rendering berhasil. Karena itu, urutan yang dianjurkan untuk redirect permanen adalah 308/301 → meta refresh 0 → JavaScript → crypto.
pengalihan vs. tag kanonis
ini solve berbeda masalah dan mendapatkan conflated constantly.
- pengalihan — gunakan ini ketika lama URL seharusnya stop resolving untuk -nya sendiri konten entirely. hanya satu URL seharusnya exist going forward. lama address forwards; ini tidak longer menyajikan sebuah halaman dari -nya sendiri.
- tag kanonis — gunakan ini ketika several URLs harus stay live dan independently
accessible, tetapi Anda ingin Google untuk treat satu sebagai diutamakan versi. Think
faceted-nav variants, tracking-parameter URLs, atau print versi — semua reachable,
semua pointing sebuah
rel=canonicaldi main satu.
Bing frames yang sama pembagian cleanly Dalam December 2025 duplicate-konten post: “gunakan 301 pengalihan to consolidate variants ke dalam a single diutamakan URL. Apply kanonis tags ketika multiple versions harus remain accessible.” (terjemahan) “gunakan 301 pengalihan untuk consolidate variants ke sebuah single diutamakan URL. Apply tag kanonis ketika multiple versi harus remain accessible.” jika sebuah kanonis hint adalah menjadi ignored dan Anda truly ingin consolidation, Anda dapat escalate untuk sebuah pengalihan — tetapi hanya ketika itu duplicate URL doesn’t perlu untuk pertahankan serving -nya sendiri konten.
sebuah note pada Bing
Directionally, Bing agrees dengan Google: permanen perpindahan mendapatkan 301s, dan sementara ones mendapatkan 302s. Bing’s Fabrice Canel memiliki said ini adalah “preferable to gunakan a 302 pengalihan jika Anda destination URL dapat change di dalam 2 days, lain 301 adalah dianjurkan,” (terjemahan) “preferable untuk gunakan 302 pengalihan jika Anda destination URL dapat perubahan di dalam 2 days, lain 301 adalah dianjurkan,” dan miliknya colleague Frédéric Dubut clarified “2 days” (terjemahan) “2 days” wasn’t sebuah hard threshold — “anytime a pengalihan adalah sementara… you seharusnya gunakan 302s.” (terjemahan) “anytime sebuah pengalihan adalah sementara… Anda harus gunakan 302s.” sama mental model, hanya phrased sekitar bagaimana soon target mungkin perubahan.
di mana untuk membuka berikutnya: pengalihan subcluster
ini hub adalah map. setiap topic di bawah adalah -nya sendiri deep dive, nested di bawah ini hub dan listed di sidebar:
** individual pengalihan codes**
- 301 pengalihan — permanen workhorse: bagaimana ini consolidates sinyal forward, dan ketika untuk gunakan untuk ini.
- 302 pengalihan — standar sementara pengalihan, mengapa ini adalah sebuah weak (bukan zero) sinyal, dan bagaimana ini dapat drift ke 301 perilaku.
- 303 pengalihan (lihat lainnya) — Post/pengalihan/mendapatkan kode, mengapa ini adalah rare di SEO, dan mengapa -nya Google treatment adalah genuinely meta refresh.
- 307 sementara pengalihan — sama SEO meaning sebagai sebuah 302, tetapi ini strictly preserves HTTP metode, dan di mana ini menampilkan up (HSTS, form/API pengalihan).
- 308 permanen pengalihan — sama SEO meaning sebagai sebuah 301, tetapi ini strictly preserves HTTP metode dan isi.
** head-untuk-head comparisons**
- 301 vs. 302 pengalihan — permanen vs. sementara, forward vs. backward sinyal consolidation, dan yang mana untuk gunakan ketika.
- 301 vs. 308 pengalihan — sama SEO meaning, tetapi 308 preserves HTTP metode dan isi.
- 302 vs. 307 pengalihan — sama story pada sementara side: identical untuk SEO, tetapi 307 mempertahankan metode dan isi untuk forms dan APIs.
** client-side implementations**
- JavaScript pengalihan — mengapa mereka’re weakest pilihan, bagaimana Google’s render pipeline treats them differently dari sebuah server-side 301, dan ketika mereka’re sebuah acceptable pilihan terakhir.
- Meta refresh pengalihan — instan vs. tertunda refreshes, mengapa ini berada di antara server-side dan JavaScript di Google’s urutan dari preferensi, dan mengapa ini adalah tidak dianjurkan.
** pitfalls**
- rantai pengalihan — mengapa untuk pengalihan langsung untuk akhir URL, 10-hop limit, dan bagaimana chains waste anggaran crawling.
- pengalihan Loops — tidak pernah-resolving pengalihan, mengapa mesin pencari ignore ini, dan cara break cycle.
di Google penelusuran Console
- halaman dengan pengalihan — apa ini halaman pengindeksan status berarti, mengapa ini adalah biasa dan bukan sebuah error, dan rare cases itu perlu tindakan.
- pengalihan Error — Google’s four causes (chain too panjang, loop, max URL length, buruk/empty URL), dan bagaimana ini differs dari biasa “halaman dengan pengalihan” (terjemahan) “halaman dengan pengalihan” status.
untuk seluruh HTTP status-kode gambaran ini subcluster sits di dalam — 2xx/3xx/4xx/5xx families dan codes beyond pengalihan — melihat cluster indeks di /technical-seo/http-status-codes/.
AI summary
sebuah condensed take pada lanjutan versi:
- sebuah pengalihan = sebuah 3xx kode status + sebuah
Locationheader. kode status adalah semantics (permanen/sementara, metode-preserving atau bukan);Locationadalah destination. Protocol pertama, SEO kedua. - dua kanonisasi buckets: permanen 301/308 = kuat sinyal (sinyal consolidate forward untuk baru URL); sementara 302/303/307 = weak sinyal (sinyal biasanya stay dengan lama URL, tetapi sebuah panjang-lived sementara dapat flip).
- di dalam setiap bucket: 307/308 pertahankan HTTP metode dan isi; 301/302 dapat bukan. tidak peringkat perbedaan, tetapi ini penting untuk forms dan APIs.
- 303 adalah outlier — Post/pengalihan/mendapatkan kode, rare di SEO, dengan genuinely meta refresh Google treatment.
- PageRank myth adalah dead: sebuah single benar pengalihan doesn’t leak equity (Illyes, 2016). Costs come dari chains (Google mengikuti up untuk 10 hops tetapi menyatakan hindari them) dan loops (mesin pencari ignore them sebagai broken tautan).
- pertahankan pengalihan ≥ 1 year. Patrick’s sendiri uji dari menghapus year-lama 301s showed sebuah drop di referring domains tetapi little traffic loss — “mostly holds benar,” (terjemahan) “mostly holds benar,” karena itu don’t hapus casually.
- menerapkan server-side (.htaccess/nginx), di CDN/edge (Patrick’s
preferensi), atau via sebuah CMS plugin (yang mana biasanya hanya edits
.htaccess). JS dan tertunda meta-refresh adalah lebih lemah karena mereka depend pada perenderan. - pengalihan ≠ kanonis: pengalihan ketika hanya satu URL seharusnya exist going forward; canonicalize ketika several stay live tetapi satu adalah diutamakan.
Official dokumentasi
Primary-sumber dokumentasi pada pengalihan.
- pengalihan dan Google Search — kanonis doc: permanen vs. sementara rumusan, pengalihan-jenis tables (301/308/302/303/307, meta refresh, JS, crypto), dan alternate-URL / tautan-equity concept.
- bagaimana HTTP kode status Affect Google’s crawler — 3xx perilaku, 10-hop ikuti limit, dan 301/302/307/308 perayap treatment.
- perpindahan sebuah situs dengan URL perubahan — hindari chaining pengalihan, dan “pertahankan the pengalihan… generally pada least 1 year.” (terjemahan) “pertahankan pengalihan… umumnya setidaknya 1 year.”
- Consolidate duplicate URLs — mengapa sebuah kanonis preferensi adalah “a hint, bukan a aturan,” (terjemahan) “sebuah hint, bukan sebuah aturan,” dan bagaimana ini interacts dengan pengalihan.
- penelusuran Off Record — Google’s penelusuran Relations team memiliki sebuah episode pada pengalihan jenis (301 vs. 302, apa 307/308 adalah untuk, domain merges).
Bing / Microsoft
- melakukan Duplicate konten Hurt SEO dan AI penelusuran visibilitas? — Fabrice Canel & Krishna Madhavan pada menggunakan 301s untuk consolidate variants vs. tag kanonis ketika versi harus stay live.
Technical reference
- Redirections di HTTP — MDN’s protocol-tingkat definition (3xx status +
Locationheader) dan per-kode metode/isi penanganan.
Quotes dari sumber
pada—record statements dari Google, Bing, dan MDN. setiap tautan adalah sebuah deep tautan itu berpindah untuk quoted passage pada sumber halaman.
Google — apa pengalihan adalah untuk, dan permanen vs. sementara
- “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.” (terjemahan) “Redirect adalah praktik mengarahkan URL yang ada ke URL lain dan memberi tahu pengunjung serta Google bahwa halaman memiliki lokasi baru.” — Dokumentasi Google Search Central. Lompat ke kutipan
- “we recommend that you use a permanent server-side redirect whenever possible.” (terjemahan) “Kami menganjurkan redirect permanen sisi server bila memungkinkan.” Lompat ke kutipan
- “When you redirect a URL, Google keeps track of both the redirect source (the old URL) and the redirect target (the new URL).” (terjemahan) “Saat URL dialihkan, Google melacak sumber redirect dan tujuan redirect.” Lompat ke kutipan
- “Only use JavaScript redirects if you can’t do server-side or meta refresh redirects.” (terjemahan) “Gunakan redirect JavaScript hanya jika redirect sisi server atau meta refresh tidak dapat digunakan.” Lompat ke kutipan
Google — perayap treatment dari codes
- “Google follows the redirect, and Google systems use the redirect as a strong signal that the redirect target should be processed.” (terjemahan) “Google mengikuti pengalihan, dan Google sistem gunakan pengalihan sebagai sebuah kuat sinyal itu pengalihan target seharusnya menjadi diproses.” (301) berpindah untuk quote
- “Google’s crawlers follow the redirect, and Google systems use the redirect as a weak signal that the redirect target should be processed.” (terjemahan) “Google’s perayap ikuti pengalihan, dan Google sistem gunakan pengalihan sebagai sebuah weak sinyal itu pengalihan target seharusnya menjadi diproses.” (302) berpindah untuk quote
- “While Google treats these status codes the same way, keep in mind that they’re semantically different.” (terjemahan) “While Google treats ini kode status yang sama cara, ingatlah itu mereka’re semantically berbeda.” (307 ≈ 302, 308 ≈ 301) berpindah untuk quote
- “By default, Google’s crawlers follow up to 10 redirect hops.” (terjemahan) “oleh default, Google’s perayap ikuti up untuk 10 pengalihan hops.” berpindah untuk quote
Google — chains, dan bagaimana panjang untuk pertahankan pengalihan
- “Avoid chaining redirects.” (terjemahan) “hindari chaining pengalihan.” berpindah untuk quote
- “ideally no more than 3 and fewer than 5.” (terjemahan) “ideally tidak lebih daripada 3 dan fewer daripada 5.” berpindah untuk quote
- “Keep the redirects for as long as possible, generally at least 1 year.” (terjemahan) “pertahankan pengalihan untuk sebagai panjang sebagai mungkin, umumnya setidaknya 1 year.” berpindah untuk quote
John Mueller, Google — dated five-hop statements
- di sebuah 2014 webmaster hangout, Mueller described Googlebot following up untuk five pengalihan di satu perayapan dan continuing apa pun remainder pada berikutnya perayapan. Watch dari 46:03
- “up to 5 hops in the chain per crawl attempt” (terjemahan) “up untuk 5 hops di chain per perayapan attempt” (2020 Reddit comment, relayed via mesin pencari Journal.) dibaca coverage
John Mueller, Google — pengalihan loops
- “In general, a redirect loop is a URL that doesn’t work, so it’s essentially a broken link. We ignore these for search.” (terjemahan) “di umum, sebuah pengalihan loop adalah sebuah URL itu doesn’t berfungsi, karena itu ini adalah essentially sebuah broken tautan. kami ignore ini untuk penelusuran.” berpindah untuk quote
Fabrice Canel, Microsoft Bing — 301 vs. 302 waktu
- “When the future is uncertain… preferable to use a 302 redirect if your destination URL may change within 2 days, else 301 is recommended.” (terjemahan) “ketika future adalah uncertain… preferable untuk gunakan 302 pengalihan jika Anda destination URL dapat perubahan di dalam 2 days, lain 301 adalah dianjurkan.” berpindah untuk quote
MDN — protocol-tingkat definition
- “redirection is triggered by a server sending a special redirect response to a request. Redirect responses have status codes that start with
3, and aLocationheader holding the URL to redirect to.” (terjemahan) “redirection adalah triggered oleh sebuah server sending sebuah special pengalihan respons untuk sebuah permintaan. pengalihan respons memiliki kode status itu mulai dengan meta refresh, dan sebuah meta refresh header holding URL untuk pengalihan untuk.” dibaca doc
pengalihan implementation checklist
sebelum dan setelah Anda put sebuah pengalihan live:
- Kode yang tepat untuk situasi — permanen →
301/308; sementara →302/307; formulirPOSTyang harus dipertahankan →307/308. - Tujuan yang paling setara, bukan seluruh URL ke beranda karena dapat dianggap sebagai soft 404.
- Langsung ke tujuan akhir tanpa rantai.
- Tidak ada loop — jalankan
curl -ILpada URL lama dan periksa seluruh hop. - Sisi server atau edge bila memungkinkan.
- Standarkan varian www, HTTP/HTTPS, garis miring, dan huruf besar.
- Perbarui tautan internal ke URL baru.
- Pertahankan setidaknya satu tahun, dan lebih lama untuk halaman bernilai tinggi.
- Simpan jalur pembatalan sebelum aturan diterapkan.
- Verifikasi setelah penerapan dengan
curl -IL, panel Network, atau perayap. Opsi-Imengirim permintaanHEAD; jika server menanganiHEADdanGETsecara berbeda, uji lagi dengancurl -Lyang memakaiGET.
pengalihan jenis, side oleh side
** five 3xx pengalihan codes di sebuah glance**
| kode | Name | permanen atau temp? | HTTP metode dipertahankan? | Google sinyal | gunakan ini ketika |
|---|---|---|---|---|---|
301 | Moved Permanently | permanen | dapat perubahan POST→GET | kuat (consolidates forward) | sebuah halaman moved untuk baik — default permanen pengalihan |
302 | ditemukan | sementara | dapat perubahan POST→GET | Weak (biasanya stays dengan lama URL) | sebuah pendek-istilah perpindahan — campaign, sebuah/B uji, sementara swap |
303 | lihat lainnya | sementara | tidak (selalu forces GET) | Weak / meta refresh | Post/pengalihan/mendapatkan setelah sebuah form submit; rare di SEO |
307 | sementara pengalihan | sementara | ya | Weak (= 302) | sebuah sementara perpindahan di mana metode/isi harus menjadi dipertahankan (forms, APIs); juga seen dengan HSTS |
308 | permanen pengalihan | permanen | ya | kuat (= 301) | sebuah permanen perpindahan di mana metode/isi harus menjadi dipertahankan |
** dua things itu sebenarnya decide ini**
- permanen vs. sementara → determines kanonisasi sinyal (kuat vs. weak) dan whether penelusuran menampilkan baru atau lama URL.
- metode dipertahankan atau bukan → 307/308 pertahankan original metode dan isi; 301/302
permit sebuah client untuk swap sebuah
POSTuntuk sebuahGETpada cara melalui (sebuah compatibility carryover untuk older clients, per Fetch Standard); 303 selalu forcesGET. Irrelevant untuk peringkat, critical untuk forms dan APIs — gunakan307/308ketika metode dan isi harus survive hop.
Implementation metode, strongest untuk weakest (permanen)
| metode | di mana ini berjalan | keandalan |
|---|---|---|
308 / 301 (server atau edge) | server / CDN | Best — tidak perenderan dependency |
Meta refresh 0 | browser | dibaca sebagai permanen, tetapi clumsy/slow |
JavaScript (window.location) | browser (setelah render) | lebih lemah — depends pada successful perenderan |
| Crypto / tautan-hanya fallback | — | terakhir resort hanya |
Fast facts
- sebuah single benar pengalihan doesn’t lose PageRank (Illyes, 2016).
- Google documents sebuah 10-hop ceiling, tetapi recommends tidak lebih daripada 3 dan fewer daripada 5 ketika sebuah chain dapat’t menjadi avoided.
- Mueller’s 2014 dan 2020 comments describe tentang five hops per perayapan; 2014 comment juga described continuing rest later. Treat keduanya sebagai dated representative statements, bukan sebuah saat ini scheduling guarantee.
- pertahankan pengalihan ≥ 1 year.
- 307 ≈ 302, 308 ≈ 301 untuk Google — perbedaan adalah metode preservation.
- pengalihan = hanya satu URL survives; tag kanonis = several survive, satu adalah diutamakan.
Resources layak Anda time
saya writing
- 11 jenis dari pengalihan & mereka SEO Impact — saya lengkap deep dive pada setiap pengalihan jenis (301, 302, 303, 307, 308, meta refresh, JS, crypto, chains, loops), piece ini hub condenses.
- HTTP kode status & mereka SEO Impact — di mana pengalihan fit di seluruh 1xx–5xx status-kode gambaran.
- adalah ini OK untuk hapus 301 pengalihan setelah sebuah Year? kami Tested ini — saya controlled uji dari pulling year-lama pengalihan (referring domains dropped; traffic mostly held).
- 301 vs. 302 pengalihan untuk SEO: yang mana seharusnya Anda gunakan? — head-untuk-head, featuring saya experiment di mana sebuah 302 caused Google untuk drop lama domain untuk baru satu.
- sebuah situs web Migration Takes lebih daripada sebuah Checklist untuk menjadi Successful — pengalihan di context dari sebuah lengkap situs perpindahan.
Dari industri
- pengalihan dan Google Search (Google) — dokumentasi kanonis behind sebagian besar dari ini hub’s claims.
- bagaimana HTTP kode status Affect Google’s crawler (Google) — 3xx perayap treatment dan 10-hop limit.
- melakukan Duplicate konten Hurt SEO dan AI penelusuran visibilitas? (Bing) — saat ini pada—record Microsoft take pada pengalihan vs. tag kanonis.
- Redirections di HTTP (MDN) — protocol-tingkat reference untuk 3xx codes dan metode/isi penanganan.
- Google: tidak PageRank dilution ketika menggunakan 301, 302, atau 30x pengalihan anymore (mesin pencari Land) — origin dari PageRank myth-correction.
- Google penelusuran Ignores pengalihan Loops (mesin pencari Roundtable) — Mueller “essentially a broken link” (terjemahan) “essentially sebuah broken tautan” kutipan pada loops.
- Bing: gunakan 302s untuk URLs itu dapat perubahan di dua Days, Otherwise membuka 301 (mesin pencari Roundtable) — Fabrice Canel’s 301-vs-302 waktu panduan.
- pengalihan panduan untuk SEO (Conductor Academy) — sebuah solid pesaing overview dari pengalihan landscape.
pengalihan atau kanonis? gunakan survival uji
dua sinyal dapat poin toward yang sama diutamakan URL, tetapi mereka solve berbeda masalah.
pengalihan ketika sumber URL seharusnya stop serving -nya sendiri konten
Pilih redirect sisi server ketika pengguna dan perayap yang meminta URL lama perlu dikirim ke tempat lain. Gunakan kode permanen (301 atau 308) untuk perpindahan jangka panjang dan kode sementara (302, 303, atau 307) ketika URL sumber diperkirakan akan kembali.
Typical cases: sebuah changed URL, merged halaman, HTTP-untuk-HTTPS perpindahan, atau domain migration. destination harus menjadi sebuah genuine equivalent; mass-redirecting unrelated lama URLs untuk homepage dapat menjadi diperlakukan sebagai sebuah soft 404.
Canonicalize ketika multiple URLs harus remain accessible
Gunakan rel="canonical" ketika varian duplikat atau hampir duplikat masih perlu mengembalikan respons 200 sendiri, tetapi satu URL perlu diutamakan untuk pengindeksan. Tag kanonis adalah petunjuk, bukan navigasi: pengguna tetap berada di URL yang diminta. Bagi Google pun tag ini bukan aturan—Google menyatakan “indicating a canonical preference is a hint, not a rule,” (terjemahan) “menunjukkan preferensi kanonis adalah petunjuk, bukan aturan,” dan Google dapat memilih halaman lain berdasarkan sinyal lain.
Typical cases: berguna sort/filter variants, syndicated atau parameterized versi, atau duplicates itu tidak dapat menjadi dihapus yet.
tidak relevant replacement exists
Don’t force sebuah pengalihan onto sebuah unrelated halaman hanya untuk memiliki tempat lain untuk kirim lama URL — sebuah catch-semua atau homepage pengalihan untuk konten dengan tidak nyata successor dibaca sebagai sebuah soft 404 untuk Google. jika there’s tidak genuine equivalent, itu’s sebuah sinyal untuk leave decision untuk sebuah deliberate 404/410 alih-alih invent sebuah destination.
melakukan bukan kirim conflicting instructions
jika URL sebuah pengalihan untuk B, B seharusnya bukan canonicalize back untuk sebuah. pertahankan tautan internal dan sitemaps aligned dengan surviving destination. framework adalah sederhana: satu URL survives → pengalihan; several harus stay live → kanonis.
Prompt: audit sebuah peta pengalihan untuk weak destinations
Paste sebuah pengalihan-map CSV dengan lama URL, proposed destination, alasan, lama judul atau topic, destination judul atau topic, intended permanence, dan traffic/tautan sinyal jika available.
Review this proposed redirect map for relevance and implementation risk.
For each row:
1. Classify the destination as strong equivalent, plausible but needs review,
irrelevant/catch-all, self-redirect, chain risk, loop risk, missing destination,
or insufficient evidence.
2. Explain the classification using only the supplied old/destination topics and
URL evidence.
3. Flag many-to-one mappings to a homepage or broad category for manual review.
4. Check whether the intended permanence matches the proposed 3xx code when a code
column is present.
5. Do not invent a replacement URL. If no equivalent is supplied, recommend manual
mapping or an intentional 404/410 decision.
Return a table with old URL, destination, verdict, evidence, recommended action, and
priority. End with a summary of repeated rule patterns that could create chains or
loops.
DATA:
[PASTE REDIRECT MAP HERE]Human-review setiap konten-equivalence judgment sebelum deploying map.
alat untuk planning dan verifying pengalihan
- Redirect Checker — periksa dengan cepat status akhir, setiap hop, dan tujuan sebuah URL atau kumpulan kecil setelah penerapan.
- Redirect Chain Mapper — diagnosis jalur multi-hop, lihat perubahan pada setiap hop, dan ekspor aturan pembersihan yang diratakan untuk platform server umum.
- Bulk HTTP Status Code Checker — validasi inventaris pengalihan yang lebih besar, filter hasil sementara atau multi-hop, dan ekspor bukti.
- Redirect Map Builder — rencanakan pemetaan URL lama ke baru, pertahankan URL tanpa pasangan dan daftar penghapusan 410 secara eksplisit, lalu ekspor aturan berorientasi platform. Sarannya tetap memerlukan peninjauan kesetaraan konten.
- Browser DevTools → Network — verifikasi kode 3xx respons dokumen dan header
Locationsambil mereproduksi perilaku khusus browser.
uji yourself: HTTP pengalihan
Five quick pertanyaan pada bagaimana pengalihan berfungsi dan bagaimana mesin pencari treat them. Pick sebuah jawaban untuk setiap, lalu periksa.
Log perubahan
Diperbarui 21 Agu 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.
Diperbarui 19 Jul 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.
Diperbarui 18 Jul 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.