Redirect 302

Redirect 302 adalah pengalihan sementara yang memberi sinyal lemah agar target diproses tanpa langsung menjadikannya kanonis. Pahami kapan Google merekomendasikannya, perbedaan sinyal tautan dan preferensi URL, serta kesalahan permanen yang dapat merugikan visibilitas.

Pertama kali diterbitkan: 2 Jul 2026 · Terakhir diperbarui: 22 Agu 2026 · Advanced
Bahasa
1 sinyal bukti di halaman ini

Redirect 302 (status HTTP 302, “ditemukan”) adalah pengalihan sementara: pengalihan ini meneruskan pengguna ke URL baru sambil memberi sinyal bahwa URL asli harus tetap berada di hasil pencarian. Nuansa yang sering keliru adalah sebagai berikut: infrastruktur perayapan Google menyebut 302 sinyal lemah bahwa target harus diproses, berbeda dari sinyal kuat yang dikirim 301—tetapi ini terpisah dari pipeline pengindeksan Search, yang tidak memakai pengalihan sementara sebagai sinyal agar target menjadi kanonis (lemah bukan nol, dan diproses bukan berarti kanonis). Google (Mueller dan Illyes) mengatakan 302 tetap meneruskan sinyal tautan, dan jika bertahan cukup lama Google dapat mulai memperlakukannya seperti 301—pola yang diamati praktisi tanpa jadwal yang dipublikasikan. Ini pilihan tepat untuk keadaan yang benar-benar sementara—Google secara eksplisit merekomendasikan 302, bukan 301, untuk uji A/B, perutean geografis/perangkat, dan halaman pemeliharaan. Kesalahan nyata adalah memakai 302 untuk perpindahan permanen, yang dapat membuat URL lama terus mendapat peringkat alih-alih URL baru untuk jangka waktu yang tidak dapat diprediksi.

TL;DR — 302 (“Found”) adalah redirect sementara. Kerangka Google yang tepat memiliki dua tahap, bukan satu: infrastruktur perayapan menyebutnya sinyal lemah bahwa target redirect harus diproses, berbeda dari sinyal kuat pada 301. Secara terpisah, pipeline pengindeksan Search tidak memakai redirect sementara sebagai sinyal bahwa target harus menjadi kanonik (target tetap dapat diindeks melalui sinyal lain). Dua mekanisme sering tercampur: penerusan sinyal tautan/PageRank (Mueller dan Illyes mengatakan nilainya tidak nol pada 302, tetapi itu pernyataan publik, bukan aturan universal yang diterbitkan secara formal) serta preferensi kanonikalisasi/pengindeksan (inilah yang benar-benar berbeda—302 memberi tahu Google untuk mempertahankan URL sumber di indeks). Jika dibiarkan cukup lama, 302 dapat “berbalik”—pola yang diamati praktisi, bukan mekanisme terdokumentasi dan tanpa jadwal yang dipublikasikan. Google merekomendasikan 302, bukan 301, untuk pengujian A/B. Kesalahan nyata adalah memakai 302 untuk perpindahan permanen; jangan pernah membangun tujuan redirect dari input pengguna yang belum diperiksa.

”Moved Temporarily” (terjemahan) “Dipindahkan Sementara” → “Found” (terjemahan) “Ditemukan” — sejarah singkat

