HTTP Yönlendirmeleri

Bir HTTP yönlendirmesinin gerçekte ne olduğu (3xx durumu ve Location başlığı), 301/302/303/307/308 tablosu, bunların nasıl uygulanacağı ve yönlendirme ile canonical arasındaki fark; yönlendirmeler alt kümesinin merkez yazısı.

İlk yayın tarihi: 2 Tem 2026 · Son güncelleme: 1 Eyl 2026 · İleri düzey
Bu sayfada 1 kanıt sinyali

Bir yönlendirme, tarayıcıları ve tarayıcı botlarını eski URL'den yenisine gönderen 3xx durum kodu ile Location başlığından oluşan HTTP yanıtıdır. Google yönlendirmeleri iki gruba ayırır; kalıcı olanlar (301/308) güçlü bir canonical sinyaliyle sıralama sinyallerini ileri taşır, geçici olanlar (302/303/307) yalnızca zayıf sinyal verir. Kodlar ayrıca HTTP yöntemini koruyup korumamalarına göre ayrılır; 307/308 korur, 301/302 korumayabilir. Yönlendirmeleri sunucu tarafında (.htaccess/nginx), CDN/edge üzerinde ya da CMS eklentisiyle uygulayın; JavaScript ve meta-refresh yönlendirmeleri render işlemine bağlı oldukları için daha zayıftır. Yönlendirme canonical etiketi değildir; gelecekte yalnızca bir URL var olmalıysa yönlendirin, birkaç URL canlı kalacaksa canonical kullanın. Bu merkez yazı tüm alanı haritalar ve ayrıntılı yazılara götürür.

Kısa özet — Yönlendirme, 3xx durum kodu ve Location başlığı taşıyan HTTP yanıtıdır; önce protokol, sonra SEO gelir. Google kodları iki canonical grubuna indirger: kalıcı (301/308) = güçlü sinyal (sinyaller ileri birleşir), geçici (302/303/307) = zayıf sinyal (genellikle yerinde kalır, fakat uzun ömürlü geçici yönlendirme dönüşebilir). Her grupta 307 ve 308 HTTP yöntemi ile gövdeyi korur; 301 ve 302 korumayabilir. Sunucu tarafında, CDN/edge üzerinde (benim tercihim) veya CMS eklentisiyle uygulayın; JS ve gecikmeli meta-refresh yönlendirmeleri render işlemine bağlı oldukları için daha zayıftır. Tek bir doğru yönlendirme PageRank sızdırmaz; asıl riskler zincirler (kaçının) ve döngülerdir (arama motorları yok sayar). Yönlendirmeleri en az bir yıl tutun. Ve yönlendirme canonical etiketi değildir.

Protokol düzeyinde yönlendirme gerçekte nedir

Yönlendirme durum kodlarının standartlaştırılmış yöntem işleme semantiği vardır. Bu iddiaya ilişkin kanıt Primary standard or official documentation supporting the adjacent article claim. Kapsam: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Güven düzeyi: yüksek · Doğrulandı: RFC 9110: Redirection Arama rehberliği, kalıcı ve geçici sinyalleri ayırırken taşımalarda doğrudan sunucu tarafı yönlendirmeleri önerir. Bu iddiaya ilişkin kanıt Primary standard or official documentation supporting the adjacent article claim. Kapsam: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Güven düzeyi: yüksek · Doğrulandı: Google: Redirects and Search

SEO yazılarının çoğu, yönlendirmenin ne olduğunu açıklamadan doğrudan “301 kalıcı demektir” sonucuna atlar. Burada temeli kurmak değerlidir; çünkü mekanizma devamındaki her şeyi açıklar. MDN şöyle der: “redirection is triggered by a server sending a special redirect response to a request. Redirect responses have status codes that start with 3, and a Location header holding the URL to redirect to.” (çeviri) “Yönlendirme, sunucunun bir isteğe özel yönlendirme yanıtı göndermesiyle tetiklenir. Yönlendirme yanıtlarının 3 ile başlayan durum kodları ve yönlendirilecek URL’yi taşıyan bir Location başlığı vardır.”

