Redirect 301 vs 302
Redirect 301 dan 302 sama-sama mengalihkan pengunjung ke URL lain, tetapi keduanya memberi sinyal yang berbeda. 301 berarti perpindahan permanen. 302 berarti perpindahan sementara. Mesin pencari dan browser memperlakukan keduanya dengan cara yang tidak sama.
Beda utama
| Kode | Arti | Perilaku umum |
|---|---|---|
| 301 | Pindah permanen | Sinyal dialihkan ke URL baru, browser menyimpan cache lama |
| 302 | Pindah sementara | URL lama dianggap tetap utama |
| 307 | Pindah sementara | Metode dan body request dipertahankan |
| 308 | Pindah permanen | Metode dan body request dipertahankan |
Untuk perubahan struktur URL, 301 adalah pilihan yang tepat. Untuk halaman promo, uji A/B, atau pemeliharaan sementara, gunakan 302. Kalau request memakai metode POST dan Anda perlu mempertahankan metode serta body, pertimbangkan 307 atau 308, bukan 301 atau 302.
Cara memasang
Di Nginx, redirect satu URL bisa memakai return 301 /tujuan; atau rewrite ^/lama$ /tujuan permanent;. Di Apache, gunakan Redirect 301 /lama /tujuan atau aturan RewriteRule di .htaccess. Di WordPress, plugin redirect biasanya menawarkan pilihan 301 dan 302, tetapi periksa apakah plugin juga mengubah canonical dan sitemap.
Untuk memindahkan seluruh domain, arahkan versi http ke https, lalu versi www ke versi utama. Uji setiap langkah dengan curl -I agar tidak terjadi rantai 301 yang panjang.
Yang perlu diperhatikan
Browser menyimpan 301 dalam cache. Kalau Anda salah mengarahkan lalu memperbaikinya, sebagian pengunjung masih bisa menuju URL lama sampai cache mereka bersih. Uji dulu di staging atau dengan URL yang belum pernah dikunjungi.
Hindari rantai redirect seperti A ke B ke C. Setiap lompatan menambah latency dan mempersulit pelacakan. Arahkan langsung ke tujuan akhir. Pastikan juga URL tujuan tidak mengembalikan 404 atau 500, karena redirect ke halaman rusak tetap merugikan pengunjung dan crawler.
Untuk konteks kode status, lihat HTTP Status Codes. Kalau tujuan Anda menyatukan beberapa URL, pelajari Canonical URL. Untuk aturan server, lihat .htaccess. Kalau masalahnya HTTP ke HTTPS, lihat HTTP vs HTTPS.
Uji dengan curl -I -L https://contoh.com/lama untuk melihat seluruh rantai. Periksa apakah query string ikut terbawa dan apakah trailing slash menghasilkan redirect tambahan. Simpan aturan redirect di version control agar setiap perubahan bisa ditinjau dan dibatalkan.
FAQ
Apakah 302 bisa dipakai untuk perubahan permanen?
Bisa secara teknis, tetapi bukan pilihan yang tepat. URL lama akan tetap dianggap utama oleh mesin pencari, sehingga sinyal tidak berpindah seperti yang Anda harapkan.
Mengapa redirect saya masih muncul setelah dihapus?
Browser atau CDN masih menyimpan cache 301. Uji dengan Incognito, hapus cache, atau gunakan URL baru. Untuk pengunjung, cache 301 bisa bertahan lama.
Apakah redirect 301 bisa memperlambat situs?
Satu redirect menambah satu round trip. Rantai lima redirect menambah lima round trip. Arahkan langsung ke tujuan akhir untuk menjaga latency.
Disclaimer: Artikel WikiHosting disusun untuk tujuan edukasi dan referensi. Teknologi hosting terus berkembang, sehingga beberapa informasi teknis mungkin berubah seiring waktu.