302 lahir dengan makna yang ambigu. Dalam HTTP/1.0, kode ini disebut “Moved Temporarily,” (terjemahan) “Dipindahkan Sementara,” dan spesifikasi menyatakan bahwa client harus memakai kembali metode permintaan asli saat mengikutinya. Dalam praktiknya, browser tidak selalu begitu—banyak yang diam-diam mengubah POST menjadi GET saat redirect, bertentangan dengan spesifikasi. HTTP/1.1 mengakui kenyataan itu dengan mengganti nama 302 menjadi “Found” (terjemahan) “Ditemukan” dan menambahkan dua alternatif yang tidak ambigu: 303 (See Other), yang selalu beralih ke GET, serta 307 (Temporary Redirect), yang tidak pernah mengubah metode. Spesifikasi saat ini, RFC 9110 (2022), masih mencatat bahwa client boleh mengubah POST menjadi GET pada 302—tepat alasan 307 ada untuk kasus yang melarang perubahan itu. Untuk redirect halaman berbasis GET sehari-hari (kasus SEO), 302 dan 307 berperilaku sama bagi mesin pencari; perbedaan pelestarian metode hanya penting pada pengiriman formulir dan panggilan API. Evidence for this claim RFC 9110 defines 302 Found as a temporary move to another URI and notes that user agents may change POST to GET when following it. Scope: HTTP semantics for 302 responses. Confidence: high · Verified: IETF: RFC 9110 §15.4.3 — 302 Found

Untuk keperluan penelusuran, Google mengelompokkan 302 (ditemukan), 303 (lihat lainnya), dan 307 (temporary redirect) sebagai “Temporary,” (terjemahan) “Sementara,” berlawanan dengan 301 dan 308 sebagai “Permanent.” (terjemahan) “Bersifat permanen, bukan sementara.”

Keputusan ringkas jika Anda harus memilih di antaranya:

  • 302—client yang mengikuti redirect dapat mengubah POST menjadi GET (RFC 9110). Ini cocok untuk redirect halaman biasa berbasis GET; hindari jika perubahan metode tidak dapat ditoleransi.
  • 307—tidak pernah mengubah metode atau mengirim ulang permintaan yang berbeda. Gunakan saat pengiriman formulir atau panggilan API harus diputar ulang persis seperti dikirim.
  • 303—sengaja menunjuk ke resource yang berbeda dan tidak ekuivalen, biasanya diambil dengan GET/HEAD—pola klasik “redirect setelah POST ke halaman konfirmasi”, bukan pengganti setara untuk permintaan asli.
  • Caching—302 tidak otomatis dapat di-cache secara heuristik hanya karena kode statusnya (RFC 9111); kode ini disimpan/digunakan ulang hanya jika Anda menetapkan freshness atau direktif cache secara eksplisit. Jangan menganggap CDN atau browser akan meng-cache 302 polos secara default.

Sinyal lemah vs. sinyal kuat — istilah tepat dari Google

Lewati cerita rakyat dan baca bahasa Google yang sebenarnya. Dalam dokumentasi infrastruktur perayapannya, Google menyebut 302 sebagai sinyal lemah:

“By default, Google’s crawlers follow the redirect, and Google systems use the redirect as a weak signal that the redirect target should be processed.” (terjemahan) “Secara default, crawler Google mengikuti redirect, dan sistem Google menggunakan redirect sebagai sinyal lemah bahwa target redirect harus diproses.”

Evidence for this claim Google's crawling-infrastructure documentation says crawlers follow a 302/303 and Google systems use it as a weak signal that the target should be processed; it also warns that product behavior can differ. Scope: product-specific crawl and processing handoff Confidence: high · Verified: How HTTP Status Codes Affect Google's Crawlers

Baris 301 pada tabel yang sama identik kecuali satu kata—strong:

“Google follows the redirect, and Google systems use the redirect as a strong signal that the redirect target should be processed.” (terjemahan) “Google mengikuti redirect, dan sistem Google menggunakan redirect sebagai sinyal kuat bahwa target redirect harus diproses.”

Evidence for this claim Google's crawling-infrastructure documentation says crawlers follow a 302/303 and Google systems use it as a weak signal that the target should be processed; it also warns that product behavior can differ. Scope: product-specific crawl and processing handoff Confidence: high · Verified: How HTTP Status Codes Affect Google's Crawlers