Dolayısıyla yönlendirme birlikte hareket eden iki şeydir: 3xx durum kodu (301, 302, 303, 307, 308…) ve hedefi belirten Location başlığı. Tarayıcı veya crawler bu yanıtı okur ve Location içindeki URL’yi yeniden ister. Durum kodu semantiktir — kalıcı ya da geçici, yöntemi koruyan ya da korumayan — Location ise adrestir. SEO uzmanının önemsediği her şey, gönderdiğiniz 3xx kodunun devamında gelir.

Bunun üstündeki SEO çerçevesini Ahrefs’teki 11 Types Of Redirects & Their SEO Impact yazımda şöyle ifade ettim: “A redirect is a way to send people and bots to a new URL when they request the old URL, but the page has changed locations.” (çeviri) “Yönlendirme, sayfa konum değiştirdiğinde eski URL’yi isteyen insanları ve botları yeni URL’ye gönderme yoludur.”

Yönlendirmeler SEO için neden önemlidir

Google’ın yönlendirme belgeleri amacı açıkça çerçeveler: “Redirecting URLs is the practice of resolving an existing URL to a different one, effectively telling your visitors and Google Search that a page has a new location.” (çeviri) “URL yönlendirmek, mevcut bir URL’yi başka bir URL’ye çözümleme uygulamasıdır; ziyaretçilerinize ve Google Search’e sayfanın yeni bir konumu olduğunu etkili biçimde bildirir.” SEO sonucu kalıcılığa göre net biçimde ayrılır:

  • Kalıcı yönlendirmeler arama sonuçlarında yeni hedefi gösterir.
  • Geçici yönlendirmeler arama sonuçlarında kaynak sayfayı tutar.

Bağlantı değeri boyutu da vardır. Google yönlendirmenin iki ucunu da izler: “When you redirect a URL, Google keeps track of both the redirect source (the old URL) and the redirect target (the new URL). One of the URLs will be the canonical; which one, depends on signals such as whether the redirect was temporary or permanent.” (çeviri) “Bir URL’yi yönlendirdiğinizde Google hem yönlendirme kaynağını (eski URL) hem hedefini (yeni URL) izler. URL’lerden biri canonical olur; hangisinin olacağı, yönlendirmenin geçici veya kalıcı olması gibi sinyallere bağlıdır.” Kalıcı yönlendirmeler sinyalleri ileri, yeni URL’de birleştirir; geçici olanlar çoğunlukla eski URL’de bırakır.

Yönlendirme tablosu: 301, 302, 303, 307, 308

Tüm aile özetle şöyledir; bu alt kümede her kod için ayrı bir ayrıntılı yazı vardır (“Sonraki adım” bölümüne bakın):

  • 301 (Moved Permanently) — kalıcı yönlendirmelerin yük beygiri. Güçlü canonical sinyali verir; sıralama sinyalleri ileri birleşir. Google’ın crawler belgelerinde: “Google follows the redirect, and Google systems use the redirect as a strong signal that the redirect target should be processed.” (çeviri) “Google yönlendirmeyi izler ve Google sistemleri yönlendirme hedefinin işlenmesi gerektiğine ilişkin güçlü bir sinyal olarak kullanır.”
  • 302 (Found) — standart geçici yönlendirme. Google bunu izler ve sistemleri yönlendirmeyi “a weak signal” (çeviri) “zayıf sinyal” olarak kullanır. Zayıf, sıfır değildir; 302’yi yeterince uzun tutarsanız 301 gibi değerlendirilebilir.
  • 303 (See Other) — aykırı tür. Geçici gruptadır ve Post/Redirect/Get kalıbının kodudur (form gönderilir, GET ile sonuç sayfasına geçilir). SEO’da nadirdir ve işlenişi gerçekten belirsizdir; belirttiğim üzere 303’lerin Google’daki işlenişi tanımsızdır ve çalışma biçimine göre 301 veya 302 gibi davranabilir.
  • 307 (Temporary Redirect) — SEO anlamı 302 ile aynıdır, ancak HTTP yöntemini ve gövdeyi korur. Google belgeleri açıkça 307’nin “equivalent to 302” (çeviri) “302’ye eşdeğer” olduğunu söyler. HSTS kullanan HTTPS sitelerinde 307’nin otomatik oluştuğunu da görürsünüz.
  • 308 (Permanent Redirect) — SEO anlamı 301 ile aynıdır, ancak yöntemi ve gövdeyi korur. Google’a göre 308 “equivalent to 301” (çeviri) “301’e eşdeğerdir.”

