Cara Menyiapkan Redirect di EmDash CMS

Redirect muncul di dua skenario nyata: migrasi dari platform lain di mana URL lama perlu tetap bekerja, dan pembersihan URL umum di situs EmDash yang sudah ada. Mekanisme terdokumentasi EmDash buat yang pertama adalah schema yang tepat dan tervalidasi di file seed. Ini mencakup kedua kasus secara jujur.
Daftar Isi
- Schema Redirect
- Memilih Status Code yang Tepat
- Redirect dari Migrasi WordPress
- Kapan Kamu Menambah Redirect itu Penting
- Checklist Migrasi yang Realistis
- Pertanyaan yang Sering Diajukan
- Apakah redirect berlaku otomatis di setiap deploy, atau cuma yang pertama?
- Bisakah saya menunjuk redirect ke domain eksternal?
- Haruskah saya memakai schema redirect EmDash atau config redirects Astro?
- Bagaimana kalau saya punya ratusan redirect dari migrasi besar?
- Kesimpulan
Schema Redirect
Array `redirects` di file seed mendefinisikan aturan yang mempertahankan URL lama:
{
"redirects": [
{ "source": "/old-about", "destination": "/about" },
{ "source": "/legacy-feed", "destination": "/rss.xml", "type": 308 },
{
"source": "/category/news",
"destination": "/categories/news",
"groupName": "migration"
}
]
}Referensi properti lengkapnya:
- source (wajib) — path lama, harus dimulai dengan /.
- destination (wajib) — path baru, harus dimulai dengan /.
- type (opsional) — status HTTP: 301, 302, 307, atau 308. Kosongkan buat default platform.
- enabled (opsional) — apakah aturan ini aktif; defaultnya true.
- groupName (opsional) — label buat filtering/pencarian redirect di admin, berguna buat menandai "semua redirect dari migrasi Maret" sebagai satu grup.
source dan destination harus path lokal. URL eksternal, path protocol-relative, segmen path traversal, dan karakter newline ditolak oleh validasi seed.
Validasi itu batasan yang nyata dan disengaja — redirect buat mereorganisasi struktur URL situsmu sendiri, bukan buat menunjuk ke tujuan eksternal sembarang, yang menutup vektor open-redirect potensial by design.
Memilih Status Code yang Tepat
- 301 (Moved Permanently) — pilihan standar buat halaman yang pindah permanen; search engine mentransfer sinyal ranking ke URL baru.
- 302 (Found) — redirect sementara; pakai saat URL lama mungkin kembali (halaman musiman, A/B test).
- 307/308 — padanan 302/301 yang mempertahankan method, relevan terutama buat request non-GET.
Buat sebagian besar skenario migrasi dan pembersihan URL, 301 adalah default yang tepat.
Redirect dari Migrasi WordPress
Import WordPress EmDash menghasilkan peta redirect secara otomatis, mencakup pola URL yang berubah selama migrasi:
{
"redirects": [
{ "from": "/?p=123", "to": "/posts/hello-world" },
{ "from": "/2024/01/hello-world/", "to": "/posts/hello-world" },
{ "from": "/category/news/", "to": "/categories/news" }
],
"feeds": [
{ "from": "/feed/", "to": "/rss.xml" }
]
}Peta yang dihasilkan itu memakai `from`/`to` alih-alih `source`/`destination` milik schema seed — cocokkan nama field-nya saat mengonversinya ke array `redirects` file seed-mu, atau terapkan langsung lewat aturan redirect platform hosting-mu sendiri (aturan redirect Cloudflare, atau opsi config `redirects` Astro sendiri) kalau kamu lebih memilih tidak merutekannya lewat mekanisme seed sama sekali.
Kapan Kamu Menambah Redirect itu Penting
File seed berlaku otomatis cuma saat database kosong dan setup belum selesai — itu mekanisme buat instalasi baru atau migrasi dari-nol, bukan buat menambah satu redirect baru ke situs yang sudah live. Buat redirect yang dibutuhkan setelah peluncuran awal (kamu mengganti nama halaman, merestrukturisasi URL), dua opsi praktisnya:
- Config redirects Astro sendiri di astro.config.mjs, buat redirect yang seharusnya dimiliki codebase-mu secara langsung.
- Aturan redirect hosting atau CDN-mu (Cloudflare Redirect Rules, atau padanan host Node.js-mu), buat redirect yang ingin kamu kelola sepenuhnya di luar codebase-mu.
// astro.config.mjs
export default defineConfig({
redirects: {
"/old-about": "/about",
"/legacy-page": { status: 301, destination: "/new-page" },
},
});Checklist Migrasi yang Realistis
- Selama migrasi, tangkap setiap pemetaan URL-lama-ke-URL-baru yang dihasilkan atau diketahui.
- Konversikan ke array `redirects` file seed (source/destination/type/groupName) kalau bootstrap situs baru.
- Tandai dengan `groupName` (misalnya "migrasi-2026") supaya kamu bisa menemukan dan mengauditnya nanti.
- Buat apa pun yang ditemukan setelah peluncuran awal, tambahkan lewat config `redirects` Astro atau aturan platform hosting-mu sebagai gantinya.
- Spot-check sampel URL lama pasca-peluncuran buat memastikan mereka sungguh-sungguh redirect alih-alih 404.
Pertanyaan yang Sering Diajukan
Apakah redirect berlaku otomatis di setiap deploy, atau cuma yang pertama?
Redirect file seed berlaku saat bootstrap database kosong yang baru — bukan di setiap deploy berikutnya dari situs yang sudah berjalan, aturan yang sama yang mengatur sisa konten dan schema file seed.
Bisakah saya menunjuk redirect ke domain eksternal?
Tidak — validasi seed secara eksplisit menolak URL eksternal di `source` atau `destination`, membatasi redirect ke aturan path-ke-path lokal di dalam situsmu sendiri.
Haruskah saya memakai schema redirect EmDash atau config redirects Astro?
Buat migrasi baru atau peluncuran awal, array redirects file seed adalah mekanisme yang terdokumentasi dan purpose-built, terutama berguna dengan `groupName` buat melacak satu batch. Buat penambahan redirect berkelanjutan pasca-peluncuran, config Astro sendiri atau aturan platform hosting-mu jalur yang lebih praktis.
Bagaimana kalau saya punya ratusan redirect dari migrasi besar?
Schema seed menangani ini baik-baik saja sebagai array besar tanpa batas terdokumentasi, dan `groupName` jadi sungguh-sungguh berguna di skala itu buat memfilter tampilan admin ke batch migrasi spesifik alih-alih scroll lewat semuanya.
Kesimpulan
Schema redirect EmDash — source, destination, tipe status, dan label group opsional — adalah fitur nyata dan tervalidasi yang purpose-built buat migrasi, paling berguna saat bootstrap situs baru dari file seed. Buat redirect yang ditambahkan setelah situs sudah live, config `redirects` Astro sendiri atau aturan platform hosting-mu jalur yang lebih praktis dan selalu tersedia. Lihat panduan kami soal migrasi dari WordPress buat dari mana peta redirect yang dihasilkan di alur itu berasal.








Komentar