“Weak” (terjemahan) “lemah” tidak berarti “zero” (terjemahan) “nol”—tetapi kita harus tepat tentang apa yang lemah. Kedua pernyataan itu berasal dari sistem Google yang berbeda dan membahas dua tahap, bukan satu rangkaian:

  • Infrastruktur perayapan (kutipan “weak signal” (terjemahan) “sinyal lemah” di atas) membahas apakah target redirect diproses—pada dasarnya, apakah crawler Google mengambil dan meninjau tujuannya.
  • Pipeline pengindeksan Search adalah tahap terpisah yang datang kemudian. Aturannya berbunyi: “Googlebot follows the redirect, but the indexing pipeline doesn’t use the redirect as a signal that the redirect target should be canonical. The target page might still be indexed if other canonicalization signals are present.” (terjemahan) “Googlebot mengikuti redirect, tetapi pipeline pengindeksan tidak memakai redirect sebagai sinyal bahwa target redirect harus menjadi kanonik. Halaman target tetap dapat diindeks jika ada sinyal kanonikalisasi lain.” Evidence for this claim Google follows a 302 temporary redirect but does not use it as a signal that the destination should become canonical; Google recommends 302 rather than 301 for temporary site tests. Scope: Google Search handling of temporary redirects and A/B tests. Confidence: high · Verified: Google: Redirects and Google Search Google: Website testing

Jika dibaca bersama, 302 memberi Google dorongan lemah untuk melihat target (perayapan), tetapi pipeline pengindeksan Search tidak memperlakukan redirect yang sama sebagai suara untuk menjadikan target kanonik. Target tetap dapat berakhir terindeks dan kanonik karena sinyal lain, bukan karena 302 itu sendiri. Jangan menyederhanakannya menjadi “302 adalah suara lemah agar target menjadi kanonik”—kedua dokumentasi itu menjelaskan cakupan yang berbeda.

Dua mekanisme, bukan satu

Di sinilah banyak artikel mencampuradukkan hal yang berbeda, jadi pisahkan keduanya:

  1. Penerusan sinyal tautan/PageRank tidak nol pada 302. Gary Illyes mengatakan pada 2016 bahwa Google tidak lagi menerapkan pengenceran PageRank pada redirect 301, 302, atau 30x lainnya (mengakhiri kepercayaan lama tentang “kehilangan ~15% per hop”), dan Mueller menyampaikan hal yang sama khusus untuk 302: “do work the same as normal redirects… It’s not that they don’t pass any PageRank or anything like that.” (terjemahan) “berfungsi sama seperti redirect biasa… bukan berarti redirect itu tidak meneruskan PageRank atau apa pun.” Perlakukan ini sebagai pernyataan publik Google tentang pertanyaan tersebut, bukan jaminan universal yang diterbitkan secara formal — dokumentasi utama saat ini tidak merinci aturan pemindahan sinyal tautan yang tepat untuk setiap jenis redirect dalam setiap situasi.
  2. Preferensi kanonikalisasi/pengindeksan adalah mekanisme yang benar-benar berbeda. 301 merupakan sinyal kuat untuk mengindeks tujuan; 302 merupakan sinyal lemah, sehingga default Google adalah tetap mengindeks sumber.

“Apakah 302 meneruskan PageRank?” dan “apakah 302 mengubah URL yang mendapat peringkat?” adalah dua pertanyaan berbeda. Jawaban pertama ya; jawaban kedua “tidak secara default.” Mencampur keduanya melahirkan mitos “302 = nol ekuitas”.

Terkait hal ini: saat Anda me-redirect URL, Google melacak kedua ujungnya. “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. The other URL becomes an alternate name of the canonical URL.” (terjemahan) “Google melacak sumber redirect (URL lama) dan target redirect (URL baru). Salah satu URL akan menjadi kanonik; pilihannya bergantung pada sinyal seperti apakah redirect bersifat sementara atau permanen. URL lainnya menjadi nama alternatif untuk URL kanonik.” Untuk 302, sumber tetap kanonik—setidaknya sebagai default saat ini. Evidence for this claim A 302 expresses temporary intent, but it does not guarantee that the source URL will always remain Google's selected canonical or that the target cannot index through other signals. Scope: redirect crawling, indexing, and canonicalization Confidence: high · Verified: Redirects and Google Search

