Tentang Pengalihan .htaccess
Kapan Anda memerlukan pengalihan
Setiap kali URL berubah. Desain ulang, restrukturisasi, perpindahan ke https, atau penggabungan halaman dengan halaman lain—semuanya meninggalkan alamat lama yang masih disimpan oleh pengguna dan mesin pencari.
Pengalihan mengarahkan mereka ke halaman baru dan, jika dilakukan dengan benar, membawa serta sinyal peringkat yang telah diperoleh URL lama. Lewatkan langkah ini, dan sinyal tersebut tidak akan tersalurkan ke mana pun, begitu pula siapa pun yang mengikuti tautan lama.
Generator ini mengubah daftar URL lama dan baru menjadi aturan .htaccess yang menjalankan pengalihan tersebut.
Kode 3xx yang harus digunakan
301 berarti pemindahan tersebut bersifat permanen. Mesin pencari memindahkan sinyal URL lama ke URL baru dan pada akhirnya menghapus alamat lama dari indeksnya. Inilah yang Anda inginkan dalam hampir semua kasus.
302 menunjukkan bahwa pemindahan tersebut bersifat sementara. URL lama tetap terindeks dan mempertahankan sinyalnya, yang tepat untuk halaman pemeliharaan atau promosi musiman, tetapi tidak tepat untuk hal lainnya. 302 yang dibiarkan selama berbulan-bulan merupakan salah satu cara yang lebih tidak kentara untuk kehilangan peringkat, karena tidak ada yang tampak rusak.
307 dan 308 adalah padanan yang lebih baru dari 302 dan 301. Mesin pencari memperlakukannya dengan cara yang sama, dan perbedaannya bersifat teknis: keduanya mempertahankan metode permintaan asli, sehingga POST dari sebuah formulir tiba di URL baru sebagai POST, bukan diubah menjadi GET. Hal ini penting untuk API dan penangan formulir, tetapi jarang penting untuk halaman biasa. Apache memerlukan versi 2.4 atau yang lebih baru untuk menyajikan 308.
Sisa rentang 3xx bukan untuk ini. Kode 300 dan 305 pada dasarnya tidak digunakan, 304 adalah respons caching, bukan pengalihan, dan 303 digunakan untuk mengarahkan browser ke halaman konfirmasi setelah pengiriman formulir—tidak satu pun dari kode tersebut termasuk dalam file pengalihan.
Cara kerja pencocokan yang sebenarnya
Pengalihan mencocokkan bagian awal path, bukan keseluruhan path. Aturan untuk /blog juga mencakup /blog/post dan /blog/category/thing, tanpa perlu mencantumkan keduanya. Hal ini berguna setelah Anda mengetahuinya, tetapi bisa mengejutkan jika belum, karena aturan yang luas dan ditempatkan di atas aturan yang spesifik membuat aturan spesifik tersebut tidak pernah diterapkan.
Perilaku yang sama juga memungkinkan Anda memindahkan seluruh domain: satu aturan dengan / sebagai alamat lama akan mencakup setiap halaman di situs. Arahkan ke root domain baru, dan setiap URL akan mengikuti.
Hal yang tidak dipahami oleh Redirect adalah pola. Tidak ada wildcard di sini, jadi /* dibaca sebagai path literal dan tidak cocok dengan apa pun—pencocokan prefix sudah melakukan tugas tersebut. Jika Anda benar-benar memerlukan pola, RedirectMatch menggunakan ekspresi reguler, dan sebaiknya hanya digunakan ketika prefix tidak dapat memenuhi kebutuhan.
Kesalahan umum
- Mengalihkan semuanya ke beranda, yang dianggap sebagai soft 404 dan tidak membantu siapa pun.
- Rantai, ketika A mengarah ke B lalu ke C. Arahkan setiap URL lama langsung ke tujuan akhir.
- Loop, ketika dua aturan saling mengarahkan lalu lintas bolak-balik hingga browser menyerah.
- Mengarahkan ke halaman yang bukan pengganti yang wajar untuk halaman lama.
- Mengedit .htaccess tanpa cadangan. Kesalahan sintaks dapat membuat seluruh situs tidak dapat diakses.
Tempat menaruh aturan ini
.htaccess adalah file konfigurasi Apache yang berada di root situs Anda. LiteSpeed juga membacanya; Nginx tidak, dan memerlukan sintaksnya sendiri dalam konfigurasi server.
Aturan diterapkan secara berurutan, jadi letakkan pengalihan yang spesifik di atas pengalihan yang umum. Simpan salinan file yang berfungsi sebelum mengubah apa pun, karena kesalahan di sini akan menghasilkan error 500 untuk setiap halaman, bukan gagal secara diam-diam.
Untuk beberapa URL, file ini adalah tempat yang tepat. Untuk ratusan URL, plugin atau aturan berbasis database lebih mudah dipelihara daripada file yang tidak ingin dibuka siapa pun.
Menggunakan generator pengalihan .htaccess
Pilih jenis pengalihan, tambahkan satu baris untuk setiap URL yang telah dipindahkan, lalu unduh atau salin aturannya. Jalur lama bersifat relatif terhadap domain Anda; tujuan harus berupa URL lengkap.
Uji beberapa URL secara manual setelahnya. Pengalihan yang berfungsi di browser tetapi mengembalikan kode status yang salah tetap membuat Anda kehilangan sinyal yang seharusnya diteruskannya.
Ke mana selanjutnya
Periksa apakah aturan tersebut berfungsi sesuai harapan dengan
pemeriksa pengalihan kami, yang mengikuti setiap lompatan dan menampilkan kode status. Pastikan tujuan mengembalikan
kode status 200, lalu buat konfigurasi lainnya dengan generator
.htaccess.