İçeriğe geç
ArchiLinks
ArchiLinksKaydol

Yönlendirme haritası tarifi: eski URL'leri sahip oldukları bağlantılarla sıralayın

Bir yönlendirme haritası, tüm URL'lerin bir tablosu değil, öncelikli bir listedir. Diğer sitelerin bağlantı verdiği sayfalarla başlayın, haritanın geri kalanı kolaylaşacaktır.

ArchiLinks araştırma ekibi ·

Bir atölye tezgahında değerli altın tuğlaları gri taşlardan ayıran işçi

Neden bağlantılarla sıralamak

Takımlar haritaları taramadan oluşturur. Tamdır. Ancak unutulmuş bir 2014 tarihli basın sayfasını ana sayfa ile aynı değerde görür.

Sitenizdeki geri bağlantıları kontrol ettiğinizde ve sayfaları bağlantı alan domain sayısına göre sıraladığınızda, çoğu geçişte bir desen ortaya çıkar: birkaç düzine URL, dış değerlerin çoğunu barındırır. Bu URL'ler elle eşleştirilir, iki kez gözden geçirilir ve ilk test edilir.

Kalan her şey kurallara göre ilerler. Klasörler kalıba göre eşlenir, parametreler temizlenir ve bağlantısı ile trafiği olmayan terk edilmiş URL'ler, böyle karar verirseniz 410 döndürebilir. Çıktıyı geçiş kontrol listesi ile eşleştirin ki harita lansmandan önce test edilsin ve 45. günde yeniden kontrol edilsin; ayrıca API betikleri ile aylık çekimi zamanlayın.

Adım 1: bağlantılı sayfaları çekin

Tek bir çağrı, satır sayısından bağımsız olarak en fazla 1.000 satır döndürür ve 2 krediye mal olur. Aşağıdaki alan adları bir örnektir; gerçek bir yanıtı inceleyin ve anahtarları buna göre ayarlayın.

python
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"), ""])

Adım 2: üçüncü sütunu doldurun

01

Anlama göre eşleştirin

Bir ürün sayfası aynı ürüne gider, ürün yoksa kategoriye gider. Sayfa ana sayfa değilse asla ana sayfaya gitmez.

02

İlk 50 satırı ikinci bir kişiye kontrol ettirin

Akşam 6'da yorgun bir kişi, canonicallar hakkındaki bir rehberi blog dizinine eşleyebilir. Bir gözden geçiren bunu yakalar.

03

Uzun kuyruk için kurallar

Klasörler için kalıplar yazın ve izleme parametrelerini temizleyin. Her kuralı, nedenini açıklayan bir yorumla sürüm kontrolünde tutun.

Adım 3: sunucu kurallarını oluşturun

nginx, bir harita dosyasını iyi okur ve on binlerce satıra ölçeklenir.

nginx
# /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;
}
Bir taş bloğu köprü yapısına kilitleyen metal kolu

Adım 4: her adımı test edin

Tek bir 301 ile 200'e gitmeyen her şeyde pipeline'ı halletin.

bash
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"

İlk kontrol edeceğimiz hatalar

BelirtiOlası nedenÇözüm
İki veya üç adımlı zincirlerEski kurallar yeni kuralların üzerine yığıldıEski kuralı doğrudan son URL'ye yönlendirin
Her şey ana sayfaya düşüyorTembel yakalayıcı kuralKonuya göre eşleştirin; Google, kitlesel ana sayfa yönlendirmelerini yumuşak 404 olarak değerlendirebilir
Sorgu dizeleri kaybolduKural argümanları atıyorİçeriği değiştiren parametreleri aktarın; kalanını temizleyin
En üstteki URL lansmandan sonra 404 dönüyorCSV dosyasından çıkarıldıÇekimi yeniden çalıştırın ve canlı harita ile farkı alın
Karmaşık bir çalıyı budarken basit bir araziyı sulayan hortumla bahçıv

Hangi URL'ler elle eşleştirilmiş bir satır kazanır

Her URL bir kişiye layık değildir. Faydalı bir ayrım bağlantı alan domain sayısına göre yapılabilir: dış sitelerden birkaç bağlantı alan herhangi bir URL elle eşleştirilir, geri kalanı bir kural kümesine uyar. Diyelim ki 4.000 eski URL'niz var ve bunların 60'ı dış bağlantıların çoğunu barındırıyor. O altmış URL bir öğle yemeği süresince gözden geçirilirken, diğer 3.940 URL bir kalıba ve bir teste ihtiyaç duyar.

