Resep peta redirect: peringkat URL lama berdasarkan tautan yang dimilikinya
Peta redirect adalah daftar prioritas, bukan spreadsheet berisi setiap URL. Mulailah dengan halaman yang ditautkan oleh situs lain, dan sisa peta akan menjadi lebih mudah.
Tim riset ArchiLinks ·

Mengapa memberi peringkat berdasarkan tautan
Tim membuat peta dari hasil crawl. Hasilnya lengkap. Namun, hal ini juga memperlakukan halaman pers tahun 2014 yang terlupakan sama pentingnya dengan halaman utama.
Saat Anda memeriksa backlink ke situs saya dan mengurutkan halaman berdasarkan jumlah domain yang menautkan, muncul pola dalam sebagian besar migrasi: beberapa lusin URL memegang sebagian besar nilai eksternal. URL-URL tersebut dicocokkan secara manual, ditinjau dua kali, dan diuji terlebih dahulu.
Semua yang lain mengikuti aturan. Folder dipetakan berdasarkan pola, parameter dilepas, dan URL terisolasi tanpa tautan maupun lalu lintas dapat mengembalikan 410 jika Anda memutuskan demikian. Padukan output ini dengan daftar periksa migrasi agar peta diuji sebelum peluncuran dan diperiksa ulang pada hari ke-45, serta dengan skrip API untuk menjadwalkan penarikan bulanan.
Langkah 1: tarik halaman yang ditautkan
Satu panggilan mengembalikan hingga 1.000 baris dan memakan biaya 2 kredit, berapa pun jumlah barisnya. Nama bidang di bawah ini hanyalah contoh; lihat satu respons nyata dan sesuaikan kuncinya.
import csv, requests
BASE = "https://archilinks.com/api.php"
KEY = "sk_live_..."
def call(action, **params):
r = requests.get(BASE, params={"action": action, "key": KEY, **params}, timeout=30)
r.raise_for_status()
return r.json()
data = call("toppages", q="old-shop.com", per=1000)
rows = next(v for v in data.values() if isinstance(v, list))
with open("linked-pages.csv", "w", newline="") as f:
w = csv.writer(f)
w.writerow(["old_url", "links", "new_url"])
for row in rows:
w.writerow([row.get("url"), row.get("backlinks"), ""])Langkah 2: isi kolom ketiga
Cocokkan berdasarkan makna
Halaman produk dialihkan ke produk yang sama, atau ke kategorinya jika produk tersebut sudah tidak ada. Jangan pernah ke halaman utama kecuali halaman tersebut memang halaman utama.
Biarkan orang kedua memeriksa 50 teratas
Orang yang lelah pada pukul 18.00 memetakan panduan tentang canonical ke indeks blog. Seorang peninjau akan menangkap kesalahan ini.
Aturan untuk ekor panjang
Tulis pola untuk folder dan lepaskan parameter pelacakan. Simpan setiap aturan dalam kontrol versi dengan komentar yang menjelaskan alasannya.
Langkah 3: keluarkan aturan server
nginx membaca file peta dengan baik, dan skalanya dapat mencapai puluhan ribu baris.
# /etc/nginx/redirects.map (generated from the csv)
/old/guide-canonicals /guides/canonical-tags;
/products/blue-widget /shop/widgets/blue;
# in nginx.conf, http context
map $request_uri $new_uri {
default "";
include /etc/nginx/redirects.map;
}
# in the server block of the old host
if ($new_uri) {
return 301 https://new-shop.com$new_uri;
}
Langkah 4: uji setiap hop
Gagal pipeline jika ada sesuatu yang bukan redirect 301 tunggal ke status 200.
while IFS=, read -r old new; do
out=$(curl -s -o /dev/null -w "%{http_code} %{num_redirects} %{url_effective}" -L "https://old-shop.com$old")
echo "$old -> $out"
done < redirect-pairs.csv | grep -v "^.* -> 200 1 " && echo "FIX ABOVE"Kesalahan yang akan kami periksa terlebih dahulu
| Gejala | Penyebab yang mungkin | Perbaikan |
|---|---|---|
| Rantai dua atau tiga hop | Aturan lama ditumpuk di atas aturan baru | Arahkan aturan lama langsung ke URL akhir |
| Semua berakhir di halaman utama | Aturan tangkapan serba bisa yang malas | Cocokkan berdasarkan topik; Google mungkin memperlakukan redirect massal ke halaman utama sebagai soft 404 |
| String kueri hilang | Aturan membuang argumen | Pertahankan parameter yang mengubah konten; lepaskan sisanya |
| URL teratas mengembalikan 404 setelah peluncuran | Terlewat dari CSV | Jalankan ulang penarikan dan bandingkan dengan peta langsung |

