302 Yönlendirmesi

302 geçici yönlendirmesinin anlamı, Google’ın onu neden zayıf hedef işleme sinyali saydığı (SEO söylentilerindeki sıfır değerli çıkmaz değil), önerilen meşru kullanım alanları ve sıralamaya mal olan tek hata.

İlk yayın tarihi: 2 Tem 2026 · Son güncelleme: 9 Ağu 2026 · Advanced
Diller
Bu sayfada 1 kanıt sinyali

302 yönlendirmesi, kullanıcıyı yeni URL’ye gönderirken eski URL’nin arama sonuçlarında kalması gerektiğini belirten geçici HTTP yanıtıdır. Google’ın tarama altyapısı 302’yi hedefin işlenmesi için zayıf sinyal, 301’i güçlü sinyal olarak görür; bu, Search dizine ekleme kararının ayrı olduğu anlamına gelir. 302 sıfır değerli çıkmaz değildir, ancak kalıcı bir taşıma için belirsizdir. Mevsimsel sayfa, A/B testi, bakım veya mobil/masaüstü seçimi gibi gerçekten geçici durumlarda 302 kullanın; kalıcı değişiklikte 301’e geçin.

Kısa özet — 302 (“Found”) geçici yönlendirmedir. Google’ın kesin açıklaması tek değil iki aşamadan oluşur: Tarama altyapısı, yönlendirme hedefinin işlenmesi için 302’yi zayıf, 301’i ise güçlü sinyal sayar. Search’ün dizine ekleme hattı da geçici yönlendirmeyi hedefin kanonik olması yönünde bir sinyal olarak kullanmadığını belirtir; hedef başka sinyallerle yine dizine girebilir. Sürekli karıştırılan iki mekanizma bağlantı sinyali/PageRank aktarımı (Mueller ve Illyes bunun 302’de sıfır olmadığını söylemiştir; bu, resmen yayımlanmış evrensel bir kural değil, kamuya açık açıklamalarıdır) ile kanonikleştirme/dizine ekleme tercihidir. Asıl fark ikincisindedir: 302, Google’a kaynak URL’yi dizinde tutmasını söyler. Yeterince uzun bırakılan bir 302 zamanla 301 gibi ele alınabilir; bu, yayımlanmış takvimi veya belgelenmiş mekanizması olmayan, uygulayıcıların gözlemlediği bir örüntüdür. Google A/B testlerinde 301 yerine 302’yi önerir. Gerçek hata kalıcı taşıma için 302 kullanmaktır; ayrıca yönlendirme hedefini hiçbir zaman denetlenmemiş kullanıcı girdisinden oluşturmayın.

“Moved Temporarily” → “Found” — kısa tarihçe

302 belirsiz doğdu. HTTP/1.0’da adı “Moved Temporarily” idi ve spesifikasyon, istemcilerin yönlendirmeyi izlerken özgün istek yöntemini yeniden kullanmasını söylüyordu. Pratikte tarayıcılar bunu yapmadı; çoğu, spesifikasyona aykırı biçimde yönlendirmede POST isteğini sessizce GET’e çevirdi. HTTP/1.1 bu gerçeği kabul ederek 302’nin adını “Found” olarak değiştirdi ve iki açık alternatif ekledi: her zaman GET’e geçen 303 (See Other) ile yöntemi hiç değiştirmeyen 307 (Temporary Redirect). Güncel RFC 9110 (2022) hâlâ istemcilerin 302’de POST’u GET’e çevirebileceğini belirtir; yöntemin değişmemesi gereken durumlarda 307’nin varlık nedeni budur. Günlük GET tabanlı sayfa yönlendirmelerinde (SEO kullanımında) 302 ve 307 arama motorları açısından aynı davranır; yöntem koruma farkı yalnızca form gönderimleri ve API çağrıları için önemlidir. Evidence for this claim RFC 9110 defines 302 Found as a temporary move to another URI and notes that user agents may change POST to GET when following it. Scope: HTTP semantics for 302 responses. Confidence: high · Verified: IETF: RFC 9110 §15.4.3 — 302 Found

Arama açısından Google 302 (found), 303 (see other) ve 307 (temporary redirect) kodlarını “Temporary” başlığı altında; 301 ve 308 kodlarını ise “Permanent” başlığı altında birlikte değerlendirir.