Yöntem koruma ayrıntısı (307/308 özgün yöntem ile gövdeyi korur; 301/302 istemcinin POST’u GET’e çevirmesine izin verir) Google’ın sıralamasını değiştirmez, fakat form gönderimlerini veya API çağrılarını yönlendiriyorsanız çok önemlidir. Google’ın rehberliği kodu gelişigüzel seçmemeyi söyler: “While Google treats these status codes the same way, keep in mind that they’re semantically different. Use the status code that’s appropriate for the redirect so other clients (for example, e-readers, other search engines) may benefit from it.” (çeviri) “Google bu durum kodlarını aynı şekilde ele alsa da semantik olarak farklı olduklarını unutmayın. Diğer istemcilerin de yararlanabilmesi için yönlendirmeye uygun durum kodunu kullanın.” (Kopya Kâğıtları sekmesinde tam karşılaştırma vardır.)

Yönlendirmelerin tarama, dizine ekleme ve bağlantı değerine etkisi

İki grup, tek ayrım. Google’ın yönlendirme belgeleri kalıcı yönlendirmeleri (301, 308, anlık meta refresh, JS location) “the indexing pipeline uses the redirect as a signal that the redirect target should be canonical,” (çeviri) “dizine ekleme hattının hedefin canonical olması gerektiğine ilişkin sinyal olarak kullandığı” durum; geçici yönlendirmeleri (302, 303, 307, gecikmeli meta refresh) ise “the indexing pipeline doesn’t use the redirect as a signal that the redirect target should be canonical.” (çeviri) “dizine ekleme hattının hedefin canonical olması gerektiğine ilişkin sinyal olarak kullanmadığı” durum olarak tanımlar.

Bu iddiaya ilişkin kanıt Google Search uses a permanent redirect as a signal that the redirect target should be canonical; this is not a guarantee that the target will be indexed or rank in a particular way. Kapsam: redirect interpretation and canonical signals Güven düzeyi: yüksek · Doğrulandı: Redirects and Google Search

PageRank efsanesi öldü. Yönlendirmelerin “bağlantı değerinin %10–15’ini kaybettiği” eski iddiası yıllardır doğru değildir. Google’dan Gary Illyes 2016’da “30x redirects don’t lose PageRank anymore” (çeviri) “30x yönlendirmeleri artık PageRank kaybetmiyor” dedi; John Mueller bunun o zaman bile yeni bilgi olmadığını belirtti. Doğru uygulanmış tek bir yönlendirme, sayfanın sinyal değerinin özünde tamamını geçirir. Maliyet yönlendirmenin varlığından değil, zincirlerden ve döngülerden gelir.