Eşiği betikte tutun, birinin aklında değil. Orta ölçekli bir site için 5 bağlantı alanı mantıklı bir başlangıçtır. Oradan başlayın. Site genelinde bağlantı azsa sayıyı düşürün, elle eşleştirilen liste bir gözden geçiren için çok uzunsa sayıyı artırın.

Elle eşleştirilmiş ve kural ile eşleştirilmiş satırları ayrı tutmak

Elle eşleştirilmiş satırlar, isimlendirilmiş bir gözden geçiren ve hedefin neden seçildiğine dair bir not alır. Kural ile eşleştirilmiş satırlar, tüm klasör üzerinde test edilen bir kalıba sahiptir, böylece bir istisna lansmandan önce test raporunda, sonrasında ise trafik grafiğinde ortaya çıkar.

Karışık durumlar çoğu kafa karışıklığına neden olur. Üretimi durdurulmuş ve bir halefiyle değiştirilmiş bir ürün, halefine yönlendirilir. Üretimi durdurulmuş ancak halefi olmayan bir ürün kategorisine aittir, asla ana sayfaya gitmez.

Ne taşındığını görmek için ikinci bir çekim kullanmak

Harita kesinleşmeden önce eski host için refdomains'leri çalıştırın, sonra lansmandan sonra tekrar çalıştırın ve iki listeyi domain bazında eşleştirin. İkinci çekimde eksik olan bir bağlantı alan domain, link sahibine sorulacak bir sorudur, alarm nedeni değildir; çünkü kaldırılan bir bağlantının indekste görünmesi zaman alabilir.

Her iki dosyayı da geçiş klasöründe yan yana, her birinde tarih olacak şekilde saklayın. Fark, nereye bakmanız gerektiğini söyler ve harita, bununla ilgili ne yaptığınızı gösterir.

Bağlantısı olmayan URL'lerle ne yapılacağına karar vermek

Bağlantısı ve trafiği olmayan terk edilmiş URL'ler kolay kısımdır. İçerik tamamen yoksa net bir 404 veya 410 döndürün, yakın bir yer varsa yalnızca o zaman yönlendirin, böylece ziyaretçiler ve tarayıcılar yararlı bir yere ulaşsın.

Emin olmadığınızda, haritaya kısa bir not bırakın ve ilk hafta loglarından sonra geri dönün. Sunucu logunuz, hangi eski adreslerin hala istek aldığını gösterir; bu sahip olabileceğiniz en iyi kanıttır.

Haritanın bir yayına nasıl oturduğu

Bir yönlendirme haritası siteyle birlikte değişir. Bunu aklınızda tutun. Yeni sayfalar eklenir, eskileri yeniden adlandırılır ve bir şablon değişikliği geçen ay güvenli görünen bir kuralı bozabilir. Haritayı kod olarak ele alın: sürüm kontrolünde tek bir dosya, her dağıtımdan önce bir gözden geçirme ve her değişiklikte bir test çalıştırma.

Mümkün olduğunca haritayı tek bir katmanda tutun. Yönlendirmelerin uygulama, CDN ve CMS arasında yayılması zincirlerin ortaya çıkma nedenidir ve zincirler tam bir tarama olmadan fark edilmesi zordur.

Kurallar nerede olmalı

Bir sunucu haritası hızlıdır ve test etmesi kolaydır. Bir CMS eklentisi birkaç sayfa için kullanışlıdır, ancak ölçeklenebilirlik açısından denetlemek zordur. Hangisini seçerseniz seçin, tek adımlı test aynı kaynaktan okumalıdır.

İki katman aynı URL'yi yönlendirirse, test bir zincir raporlar. Emekli etmeyi planladığınız katmandaki yinelenen kuralı kaldırın.

Her değişiklikten sonra gerçek hostta test etmek

Kural dosyasındaki her değişikliktan sonra testleri önce staging'de, sonra production'da çalıştırın. Staging'de geçen bir kural, önbellekte eski bir yanıt tuttuğunda hala başarısız olabilir, bu yüzden ikinci çalıştırma önemlidir.