Aralarında seçim yapıyorsanız kısa karar:

  • 302 — yönlendirmeyi izleyen istemci POST’u GET’e çevirebilir (RFC 9110). Düz GET tabanlı sayfa yönlendirmesi için uygundur; yöntemin değişmesine izin veremiyorsanız kaçının.
  • 307 — yöntemi hiç değiştirmez ve farklı bir isteği yeniden göndermez. Form gönderiminin veya API çağrısının gönderildiği biçimde tekrarlanması gerekiyorsa bunu kullanın.
  • 303 — bilerek farklı ve eşdeğer olmayan bir kaynağa yönlendirir; bu kaynak normalde GET/HEAD ile alınır. POST sonrası onay sayfasına yönlendirme bunun klasik örneğidir; özgün isteğin bire bir vekili değildir.
  • Önbellekleme — 302 yalnızca durum kodu bu olduğu için sezgisel olarak önbelleğe alınmaz (RFC 9111). Açık tazelik veya önbellek yönergeleri verirseniz saklanır ve yeniden kullanılır. CDN ya da tarayıcının yalın 302’yi varsayılan olarak önbelleğe alacağını varsaymayın.

Zayıf sinyal ve güçlü sinyal — Google’ın kesin ifadeleri

Efsaneleri bir kenara bırakıp Google’ın gerçek diline bakalım. Tarama altyapısı belgelerinde Google, 302’nin zayıf bir sinyal olduğunu söyler:

“By default, Google’s crawlers follow the redirect, and Google systems use the redirect as a weak signal that the redirect target should be processed.” (çeviri) “Varsayılan olarak Google’ın tarayıcıları yönlendirmeyi izler ve Google sistemleri yönlendirmeyi, hedefin işlenmesi gerektiğine dair zayıf bir sinyal olarak kullanır.”

Evidence for this claim Google's crawling-infrastructure documentation says crawlers follow a 302/303 and Google systems use it as a weak signal that the target should be processed; it also warns that product behavior can differ. Scope: product-specific crawl and processing handoff Confidence: high · Verified: How HTTP Status Codes Affect Google's Crawlers

Aynı tablodaki 301 satırı tek bir kelime dışında aynıdır — güçlü:

“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önlendirmeyi, hedefin işlenmesi gerektiğine dair güçlü bir sinyal olarak kullanır.”

Evidence for this claim Google's crawling-infrastructure documentation says crawlers follow a 302/303 and Google systems use it as a weak signal that the target should be processed; it also warns that product behavior can differ. Scope: product-specific crawl and processing handoff Confidence: high · Verified: How HTTP Status Codes Affect Google's Crawlers

“Zayıf”, “sıfır” demek değildir; ancak neyin zayıf olduğunu kesinleştirmek gerekir. Burada tek bir süreklilikten değil, iki farklı aşamadan söz eden iki ayrı Google sistemi vardır:

  • Tarama altyapısı (yukarıdaki “zayıf sinyal” alıntısı), yönlendirme hedefinin işlenip işlenmediğiyle ilgilidir; başka deyişle Google’ın tarayıcısı hedefi getirip incelemek için uğraşacak mı?
  • Search’ün dizine ekleme hattı daha sonraki ve ayrı bir aşamadır; kendi kuralını doğrudan şöyle söyler: “Googlebot follows the redirect, but the indexing pipeline doesn’t use the redirect as a signal that the redirect target should be canonical. The target page might still be indexed if other canonicalization signals are present.” (çeviri) “Googlebot yönlendirmeyi izler, ancak dizine ekleme hattı bunu hedefin kanonik olması için sinyal olarak kullanmaz. Başka kanonikleştirme sinyalleri varsa hedef sayfa yine de dizine eklenebilir.” Evidence for this claim Google follows a 302 temporary redirect but does not use it as a signal that the destination should become canonical; Google recommends 302 rather than 301 for temporary site tests. Scope: Google Search handling of temporary redirects and A/B tests. Confidence: high · Verified: Google: Redirects and Google Search Google: Website testing

İki ifadeyi birlikte okuyunca 302’nin Google’a hedefe bakması için (tarama aşamasında) zayıf bir dürtü verdiği, ancak Search’ün dizine ekleme hattının aynı yönlendirmeyi hedefi kanonik yapma oyu saymadığı anlaşılır. Hedef yine dizine girebilir ve kanonik olabilir; bunu yapan 302 değil, başka sinyallerdir. Bunları “302, hedefin kanonik olması için zayıf oydur” diye tek cümleye indirmeyin; iki belge farklı kapsamları anlatıyor.

Tek değil, iki mekanizma