Jika 302 dibiarkan terlalu lama — “flip” (terjemahan) “berbalik”

Bagian yang mengejutkan: redirect sementara yang tidak pernah dihapus dapat berhenti diperlakukan sebagai redirect sementara. Mueller berkata: “if you have 302 redirects for the long run, we treat them exactly the same as 301 redirects anyway.” (terjemahan) “jika Anda memiliki redirect 302 dalam jangka panjang, kami memperlakukannya persis seperti redirect 301.”

Mengapa itu terjadi? Ini adalah penjelasan kerja saya dari panduan kanonikalisasi Ahrefs —model mental praktisi yang dibangun dari perilaku teramati, bukan mekanisme yang dipublikasikan Google secara formal. Bayangkan sebuah timbangan: redirect permanen mengirim sinyal maju ke URL baru, sedangkan redirect sementara mengirim sinyal mundur ke URL asli. Namun:

“If a temporary redirect is left in place long enough or the URL it’s redirected to already exists, it may be treated as a permanent redirect and send signals forward instead. It requires enough signals to flip the scale we saw earlier for canonicalization signals. As links build up, internal links are changed, sitemap URLs are updated, etc., more signals point to the new URL than the old URL, and the flip occurs.” (terjemahan) “Jika redirect sementara dibiarkan cukup lama atau URL yang dituju sudah ada, redirect itu dapat diperlakukan sebagai redirect permanen dan mengirim sinyal ke depan. Diperlukan cukup banyak sinyal untuk membalik timbangan sinyal kanonikalisasi. Saat tautan bertambah, tautan internal diubah, URL sitemap diperbarui, dan seterusnya, lebih banyak sinyal menunjuk ke URL baru daripada URL lama, lalu pembalikan terjadi.”

Masalahnya: tidak ada yang tahu berapa lama proses itu berlangsung. Seperti yang saya tulis dalam panduan redirect, “Nobody knows how long a 302 redirect has to exist before Google starts treating it as a 301 redirect. Usually, it’s a few weeks to a few months, but it can be days, weeks, or months.” (terjemahan) “Tidak ada yang tahu berapa lama redirect 302 harus ada sebelum Google mulai memperlakukannya sebagai redirect 301. Biasanya beberapa minggu hingga beberapa bulan, tetapi bisa juga berhari-hari, berminggu-minggu, atau berbulan-bulan.” Google dapat bertindak lebih cepat jika mengira Anda melakukan kesalahan: “Only if Google thinks you used a 302 redirect by mistake for a permanent move does this not happen. In that case, it treats the redirect as a 301… In some circumstances, Google even appears to treat 302s as 301s from the get-go.” (terjemahan) “Hal ini tidak terjadi hanya jika Google menganggap Anda keliru memakai redirect 302 untuk perpindahan permanen. Dalam kasus itu, redirect diperlakukan sebagai 301… Dalam beberapa keadaan, Google bahkan tampak memperlakukan 302 sebagai 301 sejak awal.” Jangan mengutip jumlah hari tertentu—tidak ada angka yang diterbitkan, dan angka apa pun yang beredar (termasuk “2 hari” dalam cerita rakyat Bing) belum dikonfirmasi Google.

Cara Bing memperlakukan 302 — mengamati perilaku, bukan hanya header

Bing mencapai kesimpulan yang sama melalui jalur yang sedikit berbeda, dan menyatakannya secara eksplisit. Dalam penjelasan lamanya tentang redirect, Bing menggambarkan pengamatan terhadap pola redirect selama perayapan berulang, bukan hanya mempercayai kode status: redirect yang terus mengubah tujuan diperlakukan lebih seperti 302 meskipun berlabel 301, sedangkan redirect yang selalu menunjuk tempat sama diperlakukan lebih seperti 301 meskipun berlabel 302—sistem Bing mulai “menganggapnya lebih seperti 301 saat kami terus merayapinya berulang kali.” (terjemahan) “menganggapnya lebih seperti 301 saat kami terus merayapinya berulang kali.” Ini adalah konvergensi yang sama seperti penjelasan Google, tetapi dicapai secara independen: setelah perilaku konsisten cukup lama, kedua mesin lebih mempercayai apa yang dilakukan redirect daripada klaim headernya.

