12 dk okuma
URL yönlendirme kontrolü: yönlendirme zinciri nasıl okunur?
URL yönlendirmelerini TrueURL, curl ve DevTools ile adım adım kontrol edin, zinciri okuyun; döngüleri, uzun zincirleri ve 301/302 karışıklığını düzeltin.
Yazıyı okuÜcretsiz yönlendirme aracı
Her yönlendirme bir HTTP durum kodu değildir. TrueURL zincirdeki her sayfanın HTML kodunu okur; meta refresh etiketlerini ve JavaScript yönlendirmelerini hedef URL'leri ve gecikmeleriyle birlikte bulur.
Kontrol etmek için Enter tuşuna basın
Cloudflare'in uç ağı sertifikaları her zaman doğrular; bu nedenle bu seçenek doğrulamayı atlayamaz. Sertifika sorunları sonuçta raporlanır.
İlk istekle birlikte gönderilir, en fazla 16 KB. Content-Type başlığı ayarlamadığınız sürece JSON gövdeler application/json, diğerleri form verisi olarak gönderilir.
1 ile 50 arası; bu adım sayısına ulaşılınca takip durur. Tarayıcılar 20 yönlendirmeden sonra durur.
Siteler telefonları, tarama botlarını ve bağlantı önizleme botlarını farklı yönlendirebilir.
Zincirdeki her istekle birlikte gönderilir.
Özel başlık yok.
Bu başlığı göndermek için bir değer girin. Başlık değerleri hiçbir zaman kaydedilmez.
HTML sayfalarında bulunan <meta http-equiv="refresh"> etiketlerini ve Refresh başlıklarını takip eder.
Sayfa betiklerindeki location.href = "…" gibi basit, koşulsuz yönlendirmeleri takip eder.
Ayarlar bu tarayıcıda hatırlanır. Çerezler, başlık değerleri ve POST gövdesi hiçbir zaman kaydedilmez.
Meta refresh, tarayıcıya saniye cinsinden bir gecikmenin ardından başka bir URL'yi yüklemesini söyleyen bir HTML etiketidir:
<meta http-equiv="refresh" content="0; url=https://example.com/new-page">
Gecikme 0 olduğunda normal bir yönlendirme gibi davranır. Daha uzun bir gecikmede ziyaretçiler, eskinin “yönlendiriliyorsunuz” sayfalarında olduğu gibi önce sayfayı görür. JavaScript yönlendirmeleri aynı işi location.href = '...' veya location.replace('...') gibi kodlarla yapar. İkisi de istemci taraflı yönlendirmedir (client-side redirect): sunucu 200 OK ile yanıt verir, yönlendirmeyi tarayıcı yapar.
TrueURL, 2xx durum koduna sahip her HTML yanıtında sayfanın ilk 256 KB'lık bölümünü meta refresh etiketi ve basit, koşulsuz JavaScript yönlendirmeleri için tarar. Meta refresh gibi çalışan Refresh HTTP başlığı da tespit edilir. Bir yönlendirme bulduğunda etiketi veya betik parçasını, çözümlenmiş hedef URL'yi ve gecikmeyi gösterir, adımı meta refresh veya JavaScript olarak etiketler ve zinciri hedeften sürdürür. Yalnızca aynı sayfayı yeniden yükleyen bir refresh yönlendirme değildir ve yok sayılır.
Sayfanın kendisine bakmak için Gelişmiş ayarlarda iki türün takibini de ayrı ayrı kapatabilirsiniz. TrueURL JavaScript çalıştırmaz: sayfadaki betikleri okur ve sayfa yüklendiğinde her zaman çalışan, sabit bir URL'ye giden yönlendirmeleri tanır; bunlar ya hemen ya da üst düzey bir setTimeout içinde çalışır. Tıklama, onay seçimi veya ekran boyutu gibi bir koşula bağlı olan ya da hedef URL'yi kodla oluşturan yönlendirmeler tespit edilmez. HEAD yerine GET kullanın; çünkü HEAD yanıtlarında taranacak gövde yoktur.
Google, yapılandırabildiğiniz her yerde sunucu taraflı yönlendirmeleri, bunun mümkün olmadığı yerlerde ise yedek çözüm olarak meta refresh'i önerir; örneğin 301 gönderemeyen statik hosting'lerde.
Zamanlı yönlendirmeler bir erişilebilirlik sorunudur: ekran okuyucu kullananlar veya yalnızca yavaş okuyanlar, sayfa beklenmedik şekilde değiştiğinde nerede kaldıklarını kaybeder. WCAG, zamanlı bir meta refresh'i hata (F40) olarak listelerken gecikmesi 0 olan anında bir yönlendirmeyi kabul edilen bir teknik (H76) sayar.
HTML ile yönlendirmeniz gerekiyorsa 0 gecikme kullanın, yeni URL'yi gösteren bir canonical etiketi ekleyin ve tarayıcısı refresh'i takip etmeyen ziyaretçiler için sayfaya yeni URL'ye giden görünür bir bağlantı koyun.
12 dk okuma
URL yönlendirmelerini TrueURL, curl ve DevTools ile adım adım kontrol edin, zinciri okuyun; döngüleri, uzun zincirleri ve 301/302 karışıklığını düzeltin.
Yazıyı oku13 dk okuma
3xx durum kodları ne anlama gelir? 301, 302, 303, 307 ve 308'in kalıcılık, metot, önbellek ve SEO farkları; nginx, Apache ve PHP örnekleriyle.
Yazıyı okuGoogle anında bir meta refresh'i (gecikme 0) kalıcı yönlendirme olarak değerlendirir; yani pratikte 301'e çok benzer şekilde çalışır. Gecikmeli bir refresh geçici sayılır. Diğer tarama botları meta refresh'i daha az güvenilir şekilde işleyebilir; bu yüzden hosting'iniz izin verdiği sürece sunucu taraflı bir 301 kullanın.
Yönlendirme HTTP yanıtında değil, sayfanın HTML veya JavaScript kodunda gerçekleşir. curl -L gibi yalnızca durum kodlarını takip eden araçlar 200 sayfasında durur. TrueURL sayfa içeriğini tarar ve istemci taraflı yönlendirmeyi ayrı bir adım olarak gösterir.
Amaç yönlendirmekse 0. Herhangi bir gecikme, onu Google için geçici bir yönlendirmeye dönüştürür, ziyaretçileri bekletir ve erişilebilirlik sorunlarına yol açar. Gecikme yalnızca önce bir mesaj göstermesi gereken bir sayfada anlamlıdır ve o sayfada devam etmek için net bir bağlantı da bulunmalıdır.
Hayır. Yalnızca hedef URL'si sabit olan ve sayfanın HTML kodunda yer alan basit, koşulsuz yönlendirmeleri tespit edebilir; örneğin location.href = '...', window.location = '...' veya location.replace('...'). Üst düzey bir setTimeout içindekiler de buna dahildir. Harici betik dosyalarındaki, koşullara bağlı, kullanıcı eylemleriyle tetiklenen veya hesaplanan bir URL kullanan yönlendirmelerin çalışması için gerçek bir tarayıcı gerekir. Yönlendirdiğini bildiğiniz bir sayfada zincir duruyorsa nedeni büyük olasılıkla budur.
Genellikle HTTP yönlendirmesi gönderemediği için: yönlendirme kuralı tanımlanamayan statik hosting, bir sayfa oluşturucu (page builder) veya eski bir CMS. Bazı link kısaltıcılar ve tıklama izleyiciler de önce analiz betiklerini çalıştırabilmek veya hedef sitenin gördüğü yönlendiren (referrer) bilgisini kontrol edebilmek için HTML yönlendirmeleri kullanır.
Hayır. HEAD yanıtında başlıklar vardır ama gövde yoktur; dolayısıyla taranacak HTML de yoktur. HEAD ile kontrol ettiğinizde TrueURL sizi uyarır; bu araç için GET kullanın.