Rakip içeriklerin çoğu burada kavramları birbirine karıştırır; iki mekanizmayı ayrı tutun:

  1. 302’de bağlantı sinyali/PageRank aktarımı sıfır değildir. Gary Illyes 2016’da Google’ın artık 301, 302 veya diğer 30x yönlendirmelerinde PageRank azaltması uygulamadığını söyleyerek “her sıçramada yaklaşık %15 kayıp” söylentisini sona erdirdi. Mueller da özellikle 302’lerin normal yönlendirmeler gibi çalıştığını ve PageRank aktarmadıkları iddiasının doğru olmadığını belirtti. Bunu Google’ın konuyla ilgili kamuya açık açıklaması sayın; resmen yayımlanmış evrensel bir garanti olarak görmeyin. Güncel birincil belgeler her yönlendirme türü ve durum için kesin bir bağlantı sinyali aktarım kuralı vermiyor.
  2. Gerçekte farklı olan mekanizma kanonikleştirme/dizine ekleme tercihidir. 301, hedefin dizine eklenmesi için güçlü sinyaldir; 302 zayıf sinyaldir ve bu nedenle Google varsayılan olarak kaynağı dizinde tutmayı tercih eder.

“302 PageRank aktarır mı?” ile “302 hangi URL’nin sıralanacağını değiştirir mi?” iki ayrı sorudur. İlk yanıt evet; ikinci yanıt varsayılan olarak hayır sayılır. Bunları karıştırmak “302 = sıfır değer” efsanesini doğurdu.

Bununla bağlantılı olarak, bir URL’yi yönlendirdiğinizde Google iki ucu da izler: “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. The other URL becomes an alternate name of the canonical URL.” (çeviri) “Google hem yönlendirme kaynağını (eski URL) hem de hedefi (yeni URL) izler. URL’lerden biri kanonik olur; hangisi olacağı yönlendirmenin geçici veya kalıcı olması gibi sinyallere bağlıdır. Diğer URL kanoniğin alternatif adı olur.” 302’de kaynak şimdilik kanonik kalır.

Evidence for this claim A 302 expresses temporary intent, but it does not guarantee that the source URL will always remain Google's selected canonical or that the target cannot index through other signals. Scope: redirect crawling, indexing, and canonicalization Confidence: high · Verified: Redirects and Google Search

302 çok uzun süre kalırsa ne olur — “dönüş”

Şaşırtıcı nokta şudur: Hiç kaldırılmayan geçici yönlendirme zamanla geçici olarak ele alınmayı bırakabilir. Mueller, uzun süre kalan 302 yönlendirmelerini eninde sonunda 301 yönlendirmeleriyle aynı şekilde değerlendirdiklerini söylemiştir.

Bu neden olur? Ahrefs kanonikleştirme rehberimde anlattığım, gözlenen davranışlardan türetilmiş uygulayıcı zihinsel modelim şudur; Google’ın resmen yayımladığı bir mekanizma değil, terazinin devrilmesi gibi düşünün. Kalıcı yönlendirmeler sinyalleri yeni URL’ye ileri taşır; geçici yönlendirmeler özgün URL’ye geri taşır. Ancak:

“If a temporary redirect is left in place long enough or the URL it’s redirected to already exists, it may be treated as a permanent redirect and send signals forward instead. It requires enough signals to flip the scale we saw earlier for canonicalization signals. As links build up, internal links are changed, sitemap URLs are updated, etc., more signals point to the new URL than the old URL, and the flip occurs.” (çeviri) “Geçici yönlendirme yeterince uzun süre bırakılırsa veya yönlendirildiği URL zaten varsa kalıcı yönlendirme gibi ele alınıp sinyalleri ileri göndermeye başlayabilir. Kanonikleştirme sinyalleri için daha önce gördüğümüz teraziyi çevirecek kadar sinyal gerekir. Bağlantılar biriktikçe, iç bağlantılar değiştikçe, site haritası URL’leri güncellendikçe yeni URL’yi gösteren sinyaller eskisini aşar ve dönüş gerçekleşir.”

Sorun şu: Bunun ne kadar süreceğini kimse bilmiyor. Yönlendirmeler rehberimde yazdığım gibi, Google’ın 302’yi 301 gibi ele almaya başlaması için yönlendirmenin ne kadar süre kalması gerektiğini kimse bilmiyor. Genellikle birkaç hafta ile birkaç ay sürer; ancak günler, haftalar veya aylar da olabilir. Google kalıcı taşıma için yanlışlıkla 302 kullandığınızı düşünürse daha erken davranabilir ve onu 301 gibi ele alabilir; bazı durumlarda bunu baştan yaptığı da görülür. Burada belirli bir gün sayısı vermeyin: yayımlanmış bir eşik yoktur ve Bing hakkında dolaşan “2 gün” dahil hiçbir sayı Google tarafından doğrulanmamıştır.