Yönlendirme ne kadar tutulmalı? Google’ın site taşıma rehberliği, tüm sinyalleri yeni URL’lere aktarabilmek için “keep the redirects for as long as possible, generally at least 1 year” (çeviri) “yönlendirmeleri mümkün olduğunca uzun, genellikle en az 1 yıl tutma” tavsiyesi verir. Gary Illyes “after 1 y all signals had time to pass on from A to B.” (çeviri) “1 yıldan sonra tüm sinyallerin A’dan B’ye geçmeye zamanı olmuştur.” fikrini öne sürdü. Bunu gerçekten test ettim: eski içerikleri kendilerine yönlendirilen dört Ahrefs yazısından 301’leri kaldırdım. Sonrasında “a clear drop in referring domains” (çeviri) “referring domain sayısında belirgin düşüş” vardı, fakat “not much drop in traffic to these posts” (çeviri) “bu yazıların trafiğinde büyük düşüş olmadı.” Dürüst sonucum: “I’m not willing to conclusively say that permanent redirects pass value even after one year, but what Gary said seems to mostly hold true.” (çeviri) “Kalıcı yönlendirmelerin bir yıl sonra bile değer aktardığını kesin olarak söylemeye hazır değilim; ancak Gary’nin dediği çoğunlukla doğru görünüyor.” Güvenli varsayılan hâlâ şudur: eski yönlendirmeleri gelişigüzel kaldırmayın.

Yönlendirme zincirleri ve döngüleri

  • Yönlendirme zinciri, istenen URL ile nihai hedefi arasında birden fazla atlama olmasıdır (Sayfa 1 → Sayfa 2 → Sayfa 3). Google 10 yönlendirme atlamasına kadar izler“By default, Google’s crawlers follow up to 10 redirect hops” (çeviri) “Google crawler’ları varsayılan olarak 10 yönlendirme atlamasına kadar izler” — fakat güncel site taşıma rehberliği zincirlerden kaçınmanızı, kaçınılmazsa en fazla 3 ve 5’ten az atlamada tutmanızı söyler. On, crawler tavanıdır; 3–5 pratik rehberliktir, çelişen sınır değildir. Zincirler gecikme ekler, tarama bütçesini harcar ve analitiği bulanıklaştırır.
  • Yönlendirme döngüsü, kendi kuyruğunu yiyen zincirdir: URL kendisine veya zincirde daha önceki bir URL’ye döner ve asla çözülmez. Tarayıcılar “çok fazla yönlendirme” hatası verir; arama motorları vazgeçer. John Mueller’in ifadesiyle: “a redirect loop is a URL that doesn’t work, so it’s essentially a broken link. We ignore these for search.” (çeviri) “Yönlendirme döngüsü çalışmayan bir URL’dir; dolayısıyla özünde bozuk bağlantıdır. Aramada bunları yok sayarız.” Döngüler crawler’ları da hapseder ve sunucu kaynaklarını harcar.

Bilinen beş atlama sayısının ardında tarihli, temsilî rehberlik de vardır. John Mueller 2014 tarihli webmaster buluşmasında 46:03’te, Googlebot’un bir taramada beşe kadar yönlendirmeyi izlediğini ve daha fazlası kaldığında sonraki taramada devam ettiğini anlattı. 2020’de ayrıca Google’ın tarama denemesi başına beş atlamaya kadar izlediğini söyledi. Bu tarihsel ifadeler sayının kaynağını açıklar; ancak güncel belgelerin önüne geçmez ve her uzun zincirin belirli takvimde sürdürüleceğini garanti etmez.

Bağımsız uygulayıcı gözlemim, Google’ın daha uzun zincirleri çoğu zaman yeniden ele aldığıdır; düzeltme önceliği eşiği olarak yaklaşık beş atlama kullanırım. Bu, gördüklerime dayanan operasyonel bir yargıdır; Google platform sınırı değildir. Yönlendirmeleri kontrol ediyorsanız hedef hâlâ tek doğrudan atlamadır.

İkisinin de aşağıda ayrı yazıları vardır.

Yönlendirmeler nasıl uygulanır

