Generator Redirect 301 (.htaccess, nginx, Cloudflare)
Tempel daftar URL lama dan URL baru, aturan redirect-nya langsung jadi untuk Apache, nginx, atau Cloudflare. Chain, loop, dan URL dobel ketahuan sebelum masuk ke server.
Pengaturan
htaccess-redirects.txt
Pilih redirect 301 atau 302?
Pakai 301 kalau pindahnya permanen: struktur URL baru, halaman digabung, atau ganti domain. Pakai 302 kalau URL lama nanti dipakai lagi, misalnya halaman promo musiman atau tes sebentar.
Google sudah menyatakan bahwa redirect 3xx tidak menghilangkan PageRank, jadi bedanya ada di niat. Dengan 301, Google memindahkan sinyalnya ke URL baru dan menampilkan URL baru di hasil pencarian. Dengan 302, URL lama lebih lama ditampilkan.
307 dan 308 adalah versi ketat dari 302 dan 301 yang mempertahankan metode request. Ini penting untuk form dan API, bukan untuk halaman biasa. Google memperlakukan 308 seperti 301 dan 307 seperti 302.
Redirect di .htaccess: Redirect atau RewriteRule
Di Apache ada 2 cara menulis redirect, dan perilakunya beda.
| Redirect (mod_alias) | RewriteRule (mod_rewrite) | |
|---|---|---|
| Pencocokan | Awalan: /lama ikut menangkap /lama/halaman | Persis, dengan ^ dan $ |
| Parameter URL | Selalu dibawa, tidak bisa dicocokkan | Bisa dicocokkan dengan RewriteCond, dibawa atau dibuang dengan QSD |
| Urutan | Yang cocok pertama di file | Jalan lebih dulu dari semua baris Redirect, apa pun urutannya di file |
Tool ini menulis baris Redirect kalau semua aturan berupa path biasa dan parameter URL dibawa, diurutkan dari path terpanjang supaya folder induk tidak menelan halaman di bawahnya. Begitu ada URL lama yang punya parameter, kamu memilih membuang parameter, atau menambah aturan host, semua aturan otomatis ditulis dengan RewriteRule. Mencampur 2 modul ini di satu file adalah penyebab klasik redirect yang jalan di satu URL tapi tidak di URL lain.
Kalau website kamu WordPress, taruh aturannya di atas blok # BEGIN WordPress. WordPress mengarahkan semua request yang tidak dikenalnya ke index.php, jadi aturan di bawahnya tidak akan pernah kena.
Redirect di nginx: location dan map
Untuk beberapa redirect saja, hasilnya berupa blok location = /lama { return 301 /baru; } yang ditaruh di dalam blok server {}. Kalau lebih dari 5, tool ini memakai map yang lebih rapi dan lebih cepat, karena nginx mencari URL di tabel hash, bukan mengecek location satu per satu. Blok map ditaruh di dalam http {}, sedangkan baris if ($redirect_uri) ditaruh di blok server.
Jalankan nginx -t sebelum reload. Satu key dobel di map sudah cukup membuat nginx menolak seluruh konfigurasi, makanya tool ini membuang duplikat lebih dulu.
Bulk Redirects di Cloudflare
Output Cloudflare berupa CSV untuk Bulk Redirect List. Urutan kolomnya: URL sumber, URL tujuan, kode status, bawa parameter, termasuk subdomain, cocokkan subpath, dan pertahankan akhiran path. Cloudflare tidak mengizinkan baris judul kolom, jadi file ini tidak punya. Di dashboard, buat Bulk Redirect List, impor CSV-nya, lalu buat Bulk Redirect Rule yang memakai list itu. List-nya tidak berfungsi sebelum ada rule yang mengaktifkannya.
Ada 2 batasan. URL sumber tidak boleh mengandung parameter, jadi baris seperti itu dilewati dan ditandai. CSV juga tidak bisa memuat aturan host. Untuk https dan www, aktifkan Always Use HTTPS dan buat aturan Single Redirect.
Redirect chain dan redirect loop
Chain itu A ke B lalu ke C. Biasanya terjadi kalau kamu me-redirect halaman yang dulunya sudah jadi tujuan redirect lain. Ini wajar setelah website dirombak 2 atau 3 kali. Googlebot mengikuti sampai 10 lompatan, tapi tiap lompatan menambah satu request untuk semua pengunjung dan crawler. Tombol Ratakan chain mengubah tujuan tiap URL lama langsung ke tujuan akhirnya.
Loop itu A ke B lalu B balik ke A, atau URL yang me-redirect ke dirinya sendiri. Browser berhenti dengan pesan "too many redirects" dan halamannya tidak bisa dibuka. Penyebab yang paling sering saya temui adalah aturan redirect yang bentrok dengan aturan garis miring di akhir atau aturan www.
Checklist redirect saat pindah website
- Petakan setiap URL lama yang punya traffic atau backlink ke halaman baru yang paling mirip isinya. Mengarahkan semuanya ke homepage dianggap Google sebagai soft 404.
- Pakai skema dan host yang sama dengan versi kanonis website di URL tujuan, supaya tiap URL lama cukup satu lompatan.
- Ganti link internal dan sitemap XML ke URL baru. Redirect itu untuk link dari luar, bukan untuk menu website kamu sendiri.
- Pertahankan redirect minimal 1 tahun, sesuai panduan pindah situs dari Google. Link dari website lain bertahan jauh lebih lama dari itu.
- Setelah live, crawl daftar URL lama dan pastikan semuanya cukup satu kali redirect 301 ke halaman berstatus 200.