301 ve 308 Yönlendirmesi
301 ile 308’in ikisi de kalıcı yönlendirmedir; temel fark HTTP yöntemi ve gövdenin korunmasıdır. 308’in neden var olduğunu, Google ve Bing’in onu 301 gibi nasıl işlediğini ve ne zaman 308 seçileceğini açıklar.
Diller
Bu sayfada 1 kanıt sinyali
- İlgili canlı araçHTTP Status & Redirect Checker
301 ve 308 kalıcı yönlendirmelerdir; Google ve Bing tarama, dizine ekleme ve sinyal işleme açısından 308’i 301 gibi ele alır. Protokol düzeyindeki temel fark mekaniktir: 308 istemcinin aynı istek yöntemini ve gövdeyi yeni URL’de korumasını garanti eder; POST yöntemi korunur. 301’de eski istemciler POST’u GET’e çevirebilir. Kullanıcı ve bot davranışı aynı kalıcı taşımayı anlatıyorsa 301 basit varsayılandır; API, webhook veya form verisinde yöntemi ve gövdeyi korumanız gerekiyorsa 308 kullanın.
TL;DR — 301 ve 308 yönlendirmelerinin ikisi de kalıcıdır; Google ve Bing, 308’i tarama, dizine ekleme ve sinyal birleştirme açısından 301 ile aynı işler. Temel teknik fark, yöntemin korunmasıdır: 308, tarayıcının isteği geldiği aynı yöntemle yeniden göndermesini garanti eder (form verisi aynı yöntemle gönderilmeye devam eder); 301 ise POST için bunu kesin olarak vaat etmez. Sıradan bir “sayfa taşındı” yönlendirmesinde 301 kullanın. API veya form gibi düz bir sayfa olmayan ve özgün istek yönteminin bozulmadan ulaşması gereken bir şeyi yönlendiriyorsanız 308 seçin; ancak çerezlerin veya kimlik bilgilerinin korunacağını yalnızca durum kodundan varsaymayın, gerçek istemciyi test edin.
Bu iki kod ne anlama gelir
Bir sunucu sizi bir URL’den diğerine gönderdiğinde yanıtı bir durum koduyla damgalar. İki kod “bu kaynak kalıcı olarak taşındı” anlamına gelir:
- 301 — “Moved Permanently”. İlk ve en eski kalıcı yönlendirme kodudur; web’in ilk dönemlerinden beri vardır.
- 308 — “Permanent Redirect”. 2015’te eklenen daha yeni kod, aynı işi yapar ve buna bir garanti daha ekler.
Ek garanti, karşılaştırmanın tamamının merkezidir. Bir form gönderdiğinizde tarayıcınız veriyi taşıyan bir POST isteği yollar. Eski tarz 301’i izlerken tarayıcının bu POST’u sessizce yalın bir GET isteğine çevirmesine izin verilir; veri yolda kaybolabilir. 308 bunu yasaklar: yeni adrese karşı aynı yöntemi, aynı veriyi ve isteğin tamamını yeniden gönder der.
SEO açısından fark eder mi? Hayır.
İnsanların yanıldığı nokta burasıdır; açık söyleyelim: arama açısından 301 ile 308
aynıdır. Google’ın kendi dokümanı 308’i “equivalent to 301” (Türkçe çeviri)
“301 ile eşdeğer” diye tanımlar. Google’dan Gary Illyes bunu daha da açık biçimde,
“we just merge that with 301 so we really don’t care.” (Türkçe çeviri) “onu 301 ile
birleştiriyoruz, dolayısıyla gerçekten önemsemiyoruz” diye ifade etmiştir. Bing’den
Fabrice Canel de kendi taraflarında aynı sonucu doğrulamıştır: “Bing treats 308
redirects the same as 301 redirects” (Türkçe çeviri) “Bing, 308 yönlendirmelerini
301 yönlendirmeleriyle aynı işler.”
Bu nedenle 308’in “SEO için daha iyi” olduğunu veya sıralama artışı için tüm 301’lerinizi 308’e çevirmeniz gerektiğini söyleyenleri dikkate almayın. Böyle bir artış yoktur; arama motorları bunu açıkça belirtmiştir. Evidence for this claim Google treats 308 as equivalent to 301 for Search while advising sites to use the semantically appropriate status code. Scope: Google Search processing; client behavior still differs when method preservation matters. Confidence: high · Verified: Google: HTTP status codes and Search
Peki hangisini kullanmalıyım?
- Sıradan bir sayfayı yönlendiriyorsanız (URL’yi taşıdınız, HTTPS’ye geçtiniz veya alan adını değiştirdiniz) → 301 kullanın. Çoğu araç, CDN ve eklenti bunu varsayılan olarak destekler.
- Veri taşıyan bir şeyi yönlendiriyorsanız (API uç noktası, form gönderim URL’si veya giriş POST’u) → özgün yöntem geçişte korunsun diye 308 kullanın. Yine de kimlik bilgilerinin ve çerezlerin beklediğiniz gibi ulaştığını doğrulayın; durum kodu tek başına bunu garanti etmez.
Bir API’yi veya formu yönlendirmiyorsanız neredeyse kesinlikle 301 istersiniz. Kısa cevap budur.
308’in neden icat edildiğini, Google ve Bing’in tam olarak ne söylediğini ve ikisinin nasıl uygulanacağını görmek için İleri Düzey sekmesine geçin.
TL;DR — 301 ve 308 yönlendirmelerinin ikisi de kalıcıdır; Google ile Bing 308’i 301 ile aynı işler. Google dokümanları 308’i “equivalent to
301” (Türkçe çeviri) “301ile eşdeğer” diye tanımlar; Illyes “we just merge that with 301,” (Türkçe çeviri) “onu 301 ile birleştiriyoruz” der ve Canel de Bing’in ikisini aynı işlediğini doğrular. Protokol düzeyindeki temel fark yöntemin korunmasıdır: 308 (RFC 7538, 2015), istemcinin yeni URL’de aynı yöntemi tekrarlamasını mekanik olarak garanti eder ve gövde yöntemle birlikte taşınır. HTTP/1.0 döneminden gelen 301 ise özellikle POST’un GET’e dönüşmesi konusunda belirsizdir; RFC, PUT veya DELETE için iki yönde de hüküm vermez, bu nedenle POST uyarısını bu yöntemlere genellemeyin. 308, 307’nin kalıcı kardeşi olmak için vardır: RFC 7231 geçici ve yöntemi koruyan 307’yi tanımlamış, kalıcı karşılığını tanımlamamıştı; 308 bu boşluğu doldurdu. Sıradan sayfa, site ve HTTPS taşımalarında daha eski, daha yaygın tanınan ve CDN/CMS/eklenti desteği daha geniş olan 301’i varsayılan alın. 308’i yalnızca API uç noktası, webhook URL’si, form eylem hedefi veya kimlik doğrulama POST akışı gibi GET dışı isteği korumanız gerektiğinde seçin. O durumda bile durum kodunun her şeyi kapsadığını varsaymak yerine gerçek istemcide kimlik bilgilerini, çerezleri ve idempotensiyi doğrulayın. Hiçbiri “SEO için daha iyi” değildir; motorlar bu efsaneyi açıkça çürütmüştür.
Önce anlamsal fark gelir
301 ile 308, kalıcılık konusunda arama motorlarına aynı şeyi söyler: kaynak kalıcı olarak taşınmıştır ve hedef kanonik olmalıdır. Fark, istemcinin isteği yeniden gönderme biçimine ilişkin dar ve mekanik bir garantidedir.
- 301 (Moved Permanently) HTTP/1.0 döneminden kalan ilk kalıcı yönlendirme kodudur. İstek yönteminin korunup korunmayacağı konusunda başından beri belirsizdir. Uygulamada tarayıcılar ve istemciler 301’i izlerken POST’u GET’e çevirebilmiştir; bu sıradan bir sayfada sorun yaratmaz, ancak yönteme veya istek gövdesine bağlı işlemleri sessizce bozar.
- 308 (Permanent Redirect) katı sürümdür. İstemcinin tam olarak aynı yöntemi ve gövdeyi yeni URL’ye yeniden göndermesini garanti eder. İstemci POST yöntemini korur; yük de yeni adrese onunla birlikte gider.
Bir cümleyle anlatmak gerekirse: 308, tarayıcının POST isteğinizi sessizce GET’e çevirmeyeceğini de garanti eden bir 301’dir. Evidence for this claim RFC 9110 defines both 301 and 308 as permanent redirects; 308 forbids changing the request method, while 301 permits POST-to-GET rewriting for historical reasons. Scope: HTTP semantics for 301 and 308 responses. Confidence: high · Verified: IETF: RFC 9110 §§15.4.2, 15.4.9 IETF: RFC 7538 §3 — 308 Permanent Redirect
308 neden var: eksik “kalıcı 307”
Bu karşılaştırmayı anlamanın en temiz yolu, spesifikasyondaki bir boşluğa bakmaktır.
Modern yönlendirme kodları geçici/kalıcı ve gevşek/katı olmak üzere iki eksenli bir ızgara oluşturur:
| Geçici | Kalıcı | |
|---|---|---|
| Yöntem değişebilir (gevşek) | 302 | 301 |
| Yöntem korunur (katı) | 307 | 308 |
RFC 7231, gevşek ve belirsiz 302’nin katı karşılığı olarak geçici ve yöntemi koruyan 307 kodunu tanımladı. Ancak yöntemi koruyan kalıcı bir karşılık tanımlamadı: katı geçici kod vardı, katı kalıcı kod yoktu. RFC 7538 (Nisan 2015) bu boşluğu doldurmak için 308’i ekledi; 308’in 301’e ilişkisi, 307’nin 302’ye ilişkisi gibidir. Bu kümedeki 302-vs-307 karşılaştırmasını okuduysanız 301-vs-308, aynı ilişkinin bir üst satırıdır: gevşek kalıcı kod ile katı kalıcı kod.
301 bu çerçevenin tamamından eskidir. “Yöntemi koruma” kavramı resmileştirilmeden önce, HTTP/1.0 ile ortaya çıkmıştır. Belirsiz olmasının ve yalnızca açıklığa kavuşturulmak yerine 308’in oluşturulmasının nedeni tam olarak budur.
“Yöntem ve gövdenin korunması” pratikte ne demek
Yönlendirmelerin ezici çoğunluğunda — biri bağlantıya tıklar, tarayıcı GET gönderir ve sunucu başka yere yollar — pratik bir fark yoktur. Modern tarayıcılar 301 üzerinden GET’i doğru biçimde korur. Fark, yalın GET olmayan isteklerde ortaya çıkar:
| İstek türü | 301 arkasında | 308 arkasında |
|---|---|---|
GET (normal sayfa) | GET olarak izlenir (pratikte sorun yok) | GET olarak izlenir |
POST (form, API) | Sessizce GET’e çevrilebilir; gövde kaybolur | POST olarak tekrarlanır; gövde korunur |
PUT / DELETE (API) | RFC’de belgelenmemiştir — tarihsel izin yalnızca POST→GET içindir; istemciye özgü kabul edin | Yöntem korunur (308’in otomatik izleme kuralı yalnızca POST’a özgü değildir) |
301’deki risk doğrudan POST ve istek gövdeleriyle ilgilidir: formlar, API’ler, webhook’lar ve kimlik doğrulama akışları. “301 formumu her zaman bozar” demek abartıdır; yalın GET güvenlidir. 301 için spesifikasyonun tarihsel istisnası POST→GET’tir; PUT veya DELETE davranışını belgelemiyor, bu nedenle gerçek istemciyi test etmeden hiçbir kodun bu yöntemlerde nasıl davranacağını varsaymayın. 308’in açık garantisi yöntemin korunmasıdır; başlıkların, çerezlerin, kimlik bilgilerinin veya daha geniş işlemin değişmeden kalacağını ayrıca vaat etmez. Önemli akışlarda bunları test edin.
Google 301 ile 308’i SEO açısından farklı mı ele alır? Hayır.
Bu, belgelerin, Google çalışanlarının ve Bing’in yıllardır aynı cevabı verdiği nadir yönlendirme sorularındandır.
Google’ın HTTP durum kodları dokümanı
301 ile 308’i aynı gruba koyar. 301 satırında “Google follows the redirect, and Google
systems use the redirect as a strong signal that the redirect target should be
processed” (Türkçe çeviri) “Google yönlendirmeyi izler ve Google sistemleri,
yönlendirme hedefinin işlenmesi gerektiğine dair güçlü bir sinyal olarak yönlendirmeyi
kullanır” yazar. 308 satırının tamamı tek cümledir: “Equivalent to 301.” (Türkçe
çeviri) “301 ile eşdeğer.” Bu, yanıtın en güçlü ve en kolay alıntılanabilir kanıtıdır:
Google’ın kendi dokümanı iki kodu açıkça eşitler. Evidence for this claim Google treats 308 as equivalent to 301 for Search while advising sites to use the semantically appropriate status code. Scope: Google Search processing; client behavior still differs when method preservation matters. Confidence: high · Verified: Google: HTTP status codes and Search
Yönlendirmeler rehberi de bunu pekiştirir; “301 ve 308 durum kodları bir sayfanın kalıcı olarak yeni bir konuma taşındığı anlamına gelir” diyerek başlar ve başka hiçbir yerde ayrım yapmaz.
Google çalışanları bunu dokümana eklenmeden yıllar önce de söylüyordu:
- Gary Illyes (2021): Google’ın 308’i 301 gibi işleyip işlemediğiyle ilgili bir tartışmada, Google’ın “just merge[s] that with 301 so we really don’t care” (Türkçe çeviri) “onu 301 ile birleştirdiğini, dolayısıyla gerçekten önemsemediğini” söyledi. Barry Schwartz bu açıklamayı, yaklaşımın resmiyet kazandığı an olarak aktardı: “Three years later it was added to the official Google documents that Google treats 308 redirects like 301 redirects — so now it is official.” (Türkçe çeviri) “Üç yıl sonra Google’ın 308 yönlendirmelerini 301 gibi işlediği resmî Google dokümanlarına eklendi; artık resmî.”
- John Mueller (2018): üç yıl önce “If you use it [a 308 redirect] like a 301 we’ll treat it as such” (Türkçe çeviri) “Onu [308 yönlendirmesini] 301 gibi kullanırsanız biz de öyle işleriz” demişti. Dolayısıyla bu, dokümanlar güncellenmeden çok önce de Google’ın gayriresmî yaklaşımıydı.
Google’ın dokümanlarında önemli bir nüans var ve makalenin tezi de budur. Kodları eşitledikten hemen sonra şöyle ekler: “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ı ele alsa da anlamsal olarak farklı olduklarını unutmayın. Diğer istemciler (örneğin e-kitap okuyucuları ve diğer arama motorları) bundan yararlanabilsin diye yönlendirmeye uygun kodu kullanın.” Yani kodu SEO için değil, doğruluk ve birlikte çalışabilirlik için seçin; SEO açısından fark yoktur.
Bing 301 ile 308’i farklı mı ele alır? O da hayır.
Bu konudaki yazıların çoğu yalnızca Google’ı ele aldığı için Bing tarafında bir boşluk kalır. Bing’den Fabrice Canel, Eylül 2024’te kalıcı 308’in 301 ile aynı işlenip işlenmediğini soran birine doğrudan yanıt verdi: “Bing treats 308 redirects the same as 301 redirects.” (Türkçe çeviri) “Bing, 308 yönlendirmelerini 301 yönlendirmeleriyle aynı işler.” Schwartz bunun Google’ın 2021’deki açıklamasıyla uyumlu olduğunu belirtti.
İki büyük arama motorunun kaydı da aynı: tarama, dizine ekleme ve sinyal birleştirme açısından 308 işlevsel olarak 301 ile aynıdır. Hiçbir motor 308’i SEO bakımından üstün saymaz.
Çürütülecek efsane: “308 SEO için daha iyi / tüm kalıcı yönlendirmeleri taşıyın”
Niteliksiz sayfalar tersini ima etmeyi sürdürdüğü için açık konuşalım: Sıradan bir yönlendirmede 301 yerine 308 seçmenin SEO getirisi yoktur ve mevcut 301’lerinizi topluca 308’e geçirmeniz için hiçbir neden bulunmaz. Bu bir görüş değil, arama motorlarının açıkladığı yaklaşımdır:
- Google dokümanları 308’in “equivalent to
301” (Türkçe çeviri) “301ile eşdeğer” olduğunu söyler. - Illyes: “we just merge that with 301.” (Türkçe çeviri) “onu 301 ile birleştiriyoruz.”
- Canel: Bing “treats 308 redirects the same as 301 redirects” (Türkçe çeviri) “308 yönlendirmelerini 301 yönlendirmeleriyle aynı işler.”
301’i 308’le topluca değiştirmek sıralama açısından hiçbir kazanç sağlamaz; yalnızca 301/302’yi sorunsuz tanıyan eski veya kenar araçlarda risk yaratır. Bu, gereksiz bir operasyonel değişikliktir.
Bunu gerçekten tartışılmış bir efsaneyle karşılaştırmak yararlıdır: eski “301’ler PageRank kaybeder veya PageRank’i seyreltir” iddiası. Bu iddia hâlâ ara sıra ortaya çıkar ve Google tarafından defalarca çürütülmüştür. Ancak aradaki farka dikkat edin: PageRank seyreltme efsanesinde Google bir yanlış anlamayı düzeltir; 301-vs-308 eşdeğerliğinde ise Google, Bing ve dokümanlar 2018’den beri tutarlı biçimde aynı şeyi söyler. Bu tartışmalı değil, sonuçlanmış bir sorudur. (PageRank’in tam öyküsü bu kümedeki 301-vs-302 karşılaştırmasındadır.)
308 ne zaman teknik olarak doğru seçimdir
İstek yönteminin veya gövdesinin kaybolması işlevselliği (sıralamayı değil) bozacaksa 308’i seçin:
- Taşıdığınız ve istemcilerin
POST/PUT/DELETEgönderdiği API uç noktaları. - Gönderenin kaybetmemeniz gereken bir yükü POST ettiği webhook URL’leri.
<form>öğesinin veriyi eksiksiz ulaştırması gereken form eylemi hedefleri.- Kimlik bilgilerinin veya belirteçlerin gövdede taşındığı giriş/kimlik doğrulama POST akışları.
POST için 301, istemcinin isteği GET’e çevirip gövdeyi yolda bırakmasına neden olabilir; 308 bu dönüşümü yasaklar. PUT/DELETE için RFC 301 davranışını iki yönde de açıklamaz, bu yüzden varsayım yapmayın; 308’in yöntem koruma kuralı hangi yöntem kullanılırsa kullanılsın geçerlidir.
Bir API, webhook veya kimlik doğrulama akışını değiştirmeden önce durum kodunun tek başına her şeyi koruyacağını varsaymayın; aynı geçişte şu noktaları kontrol edin:
- Kimlik bilgileri, çerezler ve yetkilendirme başlıkları. Her iki kod da burada garanti vermez; tarayıcı, SDK veya webhook göndereni gibi gerçek istemciyi test edin.
- Çapraz kaynak davranışı. Kaynaklar arası yönlendirme, tarayıcının veya fetch istemcisinin göndereceği veriyi değiştirebilir; yalnızca
curlile değil gerçek çağrıcıyla doğrulayın. - İdempotensi ve yinelenen yan etkiler. Bir yönlendirmeden sonra yeniden denenen istek idempotent değilse (kayıt oluşturan webhook veya ödeme POST’u gibi) iki kez çalışabilir. 308’e “çalışır” diye güvenmeden önce hedefin tekrarı güvenle işlemesini sağlayın.
- Önbelleği hesaba katarak aşamalı yayın ve geri alma. 301 ve 308 yanıtları sezgisel olarak önbelleğe alınabilir. Eski yanıtı önceden önbelleğe alan istemci, kodu değiştirdikten sonra da onu kullanabilir; hem yeni istemciyle hem de değişiklikten önce URL’ye erişmiş istemciyle test edin ve geri alma planınızı bu duruma göre yapın.
301 ne zaman pratik varsayılan olarak kalır
SEO uzmanlarının yönlendirdiği şeylerin çoğu yalın GET’tir; bu nedenle 301 mantıklı varsayılan olmaya devam eder:
- Standart sayfa/URL değişiklikleri ve içerik taşımaları.
- Alan adı değişiklikleri ve site birleştirmeleri.
- HTTP → HTTPS geçişleri.
www/non-wwwveya sondaki eğik çizgi varyantlarını birleştirme.
308 daha “katı” olduğu hâlde neden eski kodu varsayılan alalım? Üç pratik nedeni var:
- Daha geniş tanınırlık. 301, 308’den yirmi yıl önce vardır ve güncel ya da eski tarayıcıların, proxy’lerin, CDN’lerin, tarayıcı botlarının ve analiz araçlarının ezici çoğunluğu tarafından tanınır. 308 artık on yılı aşmış ve geniş biçimde destekleniyor olsa da eski istemciler ile kenar araçlarının tamamının onu tanıdığını varsaymayın.
- Araçların gerçeği. Yaygın araçların çoğu 301/302’yi varsayılan alır veya yalnızca bunları temiz biçimde sunar. WordPress yönlendirme eklentileri, Cloudflare kural oluşturucuları ve bazı sunucusuz/CDN platformları 301/302’ye yaslanır; bazıları seçtiğinizi sansanız bile 302/307 üretebilir.
- Kazanılacak bir şey yok. Google ve Bing tarama ve dizine ekleme açısından iki kodu aynı işlediği için, sıradan bir sayfa taşınmasında daha az desteklenen kodu seçmenin getirisi yoktur.
Pratik kural: yalın GET → 301; korumanız gereken GET dışı istek → 308.
Her biri nasıl uygulanır
Sözdizimi neredeyse aynıdır; yalnızca durum kodu numarasını değiştirirsiniz.
Apache (.htaccess)
# 301 — permanent, for a normal page move
Redirect 301 /old-page /new-page
# 308 — permanent + method-preserving, for an API/form endpoint
RewriteEngine On
RewriteRule ^old-api/(.*)$ /new-api/$1 [R=308,L]nginx
# 301
location = /old-page {
return 301 /new-page;
}
# 308 — preserves POST body to the API
location = /old-api {
return 308 /new-api;
}İki kod için de geçerli bir not: bazı CDN’ler, kenar platformları ve CMS eklentileri yapılandırdığınız 308’i uygulamaz; bunun yerine 301/302/307 gönderir. Yöntem koruması önemliyse gerçekten gönderdiğiniz yanıtı doğrulayın (URL’yi curl ile çağırıp durum satırını okuyun), yapılandırmaya körü körüne güvenmeyin. Direktif sözdizimi sunucu sürümleri ve çerçeveler arasında değişebilir; örneklerin kurulumunuz için ayrıntılarıyla güncel olduğunu varsaymak yerine güncel Apache/nginx veya çerçeve dokümanına bakın.
301 ve 308 seçiminden daha etkili kaldıraç: zincir uzunluğu
Hangi kodu seçerseniz seçin, daha büyük performans kaldıracı yönlendirmeleri kısa tutmaktır. Google vazgeçmeden önce yaklaşık 10 yönlendirme atlamasını izler; her ekstra atlama gecikme ve sinyal kaybı ihtimali ekler. Doğru kodla tek ve temiz bir atlama, “teknik olarak doğru” kodlardan oluşan uzun bir zincirden iyidir. Doğrudan son hedefe yönlendirin.
Bu kod nerede duruyor
301 ve 308 iki kalıcı yönlendirme kodudur. Bu kümede geçici karşılıkları 302 ve katı kardeşi 307 ile, ayrıca 3xx ailesindeki 303 ile birlikte ayrı ayrıntılı incelemeleri vardır. Karşılaştırmalar bir ızgaraya oturur: 301 ve 302 kalıcı/geçici çiftidir; 302 ve 307 geçici gevşek/katı çiftidir; bu yazıdaki 301 ve 308 ise kalıcı gevşek/katı çiftidir. Yönlendirme zincirleri ve döngüleri gibi operasyonel tehlikelere de dikkat edin. Tüm sunucu yanıtı ailesi için HTTP Durum Kodları merkezine bakın; yönlendirme türü, kanonikleştirme bölümünde açıklanan sinyallerden biridir.
AI özeti
İleri Düzey sürümün kısa özeti:
- İkisi de kalıcı yönlendirmedir; Google ve Bing 308’i 301 ile aynı işler. Google
dokümanları 308’i “equivalent to
301” (Türkçe çeviri) “301ile eşdeğer” diye tanımlar; Illyes “we just merge that with 301,” (Türkçe çeviri) “onu 301 ile birleştiriyoruz” der; Bing’den Canel de “Bing treats 308 redirects the same as 301 redirects.” (Türkçe çeviri) “Bing, 308 yönlendirmelerini 301 yönlendirmeleriyle aynı işler” diyerek bunu doğrular. - Protokol düzeyindeki temel fark yöntemin korunmasıdır. 308 (RFC 7538, 2015), istemcinin yeni URL’de aynı yöntemi tekrarlamasını ve gövdenin yöntemle birlikte taşınmasını garanti eder. HTTP/1.0 döneminden gelen 301 ise özellikle POST→GET dönüşümünde belirsizdir; RFC, PUT veya DELETE için iki yönde de hüküm vermez, bu nedenle uyarıyı onlara genellemeyin.
- 308’in varlık nedeni: RFC 7231 geçici ve yöntemi koruyan 307’yi tanımladı, ancak kalıcı karşılığını tanımlamadı. 308 bu boşluğu doldurur; 308’in 301’e ilişkisi, 307’nin 302’ye ilişkisi gibidir.
- Pratikte yalnızca GET dışı isteklerde fark yaratır. Yalın GET, 301’de güvenlidir. Risk POST/PUT/DELETE yöntemleri ile istek gövdelerinde, yani formlarda, API’lerde, webhook’larda ve kimlik doğrulama akışlarında ortaya çıkar.
- GET dışı yöntemi korumanız gerektiğinde 308 kullanın: API uç noktaları, webhook URL’leri, form eylem hedefleri ve giriş POST akışları.
- Diğer her durumda 301 kullanın: sayfa taşımaları, alan adı değişiklikleri, HTTPS geçişleri ve www/non-www birleştirmeleri. Daha eskidir, evrensel olarak tanınır ve CDN/CMS/eklentilerde daha geniş desteklenir.
- Çürütülecek efsane: 308 SEO için daha iyi değildir ve 301’leri topluca 308’e geçirmek için neden yoktur. Motorlar 2018’den beri bunu tutarlı biçimde söyler. Kodu sıralama için değil, doğruluk ve birlikte çalışabilirlik için seçin; Google da kodların “anlamsal olarak farklı” olduğunu belirtir.
- Kod seçiminden daha büyük kaldıraç: yönlendirme zincirlerini kısa tutun (Google yaklaşık 10 atlama izler) ve doğrudan son URL’ye yönlendirin.
Resmî dokümantasyon
Arama motorlarının ve spesifikasyonun birincil kaynak dokümanları.
- HTTP durum kodları, ağ ve DNS hataları ve Google Arama — 308’i “
301ile eşdeğer” olarak listeleyen ve “anlamsal olarak farklı, ancak aynı işlenir” notunu veren başvuru. - Yönlendirmeler ve Google Arama — “
301ve308durum kodları bir sayfanın kalıcı olarak taşındığı anlamına gelir” ifadesi, sunucu tarafı uygulama ve JavaScript yönlendirmesi uyarısı. - URL değişiklikleriyle site taşımaları — yönlendirmelerin geçişteki yeri ve en az bir yıl tutulması.
- Search Off the Record — “Yönlendirmeleri konuşalım” — John Mueller ve Martin Splitt’in 307/308 türlerini ele aldığı bölüm.
Bing / Microsoft
- Bing ile web sitesi taşıma — Bing’in kalıcı taşımalar için 301’i yeterli gören sinyal yaklaşımı.
Spesifikasyon / başvuru
- RFC 7538 — 308 kalıcı yönlendirmesi — yöntemi koruyan kalıcı yönlendirme 308’i oluşturan 2015 standardı.
- MDN — 308 kalıcı yönlendirmesi — yöntem ve gövde korumasını, ayrıca 301 ile karşılaştırmayı açıklar.
Kaynaktan alıntılar
Google ve Bing’den kayda geçmiş ifadeler. Kaynak sayfanın desteklediği yerlerde her bağlantı alıntılanan bölüme atlayan bir metin parçası içerir.
Google dokümanları — 308, 301’e eşdeğerdir
- “Google follows the redirect, and Google systems use the redirect as a strong signal that the redirect target should be processed.” (Türkçe çeviri) “Google yönlendirmeyi izler ve Google sistemleri, yönlendirme hedefinin işlenmesi gerektiğine dair güçlü bir sinyal olarak yönlendirmeyi kullanır.” (301 satırı) — Google Search Central. Alıntıya git
- “Equivalent to
301.” (Türkçe çeviri) “301ile eşdeğer.” (308 satırının tamamı) Alıntıya git - “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.” (Türkçe çeviri) “Google bu durum kodlarını aynı biçimde işlese de anlamsal olarak farklı olduklarını unutmayın. Diğer istemcilerin de yararlanabilmesi için yönlendirmeye uygun durum kodunu kullanın.” Alıntıya git
Google dokümanları — iki kod da “kalıcı olarak taşındı” demektir
- “The
301and308status codes mean that a page has permanently moved to a new location.” (Türkçe çeviri) “301ve308durum kodları, bir sayfanın kalıcı olarak yeni bir konuma taşındığı anlamına gelir.” Alıntıya git
Google’dan Gary Illyes (2021) (Search Engine Roundtable aracılığıyla) — 308, 301 ile birleştirilir
- “we just merge that with 301 so we really don’t care iirc.” (Türkçe çeviri) “Yanlış hatırlamıyorsam onu 301 ile birleştiriyoruz; dolayısıyla gerçekten önemsemiyoruz.” Haber
Google’dan John Mueller (2018) (Search Engine Roundtable aracılığıyla) — daha önceki gayriresmî yaklaşım
- “If you use it [a 308 redirect] like a 301 we’ll treat it as such.” (Türkçe çeviri) “Onu [308 yönlendirmesini] 301 gibi kullanırsanız biz de öyle işleriz.” Haber
Microsoft Bing’den Fabrice Canel (2024) (Search Engine Roundtable aracılığıyla) — Bing eşitliği
- “Bing treats 308 redirects the same as 301 redirects.” (Türkçe çeviri) “Bing, 308 yönlendirmelerini 301 yönlendirmeleriyle aynı işler.” Haber
#:~:text= parçalarını kullanır. Illyes’in 2021, Mueller’in 2018 ve Canel’in 2024 ifadeleri önce X/Twitter’da yayımlandı; burada Search Engine Roundtable’ın dönemindeki aktarımı üzerinden veriliyor — nihai kabulden önce asılları doğrulayın. Google’ın Search Off the Record programındaki “Yönlendirmeleri konuşalım” bölümü 307/308’i ele alır, ancak bu yazı için resmî döküm alınmadığından doğrudan alıntı yapılmamıştır. Hangi kalıcı yönlendirmeyi kullanmalıyım: 301 mi 308 mi?
Google ve Bing tarama ve dizine ekleme açısından 301 ile 308’i aynı işlediği için bu karar ağacı sıralamayla ilgili değildir. Tek soru şudur: istek, korumanız gereken bir yöntem/gövde taşıyor mu? Yanıtı verdiğinizde seçim tamamlanır.
301 or 308 — which permanent redirect should I use?
Kısa sürüm: yalın GET → 301; korumanız gereken GET dışı istek → 308. SEO açısından iki kod değiştirilebilir; kararı veren tek konu yöntemdir.
Kalıcılık × yöntem matrisi
Yaygın dört yönlendirme kodunu iki eksende seçin. SEO işleme ilk ekseni, uygulama davranışı ikinci ekseni izler.
| Yöntem değişebilir | Yöntem korunmalı | |
|---|---|---|
| Geçici | 302 | 307 |
| Kalıcı | 301 | 308 |
Kararı şu sırayla verin:
- Taşıma kalıcı mı? Hayırsa geçici satırda kalın. Evetse hedefin amaçlanan kanonik olması için kalıcı satırı kullanın.
- İstek, korunması gereken yöntem/gövde taşıyabilir mi? Normal bir sayfanın
GETisteği katı garantiye ihtiyaç duymaz.POST,PUT,DELETE, webhook, form veya API çağrısı duyabilir. - Hücreyi seçin. Sıradan kalıcı sayfa taşıması →
301; kalıcı GET dışı uç nokta taşıması →308. - Gönderilen yanıtı doğrulayın. Platform varsayılanları arayüzde veya çerçevede seçtiğiniz koddan farklı olabilir. Yalnızca yapılandırmayı değil yanıtı ve yönlendirilmiş isteği test edin.
Bu matris SEO sorusunu bilinçli olarak sıkıcı hâle getirir: Google ve Bing 301 ile 308’i aynı ele alır. Seçimi HTTP doğruluğu belirler.
301 ve 308 bir bakışta
| Soru | 301 Moved Permanently | 308 Permanent Redirect |
|---|---|---|
| Kalıcılık | Kalıcı | Kalıcı |
| Google/Bing SEO işlemesi | Aynı kalıcı sinyal | Aynı kalıcı sinyal |
| İstek yöntemi/gövdesi | Özellikle POST → GET olmak üzere değişebilir | Korunmak zorunda |
| En uygun kullanım | Sıradan sayfalar, alan adları, HTTPS, URL normalleştirme | GET dışı istek taşıyan API, webhook, form/kimlik doğrulama uç noktaları |
| Ana avantaj | Evrensel araçlar ve uzun süreli destek | Katı yöntem/gövde garantisi |
| Yanlış seçim gerekçesi | “301 daha fazla SEO değeri aktarır” | “308 sıralama artışı sağlar” |
Pratik kural: kalıcı sayfada yalın GET → 301; GET dışı isteğin eksiksiz ulaşması gereken kalıcı uç nokta → 308.
Kalıcı yönlendirmeyi doğrulama araçları
Patrick’in ücretsiz araçları
- Redirect Checker — gerçek ilk durumu, her atlamayı ve son hedefi inceleyin.
301yapılandırdığınız hâlde platformun302,307veya308gönderdiğini yakalamak için kullanın. - Bulk HTTP Status Code Checker — geçiş sırasında 500’e kadar sayfa URL’sini kontrol edin ve karışık kodları veya zincirleri dışa aktarın.
Gerektiğinde yöntem korumasını doğrulayın
- Gerçek istek yöntemi ve güvenli test gövdesiyle
curl— yönlendirilmiş isteğin hâlâPOST/PUT/DELETEolduğunu ve hedefin gövdeyi aldığını doğrulayın. Hazırlık veya yıkıcı olmayan bir uç nokta kullanın. - Uygulama ve ağ geçidi günlükleri — kaynak ile hedefte yöntem ve gövde işleme biçimini karşılaştırın. Durum denetleyicisi
308’i doğrulayabilir; isteğin eksiksiz ulaştığını yalnızca alıcı sistem kanıtlar. - Tarayıcı DevTools Network paneli — form akışlarında faydalıdır; ancak farkın nedeni istemci davranışı olduğundan tarayıcı dışı API ve webhook istemcilerini ayrıca test edin.
Kendinizi test edin: 301 ve 308
Bu iki kalıcı yönlendirmenin farkı ve arama motorlarının bunları nasıl işlediği hakkında beş soru. Her soru için bir yanıt seçin, sonra kontrol edin.
Vakit ayırmaya değer kaynaklar
İlgili yazılarım
- 11 yönlendirme türü ve SEO etkileri (Ahrefs, Joshua Hardwick ile) — her yönlendirme türüne ilişkin kapsamlı incelemem. 308 satırı, özgün isteğin GET veya POST olan HTTP yöntemini koruması dışında 301 ile aynı olduğunu söyler. Bu karşılaştırmaya ilişkin sonucum: SEO açısından aynıdırlar; ancak formlardan veri gönderiliyorsa GET ile POST arasında geçiş yapılmamalıdır. Yazıda kalıcı yönlendirmeler için tercih ettiğim uygulama sırası da bulunur: önce 308/301, ardından meta/HTTP yenilemesi ve son olarak JavaScript.
- HTTP durum kodları ve SEO etkileri (Ahrefs) — 308’in “has the same functionality as a 301 redirect, except you can’t switch between POST and GET,” (Türkçe çeviri) “POST ile GET arasında geçiş yapılamaması dışında 301 yönlendirmesiyle aynı işlevi gördüğünü” ve “308s are treated the same as 301s and consolidate forward.” (Türkçe çeviri) “308’lerin 301’lerle aynı işlendiğini ve sinyalleri ileriye birleştirdiğini” belirttiğim yazı.
- Teknik SEO’ya başlangıç rehberi — yönlendirmelerin daha geniş teknik SEO çerçevesindeki yeri.
Konuşmalarım
- Patrick Stox on SlideShare ve Speaker Deck — yönlendirmeler ve kanonikleştirmeyi ele alan teknik SEO sunumlarım. (Sürekli notum: “Bu, sistemleri anlama biçimimdir; yüzde 100 eksiksiz veya doğru olmayabilir.”)
Resmî
- Google — HTTP durum kodları ve Google Arama (308 = “301’e eşdeğer”) ve Yönlendirmeler rehberi.
- RFC 7538 — 308 kalıcı yönlendirmesi — 308’in neden var olduğu.
- MDN — 308 kalıcı yönlendirmesi — yöntem/gövde koruma başvurusu.
Sektörden
- Google, 308’i 301 gibi işler (Search Engine Roundtable, 2021) — Gary Illyes’in “301 ile birleştiriyoruz” alıntısı.
- Google 308’i 301 gibi işleyebilir (Search Engine Roundtable, 2018) — John Mueller’in önceki “böyle ele alırız” açıklaması.
- Bing 308’i 301 ile aynı işler (Search Engine Roundtable, 2024) — Fabrice Canel’in doğrulaması.
- Google yönlendirme türü efsanelerini çürütüyor (Search Engine Journal) — “teknik olarak doğru yönlendirme türünü kullanın” uyarısı.
- 308 kalıcı yönlendirmesi: anlamı ve kullanım zamanı (Semrush) — karşılaştırılabilir bir genel bakış.
- r/TechSEO — yönlendirme ve kanonikleştirme sorunlarını tartışan topluluk.
Değişiklik günlüğü
9 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
8 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
8 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
6 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
6 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
Try it live
These are real endpoints on this site — not a simulation.
Hit them from the button, open them in a new tab, or
curl -i them from your terminal, and the server answers with the actual status code this article is about.