Panduan lama Bing juga lebih menekankan “use 302 sparingly” (terjemahan) “gunakan 302 secukupnya” daripada Google saat ini, serta memperingatkan bahwa 302 yang disalahgunakan dapat meninggalkan nilai pada URL asli. Pelajaran praktisnya sama dengan Google: sesuaikan jenis redirect dengan maksud Anda yang sebenarnya.

Kapan 302 merupakan pilihan yang tepat

Google tidak sekadar menoleransi 302—untuk satu kasus, Google justru merekomendasikannya. Dari panduan pengujian A/B:

“If you’re running a test that redirects users from the original URL to a variation URL, use a 302 (temporary) redirect, not a 301 (permanent) redirect. This tells search engines that this redirect is temporary—it will only be in place as long as you’re running the experiment—and that they should keep the original URL in their index rather than replacing it with the target of the redirect (the test page). JavaScript-based redirects are also fine.” (terjemahan) “Jika Anda menjalankan pengujian yang mengalihkan pengguna dari URL asli ke URL variasi, gunakan redirect 302 (sementara), bukan redirect 301 (permanen). Ini memberi tahu mesin pencari bahwa redirect ini sementara—hanya ada selama eksperimen berlangsung—dan URL asli harus tetap di indeks, bukan digantikan oleh target redirect (halaman pengujian). Redirect berbasis JavaScript juga boleh.”

Kasus penggunaan yang sah (semuanya benar-benar sementara):

  • Pengujian A/B—rekomendasi eksplisit Google di atas. Namun, jangan memperpanjangnya: Google memperingatkan bahwa “if we discover a site running an experiment for an unnecessarily long time, we may interpret this as an attempt to deceive search engines and take action accordingly.” (terjemahan) “jika kami menemukan situs menjalankan eksperimen terlalu lama tanpa alasan, kami dapat menafsirkannya sebagai upaya menipu mesin pencari dan mengambil tindakan yang sesuai.” Jalankan selama diperlukan untuk mencapai signifikansi, lalu hapus.
  • Perutean geografis, perangkat, dan bahasa—tujuan yang “tepat” bergantung pada pengunjung, dan tidak ada satu URL yang boleh menggantikan sumber secara permanen. Ini memerlukan lebih dari sekadar memilih kode status: pastikan ke mana Googlebot diarahkan (biasanya tidak membawa sinyal lokasi/perangkat pengunjung nyata, jadi periksa apa yang disajikan aturan Anda kepadanya), apakah perutean bergantung pada cookie atau header yang tidak dikirim crawler, apakah kunci cache dan header Vary memisahkan varian dengan benar (agar cache tidak menyajikan halaman satu negara kepada negara lain), apakah pembaca layar atau pengunjung tanpa JavaScript tetap dapat mencapai konten, dan apakah pengunjung dapat membatalkan perutean otomatis alih-alih terjebak dalam loop redirect. Padukan dengan hreflang yang tepat pada versi terlokalisasi—redirect dan hreflang harus selaras, bukan saling bertentangan.
  • Halaman pemeliharaan sementara/layanan tidak tersedia—contoh dari Google sendiri: “if a service your site offers is temporarily unavailable, you can set up a temporary redirect to send users to a page that explains what’s happening, without compromising the original URL in search results.” (terjemahan) “jika layanan di situs Anda sedang tidak tersedia, Anda dapat menyiapkan redirect sementara ke halaman yang menjelaskan situasinya tanpa mengorbankan URL asli di hasil pencarian.” Pikirkan keadaan yang benar-benar Anda hadapi. Jika URL itu sendiri tidak dapat dilayani sekarang (backend mati atau Anda sedang melakukan deployment), 503 Service Unavailable dengan header Retry-After pada URL yang sama sering lebih tepat—respons ini mengatakan “permintaan sementara tidak dapat dipenuhi, coba lagi nanti” tanpa mengarahkan ke mana pun. Pilih 302 saat Anda sengaja mengarahkan pengunjung ke URL penjelasan berbeda yang benar-benar berguna (halaman status atau halaman “kami akan segera kembali” dengan detail), bukan sekadar menandai URL asli tidak tersedia.
  • Promosi berbatas waktu—kirim pengunjung ke halaman kampanye selama masa promosi, lalu kembalikan.
  • Penyeimbangan beban/failover—arahkan traffic ke tempat lain saat origin atau pusat data sementara tidak tersedia.