Bing 302’yi nasıl ele alır — yalnızca başlığa değil davranışa bakar

Bing farklı bir yoldan aynı sonuca ulaşır ve bunu açıkça söylemiştir. Yönlendirmelerle ilgili uzun süredir yayımladığı açıklamada Bing, yalnızca durum koduna güvenmek yerine tekrarlanan taramalarda yönlendirmenin gözlenen örüntüsünü izlediğini anlatır: Hedefi sürekli değişen yönlendirmeler 301 olarak etiketlense bile 302’ye, hep aynı yere gidenler ise 302 olarak etiketlense bile 301’e daha yakın değerlendirilir. Sistem, her yeni taramada onları giderek 301 gibi görmeye başlar. Bu, Google’ın anlattığı yakınsamayla aynıdır: Yeterince tutarlı davranış oluştuğunda iki motor da başlığın iddiasından çok yönlendirmenin ne yaptığına güvenir.

Bing’in eski rehberliği de bugün Google’dan daha güçlü biçimde “302’yi ölçülü kullanın” diyordu; yanlış kullanılan 302’nin değeri özgün URL’lerde mahsur bırakabileceği konusunda uyarıyordu. Pratik sonuç Google’ınkiyle aynıdır: yönlendirme türünü gerçek niyetinizle eşleştirin.

302 ne zaman doğru seçimdir

Google geçici yönlendirmelere yalnızca izin vermekle kalmaz; belirli bir kullanımda onları önerir. A/B testi rehberindeki ifade şöyledir:

“Kullanıcıları özgün URL’den bir varyant URL’ye yönlendiren test çalıştırıyorsanız 301 (kalıcı) değil, 302 (geçici) yönlendirmesi kullanın. Bu, arama motorlarına yönlendirmenin geçici olduğunu — yalnızca deneyi yürüttüğünüz sürece kalacağını — ve özgün URL’yi yönlendirme hedefiyle (test sayfasıyla) değiştirmek yerine dizinlerinde tutmaları gerektiğini bildirir. JavaScript tabanlı yönlendirmeler de uygundur.”

Meşru kullanım alanları (hepsi gerçekten geçici):

  • A/B testi — Yukarıdaki açık Google önerisi. Ancak süreyi gereksiz yere uzatmayın: Google, “if we discover a site running an experiment for an unnecessarily long time, we may interpret this as an attempt to deceive search engines and take action accordingly.” (çeviri) “bir sitenin deneyi gereksiz yere uzun süre yürüttüğünü görürsek bunu arama motorlarını aldatma girişimi sayıp uygun işlem yapabileceğimiz” konusunda uyarır. Anlamlı sonuç için gereken süre kadar çalıştırın, sonra kaldırın.
  • Coğrafi, cihaz ve dil yönlendirmesi — “doğru” hedef ziyaretçiye bağlıdır ve tek bir URL kaynağın yerini kalıcı olarak almamalıdır. Ancak yalnızca durum kodunu seçmek yetmez: Googlebot’un nereye yönlendirildiğini kontrol edin (genellikle gerçek ziyaretçinin konum veya cihaz sinyalini taşımaz); çerez ya da tarayıcının göndermeyeceği başlıklara dayanıp dayanmadığını, önbellek anahtarları ve Vary başlığının varyantları ayırıp ayırmadığını, ekran okuyucu veya JavaScript’siz ziyaretçinin içeriğe ulaşabildiğini ve ziyaretçinin otomatik yönlendirmeyi geçersiz kılabildiğini test edin. Yerelleştirilmiş sürümlerde doğru hreflang kullanın; yönlendirme ile hreflang birbiriyle çelişmemelidir.
  • Geçici bakım / hizmet kullanılamıyor sayfaları — Google’ın kendi örneği: “if a service your site offers is temporarily unavailable, you can set up a temporary redirect to send users to a page that explains what’s happening, without compromising the original URL in search results.” (çeviri) “sitenizin sunduğu bir hizmet geçici olarak kullanılamıyorsa, arama sonuçlarındaki özgün URL’den ödün vermeden durumu açıklayan bir sayfaya göndermek için geçici yönlendirme kurabilirsiniz.” Hangi durumda olduğunuzu ayırın. Aynı URL şu an sunulamıyorsa (arka uç kapalı veya dağıtım sürüyorsa) aynı URL’de 503 Service Unavailable ve Retry-After başlığı daha doğru olabilir; bu, başka yere yönlendirmeden “istek geçici olarak karşılanamıyor, sonra tekrar deneyin” der. 302’yi yalnızca gerçekten yararlı, farklı bir açıklama URL’sine (durum sayfası veya ayrıntılı “yakında döneceğiz” sayfası) bilinçli olarak yönlendiriyorsanız kullanın.
  • Süreli promosyonlar — Kampanya boyunca ziyaretçileri kampanya sayfasına gönderin, sonra geri dönün.
  • Yük dengeleme / yük devretme — Kaynak veya veri merkezi geçici olarak kullanılamadığında trafiği başka yere yönlendirin.