Yönlendirmeyi koymak için tek bir “doğru” yer yoktur; bakımını yapabildiğiniz yeri seçin:

  • Sunucu tarafı yapılandırması. Apache .htaccess, nginx kuralları veya sunucu tarafı betikler. Çoğu site için varsayılan ve en güvenilir yöntemdir. WordPress’te “most WordPress installs will be running Apache and the plugins used for redirecting will actually be editing a website’s .htaccess file” (çeviri) “çoğu WordPress kurulumu Apache’de çalışır ve yönlendirme eklentileri gerçekte sitenin .htaccess dosyasını düzenler”; eklenti yalnızca daha dostça bir arayüzdür.
  • CDN / edge. Cloudflare kuralları, edge worker’ları ve benzerleri istek origin’e ulaşmadan devreye girer. Benim tercihim budur: “I typically prefer to have redirects on the edge (CDN-level) over having them on the server.” (çeviri) “Yönlendirmeleri sunucu yerine genellikle edge (CDN düzeyi) üzerinde tutmayı tercih ederim.” Bununla birlikte çoğu kişiye “always recommend going with what is easiest for you to implement. For many people that is server-level redirects” (çeviri) “uygulaması en kolay olanı seçmesini; birçok kişi için bunun sunucu düzeyi yönlendirmeler olduğunu” öneririm.
  • İstemci tarafı: meta refresh. Bir <meta http-equiv="refresh"> etiketi. Anlık (0 saniye) meta refresh Google tarafından kalıcı, gecikmeli olan geçici okunur. Sunucu yönlendirmesinden daha yavaş ve hantaldır, fakat bazen elinizdeki tek seçenektir.
  • İstemci tarafı: JavaScript. Betik window.location değerini ayarlar. Google bunu işleyebilir, ancak yalnızca render başarılıysa; bu ayrı ve bazen başarısız olan bir işlem hattıdır. Google’ın tavsiyesi: “Only use JavaScript redirects if you can’t do server-side or meta refresh redirects.” (çeviri) “JavaScript yönlendirmelerini yalnızca sunucu tarafı veya meta refresh yönlendirmesi yapamıyorsanız kullanın.” Kalıcı yönlendirmeler için önerdiğim sıra bu güvenilirlik merdivenini izler: 308 / 301 → meta refresh 0 → JavaScript → crypto.

Yönlendirme ve canonical etiketi

Bunlar farklı sorunları çözer ve sürekli birbirine karıştırılır.

  • Yönlendirme — eski URL artık kendi içeriğini hiç sunmamalıysa kullanın. Gelecekte yalnızca bir URL var olmalıdır. Eski adres ileri gönderir; artık kendi sayfasını sunmaz.
  • Canonical etiketi — birkaç URL canlı ve bağımsız erişilebilir kalmalı, fakat Google’ın birini tercih edilen sürüm saymasını istiyorsanız kullanın. Faceted navigation varyantlarını, izleme parametreli URL’leri veya yazdırma sürümlerini düşünün; hepsi erişilebilir ve ana sürüme rel=canonical ile işaret eder.

Bing, Aralık 2025 yinelenen içerik yazısında aynı ayrımı açıklar: “Use 301 redirects to consolidate variants into a single preferred URL. Apply canonical tags when multiple versions must remain accessible.” (çeviri) “Varyantları tek bir tercih edilen URL’de birleştirmek için 301 yönlendirmeleri kullanın. Birden fazla sürüm erişilebilir kalmalıysa canonical etiketleri uygulayın.” Canonical ipucu yok sayılıyorsa ve gerçekten birleştirme istiyorsanız yönlendirmeye geçebilirsiniz; ancak yalnızca o yinelenen URL kendi içeriğini sunmaya devam etmek zorunda değilse.

Bing hakkında bir not