URL mana yang mendapatkan baris pencocokan manual
Tidak setiap URL layak mendapatkan penanganan manual. Pemisahan yang berguna adalah berdasarkan domain penaut: setiap URL dengan beberapa situs luar yang menautkannya akan dicocokkan secara manual, dan sisanya mengikuti himpunan aturan. Katakanlah Anda memiliki 4.000 URL lama dan 60 di antaranya memegang sebagian besar tautan luar. Enam puluh URL tersebut membutuhkan waktu satu sore untuk ditinjau, sementara 3.940 lainnya hanya memerlukan pola dan pengujian.
Pertahankan ambang batas dalam skrip, bukan di kepala seseorang. Lima domain penaut adalah awal yang masuk akal untuk situs menengah. Mulailah dari sana. Turunkan angka tersebut ketika seluruh situs memiliki sedikit tautan, dan naikkan ketika daftar manual menjadi terlalu panjang untuk satu peninjau.
Mempisahkan baris yang dicocokkan secara manual dan baris yang dicocokkan berdasarkan aturan
Baris yang dicocokkan secara manual memiliki peninjau bernama dan catatan mengapa target dipilih. Baris yang dicocokkan berdasarkan aturan memiliki pola yang diuji terhadap seluruh folder, sehingga pengecualian muncul dalam laporan pengujian sebelum peluncuran, bukan dalam grafik lalu lintas setelahnya.
Kasus campuran menyebabkan sebagian besar kebingungan. Produk yang dihentikan dan diganti dengan penerus dialihkan ke penerus tersebut. Satu produk yang dihentikan tanpa penerus menjadi milik kategorinya, bukan halaman utama.
Menggunakan penarikan kedua untuk melihat apa yang berpindah
Jalankan refdomains untuk host lama sebelum peta final, lalu lagi setelah peluncuran, dan cocokkan kedua daftar tersebut berdasarkan domain. Domain penaut yang hilang dari penarikan kedua adalah pertanyaan untuk pemilik tautan, bukan alasan untuk khawatir, karena tautan yang dihapus mungkin memerlukan waktu untuk muncul di indeks.
Simpan kedua file berdampingan di folder migrasi, dengan tanggal di setiap nama. Diff menunjukkan di mana harus mencari, dan peta menunjukkan apa yang Anda lakukan terhadapnya.
Memutuskan apa yang harus dilakukan dengan URL tanpa tautan
URL terisolasi tanpa tautan maupun lalu lintas adalah bagian yang mudah. Kembalikan 404 atau 410 yang jelas ketika konten telah hilang selamanya, dan alihkan hanya jika ada pengganti yang dekat, agar pengunjung dan crawler sama-sama mendarat di tempat yang bermanfaat.
Saat Anda ragu, tinggalkan catatan singkat di peta dan kembali setelah minggu pertama log. Log server Anda menunjukkan alamat lama mana yang masih menerima permintaan, yang merupakan bukti terbaik yang akan Anda miliki.
Bagaimana peta cocok dengan rilis
Peta redirect berubah seiring situs. Ingatlah hal ini. Halaman baru muncul, halaman lama berganti nama, dan perubahan template dapat merusak aturan yang terlihat aman bulan lalu. Perlakukan peta sebagai kode, dengan satu file dalam kontrol versi, tinjauan sebelum setiap deploy, dan jalankan uji pada setiap perubahan.
Pertahankan peta dalam satu lapisan jika memungkinkan. Redirect yang tersebar di aplikasi, CDN, dan CMS adalah bagaimana rantai muncul, dan rantai sulit dideteksi tanpa crawl lengkap.
Di mana aturan harus berada
Peta server cepat dan mudah diuji. Plugin CMS berguna untuk beberapa halaman, tetapi sulit diaudit dalam skala besar. Apapun yang Anda pilih, pengujian satu hop harus membaca dari tempat yang sama.
Jika dua lapisan mengalihkan URL yang sama, pengujian akan melaporkan rantai. Hapus duplikat dari lapisan yang berencana Anda nonaktifkan.
Menguji di host asli setelah setiap perubahan
Jalankan uji hop di staging, lalu di produksi, setelah setiap perubahan pada file aturan. Aturan yang lolos di staging masih bisa gagal sekali cache memegang respons lama, sehingga jalankan kedua ini penting.
Simpan output dengan tanggal. Ketika URL teratas rusak berbulan-bulan kemudian, hasil lama menunjukkan apakah aturan berubah atau situs yang berubah. Daftar periksa migrasi mencantumkan kapan pengujian ini termasuk, dan menjalankannya terlebih dahulu membuat pemeriksaan berikutnya sebanding dengan yang ini.
Meninjau perubahan pada file aturan
Tentukan satu peninjau untuk perubahan pada peta, dan minta orang tersebut memeriksa tiga hal: apakah setiap target masih sesuai dengan subjek, berapa banyak hop yang dibuat aturan, dan apakah polanya cukup sempit untuk hanya memengaruhi URL yang dituju. Perubahan yang tidak ditinjau oleh siapa pun adalah yang paling mungkin memulai rantai.
Minta tinjauan yang sama ketika situs itu sendiri berubah. Kategori baru yang menyerap folder lama dapat membuat aturan yang benar mengarah ke tempat yang salah tanpa ada yang mengedit peta.
Simpan catatan peninjau di samping perubahan. Enam bulan kemudian, catatan tersebut menjelaskan aturan yang jika tidak akan terlihat sewenang-wenang, dan menghemat penyelidikan kedua atas pertanyaan yang sama.
Menguji sampel sebelum jaluran penuh
Sebelum menjalankan seluruh daftar, pilih sampel lima puluh baris yang mencampur halaman paling banyak ditautkan dengan beberapa halaman biasa. Jalankan uji hop pada sampel tersebut terlebih dahulu. Sampel cepat dibaca, dan kesalahan aturan akan muncul di dalamnya jauh sebelum muncul di seluruh file.
Sertakan setidaknya satu baris dari setiap pola aturan, dan satu dari setiap grup pencocokan manual. Pola yang mencakup folder dua ratus URL hanya diuji oleh baris yang kebetulan ada dalam sampel, jadi pilihlah secara sengaja.
Mempertahankan file aturan tetap kecil
File aturan yang tumbuh melebihi beberapa ratus pola menjadi sulit ditinjau. Pisahkan berdasarkan bagian situs, dan pertahankan setiap file cukup pendek sehingga peninjau dapat membacanya dalam satu kali duduk.
Hapus aturan pada hari folder tersebut dihapus. Aturan lama yang tertinggal adalah yang kemudian mengirimkan lalu lintas ke dalam rantai.
Sebelum peta diluncurkan
- Setiap baris memiliki URL baru, atau 404 atau 410 yang disengaja.
- Tidak ada target yang merupakan redirect itu sendiri.
- 50 URL dengan domain penaut paling banyak ditinjau oleh orang kedua.
- Parameter kueri yang mengubah konten dibawa serta.
- File aturan ada dalam kontrol versi, dengan komentar pada setiap pola.
- Basis domain pengacu disimpan untuk diff pasca-peluncuran.
Pertanyaan redirect yang sering muncul
- Haruskah saya menghapus redirect lama setelah satu tahun?
- Banyak tim migrasi menyimpannya setidaknya selama satu tahun. Setelah itu, simpan selama URL lama masih mendapatkan tautan eksternal atau lalu lintas. Redirect hampir tidak memakan biaya untuk dilayani, sehingga jarang ada alasan bagus untuk menghapusnya lebih awal.
- Apakah diperbolehkan hanya mengalihkan halaman yang terindeks?
- Tidak jika halaman yang tidak terindeks tersebut memiliki tautan. Status indeks mengatakan sedikit tentang nilai eksternal. Alihkan setiap URL yang memiliki domain penaut, lalu putuskan sisanya berdasarkan lalu lintas.
- Bagaimana dengan 302 atau 307 untuk perpindahan permanen?
- Gunakan 301 atau 308 untuk perpindahan permanen. 302 yang dibiarkan selama bertahun-tahun mungkin diperlakukan seperti permanen, tetapi hasil tersebut diserahkan pada keberuntungan, dan klien lain dari redirect mungkin tidak menebak dengan cara yang sama.
- Bisakah saya mengalihkan 404 dari situs lama ke situs baru?
- Hanya jika ada pencocokan yang dekat. Redirect ke halaman yang tidak terkait adalah soft 404 di mata Google. Kembalikan 404 atau 410 asli ketika konten telah hilang.