Bu örnekleri açıklamalı yan yana görmek için Örnekler sekmesine, yayına almadan önce kontrol etmek için Kontrol listeleri sekmesine bakın.

Gerçek tek hata

Kalıcı taşıma yaparken 302 kullanmaktır. Google’a eski URL’yi dizinde tutmasını söylediğiniz için sıralanmasını istediğiniz yeni sayfa belirsiz ve öngörülemez bir süre onun yerini alamayabilir. Bu, kuramsal değil, görünürlük kaybına yol açan gerçek bir maliyettir. Sayfa kalıcı olarak kaldırıldıysa 301 (veya 308) kullanın. İlgili hatalar arasında yönlendirme zincirinde 301 ve 302’leri tutarsız biçimde karıştırmak ve her yönlendirme türünde olabileceği gibi iki URL’yi yanlışlıkla birbirine bağlayıp yönlendirme döngüsü oluşturmak da vardır.

302 uygulaması

Önemli olan başlıktır: durum satırındaki 302 Found ve Location. Google’ın PHP örneği:

header('HTTP/1.1 302 Found');
header('Location: https://www.example.com/newurl');
exit();

Apache (.htaccess) — onu geçici yapan R=302 bayrağıdır (R=301 veya yalın R varsayılan olarak kalıcı olur):

Redirect 302 /old-path https://www.example.com/newurl
# or with mod_rewrite:
RewriteRule ^old-path/?$ https://www.example.com/newurl [R=302,L]

nginx — redirect 302 gönderir (permanent ise 301 gönderir):

location = /old-path {
    return 302 https://www.example.com/newurl;
}

Yığın ne olursa olsun (WordPress yönlendirme eklentisi, CDN/edge kuralı veya uygulama katmanı işleyicisi), kural aynıdır: sunucu tarafı yönlendirmeleri tercih edilir ve geçici kodu bilerek seçmelisiniz. Çoğu araç varsayılan olarak 301 kullandığından 302 genellikle açıkça ayarlanır.

Yalnızca geçici yönlendirmeler için değil, her yönlendirme için geçerli güvenlik notu: Location başlığındaki hedef kullanıcı denetimindeki girdiden (örneğin ?next= veya ?returnUrl= sorgu parametresinden) oluşturuluyorsa açık yönlendirme riski doğar. Saldırgan sizin alan adınızdaki bir bağlantıyla ziyaretçileri zararlı bir konuma sektirebilir. Ziyaretçileri istek parametresindeki herhangi bir URL’ye göndermeyin; gerçekte kullanacağınız hedefleri bilinen güvenli yol veya kökenlerden oluşan izin listesiyle sınırlayın. Üretimde güvenmeden önce yönlendirme mantığının kodlanmış ve şema göreli girdileri (//evil.example, %2F%2Fevil.example ve benzeri hileleri) nasıl ele aldığını test edin. Yayına almadan önce her platformun tam kod söz dizimini güncel sürümüyle karşılaştırın; yukarıdaki örnekler açıklama amaçlıdır ve kendi sunucunuzda/CDN’inizde test yapmanın yerini tutmaz.

Kalıcı taşıma karşılığı ve tam karşılaştırma için bu kümedeki kardeş makalelere, 301 yönlendirmesine, 301 ve 302 karşılaştırmasına ve 302 ile 307 karşılaştırmasına bakın.

Try it live

This is a real endpoint on this site — not a simulation. Hit it from the button, open it in a new tab, or curl -i it from your terminal, and the server answers with the actual status code this article is about.

Open in new tab ↗

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.