Çıktıyı tarih ile kaydedin. Bir üst URL aylar sonra bozulduğunda, eski sonuç kuralın mı değiştiğini yoksa sitenin mi değiştiğini gösterir. Geçiş kontrol listesi bu testin ne zaman yapılması gerektiğini listeler ve bunu ilk çalıştırmak, sonraki kontrolün bu olanla karşılaştırılabilir olmasını sağlar.

Kural dosyasındaki bir değişikliği gözden geçirmek

Haritadaki değişiklikler için bir gözden geçiren atayın ve bu kişiden üç şeyi kontrol etmesini isteyin: her hedef hala konuyla eşleşiyor mu, kural kaç adım oluşturuyor ve kural yalnızca yazıldığı URL'leri etkileyecek kadar dar mı? Kimse tarafından gözden geçirilmeyen bir değişiklik, zincir başlatma olasılığı en yüksek olandır.

Site kendisi değiştiğinde aynı gözden geçirmeyi isteyin. Eski bir klasörü içine alan yeni bir kategori, haritada kimse düzenleme yapmadan doğru bir kuralın yanlış yere işaret etmesine neden olabilir.

Gözden geçirenin notunu değişikliğin yanına kaydedin. Altı ay sonra, not, aksi takdirde keyfi görünen bir kuralı açıklar ve aynı sorunun ikinci bir araştırılmasını önler.

Tam çalıştırmadan önce bir örnek test etmek

Tüm listeyi çalıştırmadan önce, en çok bağlantı alan sayfaları birkaç sıradan sayfa ile karıştıran elli satırlık bir örnek seçin. Önce bu örnek üzerinde adım testini çalıştırın. Örnek hızlıca okunur ve bir kural hatkası tüm dosyada ortaya çıkmadan çok önce örnekte görünür.

Her kural kalıbından en az bir satır ve her elle eşleştirilmiş gruptan bir satır dahil edin. İki yüz URL'lik bir klasörü kapsayan bir kalıp, sadece örnekte olan satırlar tarafından test edilir, bu yüzden bunları bilinçli seçin.

Kural dosyalarını küçük tutmak

Yüzlerce kalıbı aşan bir kural dosyası gözden geçirmesi zordur. Site bölümlerine göre bölün ve her dosyayı, bir gözden geçirenin tek oturuşta okuyabileceği kadar kısa tutun.

Klasörü kaldırdığınız gün kuralı kaldırın. Geride bırakılan eski kurallar, daha sonra trafiği zincire yönlendiren kurallardır.

Harita yayına girmeden önce

  • Her satırda yeni bir URL veya bilerek bırakılmış bir 404 veya 410 olmalı.
  • Hiçbir hedef kendisi bir yönlendirme olmamalı.
  • En çok bağlantı alan 50 URL ikinci bir kişi tarafından gözden geçirildi.
  • İçeriği değiştiren sorgu parametreleri aktarıldı.
  • Kural dosyası sürüm kontrolünde, her kalıp için bir yorumla.
  • Lansman sonrası fark için bir referans domain tabanı kaydedildi.

Sık sorulan yönlendirme soruları

Eski yönlendirmeleri bir yıl sonra kaldırmalı mıyım?
Çoğu geçiş ekibi bunları en az bir yıl boyunca tutar. Bundan sonra, eski URL'ler hala dış bağlantı veya trafik alıyorsa tutmaya devam edin. Yönlendirmelerin sunulması neredeyse maliyetsizdir, bu yüzden onları erken silmek için genellikle iyi bir neden yoktur.
Sadece indekslenen sayfaları yönlendirmek uygun mu?
Eğer indekslenmeyenler bağlantı taşıyorsa uygun değildir. İndeks durumu, dış değer hakkında çok az şey söyler. Bağlantı alan domaini olan her URL'yi yönlendirin, geri kalanını trafikle karar verin.
Kalıcı bir taşima için 302 veya 307 hakkında ne düşünüyorsunuz?
Kalıcı taşımalar için 301 veya 308 kullanın. Yıllarca yerinde bırakılan bir 302 kalıcı olarak değerlendirilebilir, ancak bu sonuç tesadüfe bırakılır ve yönlendirmenin diğer istemcileri aynı şekilde tahmin etmeyebilir.
Eski siteden 404'leri yeni siteye yönlendirebilir miyim?
Yalnızca yakın bir eşleşme varsa. İlgisiz bir sayfaya yapılan yönlendirme, Google gözünde yumuşak bir 404'tür. İçerik tamamen yoksa gerçek bir 404 veya 410 döndürün.