Lihat tab Examples untuk contoh berdampingan yang diberi anotasi, dan tab Checklists untuk pemeriksaan awal.

Satu kesalahan yang benar-benar merugikan

Menggunakan 302 saat maksud Anda adalah perpindahan permanen. Anda memberi tahu Google untuk mempertahankan URL lama tetap terindeks, sehingga halaman baru yang ingin Anda peringkatkan mungkin tidak mengambil alih selama jangka waktu yang tidak pasti—kerugian visibilitas yang nyata, bukan teoritis. Jika halaman sudah hilang untuk selamanya, gunakan 301 (atau 308). Kesalahan terkait lainnya adalah mencampur 301 dan 302 secara tidak konsisten di dalam rantai redirect, atau—sebagai mode kegagalan redirect apa pun—tanpa sengaja menunjuk dua URL satu sama lain dan membuat loop.

Menerapkan 302

Header-lah yang penting—baris status 302 Found dan sebuah Location. Contoh PHP dari Google:

header('HTTP/1.1 302 Found');
header('Location: https://www.example.com/newurl');
exit();

Apache (.htaccess) —flag R=302 yang membuatnya sementara (R=301 atau R tanpa angka akan default ke permanen):

Redirect 302 /old-path https://www.example.com/newurl
# or with mod_rewrite:
RewriteRule ^old-path/?$ https://www.example.com/newurl [R=302,L]

nginx—redirect mengeluarkan 302 (permanent akan mengeluarkan 301):

location = /old-path {
    return 302 https://www.example.com/newurl;
}

Apa pun stack-nya (plugin redirect WordPress, aturan CDN/edge, atau handler tingkat aplikasi), aturannya sama: redirect sisi server lebih disukai, dan Anda harus memilih kode sementara dengan sengaja—sebagian besar alat default ke 301, sehingga 302 biasanya harus ditetapkan secara eksplisit.

Satu catatan keamanan yang berlaku untuk redirect apa pun, bukan hanya 302: jika tujuan pada header Location Anda pernah dibangun dari input yang dikendalikan pengguna (misalnya parameter kueri ?next= atau ?returnUrl=), Anda memiliki bahan untuk open redirect—penyerang dapat membuat tautan di domain Anda yang justru memantulkan pengunjung ke tempat berbahaya. Jangan mengirim pengunjung ke URL apa pun yang muncul dalam parameter permintaan; gunakan allowlist untuk tujuan yang benar-benar boleh Anda redirect (kumpulan path atau origin aman yang tetap), lalu uji bagaimana logika redirect menangani input terenkode dan scheme-relative (//evil.example, %2F%2Fevil.example, serta trik serupa) sebelum mempercayainya di produksi. Cocokkan sintaks cuplikan persis setiap platform dengan versinya saat ini sebelum shipping—contoh di atas hanya ilustrasi, bukan pengganti pengujian pada server/CDN Anda sendiri.

Untuk pasangan perpindahan permanen dan perbandingan lengkap, lihat artikel saudara tentang redirect 301, 301 vs 302, serta 302 vs 307 dalam cluster ini.

Try it live

This is a real endpoint on this site — not a simulation. Hit it from the button, open it in a new tab, or curl -i it from your terminal, and the server answers with the actual status code this article is about.

Open in new tab ↗

Add an expert note

Pin an expert quote

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