CMS taşımasından sonra kaybolan URL'leri curl ile bulmak
Site taşımalarında en sık gördüğüm hata şu: yeni site güzel, hızlı, her şey yerinde görünüyor. Ama eski sitede trafik getiren sayfaların bir kısmı hiçbir yere yönlenmiyor. Sonuç: iki ay sonra "trafik neden düştü?" toplantısı.
Bunu önceden yakalamanın en ucuz yolu, eski sitenin arşivdeki URL'lerini alıp yenisinde tek tek denemek.
Arşivden URL listesi
Wayback Machine'in CDX API'si, bir alan adı için arşivlenen bütün URL'leri veriyor. Sadece 200 dönen HTML sayfalarını alıp parametreleri temizliyorum:
curl -s "http://web.archive.org/cdx/search/cdx?url=ornek.com*&output=txt&from=20250101&to=20250331" \
| awk '$5 == 200 && $4 ~ /text\/html/ {print $3}' \
| sed 's/[?#].*//' | sort | uniq -c | sort -rn \
| awk '{print $2}' | head -n 200 > eski-urller.txtuniq -c | sort -rn kısmı, arşivde en çok görülen URL'leri başa alıyor. Kesin bir ölçü değil ama "önemli" sayfalar için iyi bir tahmin.
Yeni sitede kontrol
xargs -P 8 -I {} curl -s -o /dev/null -w "%{http_code} {}\n" {} < eski-urller.txt \
| grep -v "^[23]" | sort-P 8 ile 8 istek paralel gidiyor. Çıktıda sadece 2xx ya da 3xx olmayanlar kalıyor, yani ne içerik veren ne de yönlenen URL'ler.
Sonra ne yapmalı?
| Durum | Ne yapılır |
|---|---|
| Yeni sitede karşılığı var | 301 ile yeni adrese yönlendir |
| İçerik tamamen kaldırıldı | 404 ya da 410 kalsın, sorun değil |
| Benzer bir sayfa var | Gerçekten benzerse yönlendir, değilse zorlama |
Her 404 kötü değildir. Kötü olan, ziyaretçisi ve bağlantısı olan bir sayfanın habersizce kaybolması.
Comments / questions
There's no comment section here. If you have a question or want to add something, message me on Telegram or send an email to [email protected]. Thanks!