Bing yön bakımından Google’la aynı fikirdedir: kalıcı taşımalar 301, geçici olanlar 302 alır. Bing’den Fabrice Canel, hedef URL’niz 2 gün içinde değişebilecekse “preferable to use a 302 redirect … else 301 is recommended” (çeviri) “302 yönlendirmesinin tercih edildiğini, aksi hâlde 301 önerildiğini” söyledi. Meslektaşı Frédéric Dubut, “2 gün”ün katı bir eşik olmadığını; “anytime a redirect is temporary… you should use 302s” (çeviri) “yönlendirme geçici olduğu her durumda 302 kullanılması gerektiğini” açıkladı. Aynı zihinsel model, yalnızca hedefin ne kadar kısa sürede değişebileceği üzerinden anlatılmıştır.

Sonraki adım: yönlendirmeler alt kümesi

Bu merkez yazı haritadır. Aşağıdaki her konu, bu merkezin altında bulunan ve kenar çubuğunda listelenen ayrı bir ayrıntılı yazıdır:

Tek tek yönlendirme kodları

  • 301 Redirect — kalıcı yük beygiri; sinyalleri nasıl ileri birleştirdiği ve ne zaman kullanılacağı.
  • 302 Redirect — standart geçici yönlendirme; neden zayıf ama sıfır olmayan sinyal olduğu ve nasıl 301 davranışına kayabildiği.
  • 303 Redirect (See Other) — Post/Redirect/Get kodu; SEO’da neden nadir olduğu ve Google işleyişinin neden gerçekten tanımsız olduğu.
  • 307 Temporary Redirect — SEO anlamı 302 ile aynıdır, ancak HTTP yöntemini kesin biçimde korur; HSTS ile form/API yönlendirmelerinde nerede görülür.
  • 308 Permanent Redirect — SEO anlamı 301 ile aynıdır, ancak HTTP yöntemi ile gövdeyi kesin biçimde korur.

Doğrudan karşılaştırmalar

  • 301 ve 302 Redirect — kalıcı ve geçici, ileri ve geriye sinyal birleştirme; hangisinin ne zaman kullanılacağı.
  • 301 ve 308 Redirect — aynı SEO anlamı, fakat 308 HTTP yöntemini ve gövdeyi korur.
  • 302 ve 307 Redirect — geçici tarafta aynı hikâye; SEO için aynıdır, fakat 307 form ve API’lerde yöntem ile gövdeyi korur.

İstemci tarafı uygulamaları

  • JavaScript Redirects — neden en zayıf seçenek olduğu, Google’ın render hattının bunları sunucu tarafı 301’den nasıl farklı ele aldığı ve ne zaman kabul edilebilir son çare olduğu.
  • Meta Refresh Redirect — anlık ve gecikmeli yenilemeler, Google’ın tercih sıralamasında neden sunucu tarafı ile JavaScript arasında bulunduğu ve neden önerilmediği.

Tuzaklar

  • Redirect Chains — neden doğrudan nihai URL’ye yönlendirmeniz gerektiği, 10 atlama sınırı ve zincirlerin tarama bütçesini nasıl harcadığı.
  • Redirect Loops — asla çözülmeyen yönlendirme, arama motorlarının bunu neden yok saydığı ve döngünün nasıl kırılacağı.

Google Search Console’da

  • Page with Redirect — bu Page Indexing durumunun anlamı, neden normal ve hata olmadığı, nadir olarak ne zaman işlem gerektirdiği.
  • Redirect Error — Google’ın dört nedeni (çok uzun zincir, döngü, azami URL uzunlığı, hatalı/boş URL) ve normal “Page with redirect” durumundan farkı.

Bu alt kümenin yer aldığı tüm HTTP durum kodu tablosu — 2xx/3xx/4xx/5xx aileleri ve yönlendirme dışındaki kodlar — için /technical-seo/http-status-codes/ küme dizinine bakın.

Uzman notu ekle

Uzman alıntısını sabitle

Yeni biri mi? Sahipsiz profilini şu bağlantıdan oluşturun: /admin/experts/ → Uzman alıntısını sabitle Bu işlemi önce tamamlayın.