Kısa cevap: 301 yönlendirme, bir sayfanın kalıcı olarak yeni bir adrese taşındığını tarayıcıya ve arama motorlarına bildiren HTTP durum kodudur. Ziyaretçi eski adresi açtığında otomatik olarak yeni adrese gider, Google da yeni adresi standart (canonical) sürüm olarak işler. Kalıcı taşımalarda 301 ya da 308, geçici durumlarda 302 ya da 307 kullanılır; yerine geçecek sayfası olmayan, gerçekten kaldırılmış içerik için 404 veya 410 döndürmek doğrudur. "Bulunamadı" yazan bir sayfayı 200 koduyla sunmak soft 404 sorunu yaratır; site taşırken her eski URL'yi tek adımda en yakın karşılığına yönlendirip yönlendirmeleri en az bir yıl korumak gerekir.
Bir e-ticaret sitesinde URL'ler sanıldığından çok daha sık değişir: ürün adı düzeltilir, kategori yapısı sadeleşir, altyapı değişir, kampanya sayfası kapanır. Her değişiklikte eski adres Google dizininde, başka sitelerdeki bağlantılarda, reklam hesaplarında, e-posta arşivlerinde ve basılı kataloglardaki QR kodlarında yaşamaya devam eder. Bu adreslerin nereye gideceğine siz karar vermezseniz ziyaretçi bir hata sayfasıyla, Google da çelişkili sinyallerle karşılaşır.
Bu rehber yönlendirme ve hata kodlarını uçtan uca ele alıyor: 301, 302, 307 ve 308 farkı; 404, 410 ve soft 404 ayrımı; zincir ve döngüler; canonical ile yönlendirmenin farkı; site taşırken kullanılacak eşleme tablosu; silinen ürün ve kategoriler için karar tablosu; ikas, Shopify, WordPress, Apache ve nginx'te uygulama; Search Console raporlarını okuma ve test. Teknik davranışları Google Search Central dokümanlarına dayandırdık ve Kasım 2026 itibarıyla geçerli hâlleriyle anlatıyoruz.
301 yönlendirme nedir, ne işe yarar?
301 yönlendirme, sunucunun bir URL isteğine "Bu kaynak kalıcı olarak taşındı, yeni adresi şu" cevabını vermesidir. Cevapta 301 durum kodu ve yeni adresi taşıyan Location başlığı bulunur; tarayıcı bu başlığı görür görmez yeni adresi ister. Kullanıcı çoğu zaman hiçbir şey fark etmez, adres çubuğundaki URL değişir ve sayfa açılır.
SEO açısından önemi şuradadır: Google kalıcı yönlendirmeyi, hedef adresin standart sürüm olması gerektiğine dair güçlü bir sinyal olarak kullanır. Google'ın yönlendirmeler dokümanına göre kalıcı yönlendirmede dizine ekleme süreci hedefi standart URL kabul eder, eski URL ise bu standart adresin alternatif adı olarak tutulur. Böylece eski sayfanın kazandığı bağlantılar ve sinyaller zamanla yeni adreste toplanır; bu sinyallerin sıralamadaki yerini Google sıralama faktörleri yazısında ayrıntılı ele aldık.
Yönlendirme tarayıcıda ve Googlebot'ta nasıl işler?
Tarayıcı ve Googlebot aynı mekanizmayı izler ama farklı sonuç çıkarır. Tarayıcı yalnız kullanıcıyı yeni adrese taşır; Googlebot ise hangi adresin dizinde kalacağına karar verir. Google'ın HTTP durum kodları sayfası, Google tarayıcılarının varsayılan olarak en çok 10 yönlendirme adımını izlediğini ve yönlendiren URL'den gelen içeriğin yok sayılıp son hedefin içeriğinin işlendiğini belirtir.
Bu iki ayrıntının pratik anlamı açık: eski URL'de ne yazdığının bir önemi kalmaz, Google'ın değerlendirdiği sayfa hedef sayfadır. Hedef alakasızsa kalıcı yönlendirme bile sinyalleri doğru yere taşımaz. Bu nedenle yönlendirme işinin asıl zor kısmı kodu yazmak değil, her eski adres için doğru hedefi seçmektir.
301 hangi durumlarda doğru seçimdir?
301, adresin geri dönmeyecek biçimde değiştiği her durumda doğru seçimdir. En sık karşılaşılan örnekler şunlardır:
- Ürün, kategori ya da blog yazısının URL'si (slug) değiştiğinde.
- Alan adını değiştirdiğinizde ya da markayı yeni bir alan adına taşıdığınızda.
- http'den https'e geçtiğinizde, www ile www'suz sürümlerden birini tercih ettiğinizde.
- İki benzer sayfayı tek ve daha güçlü bir sayfada birleştirdiğinizde.
- Altyapı değiştirip URL yapısı farklı olan yeni bir platforma geçtiğinizde.
Hepsinin ortak noktası, kararın geri alınmayacak olmasıdır. Google da kalıcı yönlendirmeyi, yönlendirmenin geri çevrilmeyeceğinden emin olduğunuz durumlar için önerir. Değişiklik birkaç gün ya da birkaç hafta sürecekse geçici yönlendirme kullanın.
Yönlendirme değer kaybettirir mi?
Doğru kurulmuş, tek adımlı bir 301, eski sayfanın sinyallerini yeni adrese taşımanın Google tarafından önerilen yoludur; asıl kayıp riski yönlendirmenin kendisinden değil, yanlış hedef seçiminden ve zincirlerden gelir. Eski SEO tartışmalarında her yönlendirmede belirli bir oranda değer kaybedildiği sık dile getirilirdi; Google'ın güncel dokümanları ise yönlendirmeyi standartlaştırmada en güçlü sinyal olarak tanımlar. Pratikte trafik kaybı çoğunlukla üç nedenden doğar: alakasız hedef, eksik envanter yüzünden hiç yönlendirilmeyen sayfalar ve taşımayla birlikte değişen içerik.
Son neden sıkça gözden kaçar. Site yenilemede ürün açıklamaları kısaltılır, kategori metinleri silinir, başlıklar değişir; trafik düşünce de suç yönlendirmeye atılır. Yönlendirmenin etkisini temiz ölçmek istiyorsanız taşımada içerikleri mümkün olduğunca aynı tutun, içerik iyileştirmesini taşıma oturduktan sonra ayrı bir aşamada yapın.
HTTP durum kodları neyi anlatır?
HTTP durum kodu, sunucunun her isteğe verdiği üç haneli cevaptır ve ilk hane cevabın ailesini gösterir. 2xx "istek başarılı", 3xx "başka yere bak", 4xx "istenen şey yok ya da erişilemez", 5xx "sunucu tarafında sorun var" demektir. Googlebot her ailede farklı davranır; bu yüzden doğru kod, doğru içerik kadar önemlidir.
| Kod ailesi | Örnek kodlar | Anlamı | Google'ın tepkisi |
|---|---|---|---|
| 2xx | 200 OK | Sayfa sorunsuz döndü | İçerik dizine ekleme aşamasına geçer; 200 almak dizine eklenmeyi garanti etmez |
| 3xx | 301, 302, 303, 304, 307, 308 | Kaynak başka adreste ya da değişmedi | 301 ve 308 güçlü, 302 ve 307 zayıf standartlaştırma sinyali; 304 "içerik son taramadan beri aynı" demek |
| 4xx | 404, 410, 403, 429 | İçerik yok ya da erişim engelli | 429 hariç hepsi aynı işlenir: içerik yok kabul edilir, dizindeki URL çıkarılır, tarama sıklığı azalır |
| 5xx | 500, 502, 503 | Sunucu tarafında hata | Tarama hızı düşürülür; hata kalıcılaşırsa URL'ler dizinden çıkarılır |
Tablodaki iki ayrıntı çoğu site sahibini şaşırtır. Birincisi, 200 döndürmek dizine eklenmeyi garanti etmez; Google ayrıca içeriğin değerine ve kopya olup olmadığına bakar. İkincisi, 429 (çok fazla istek) Google için bir istemci hatası değil, sunucunun aşırı yüklendiğinin işaretidir ve sunucu hatası gibi değerlendirilir.
Durum kodunu görmek için özel bir araca gerek yoktur. Tarayıcıda geliştirici araçlarını açıp Ağ (Network) sekmesinde sayfayı yenilediğinizde her isteğin kodu durum sütununda görünür. Bu sütunu nasıl okuyacağınızı test bölümünde adım adım anlatıyoruz.
301, 302, 307 ve 308 arasındaki fark nedir?
Bu dört kod iki soruya göre ayrılır: taşınma kalıcı mı, geçici mi ve tarayıcı yeni adrese giderken isteğin yöntemini (GET, POST) koruyacak mı. 301 ve 308 kalıcıdır, 302 ve 307 geçicidir; 307 ve 308 ayrıca isteğin yöntemini ve gövdesini değiştirmeden aktarılmasını şart koşar. Google açısından 308, 301 ile; 307 de 302 ile eşdeğer işlenir.
| Kod | Adı | Kalıcı mı? | İstek yöntemi | Google'da standart URL | Tipik kullanım |
|---|---|---|---|---|---|
| 301 | Moved Permanently | Evet | Tarihsel nedenlerle istemci POST'u GET'e çevirebilir | Hedef URL | Slug değişikliği, alan adı taşıma, https'e geçiş |
| 308 | Permanent Redirect | Evet | Yöntem ve gövde korunur | Hedef URL | POST alan form ya da API adresinin kalıcı taşınması |
| 302 | Found | Hayır | Tarihsel nedenlerle istemci POST'u GET'e çevirebilir | Kaynak URL kalır | Kısa süreli kampanya, duruma bağlı yönlendirme |
| 303 | See Other | Hayır | Yeni adres GET ile istenir | Kaynak URL kalır | Form gönderiminden sonra onay sayfasına geçiş |
| 307 | Temporary Redirect | Hayır | Yöntem ve gövde korunur | Kaynak URL kalır | Geçici taşımada form gönderimlerinin bozulmaması |
Hangi kodu seçmelisiniz?
E-ticaret ve kurumsal sitelerde gerçek seçim çoğu zaman 301 ile 302 arasındadır, çünkü sayfa ziyaretleri GET isteğidir ve yöntem farkı önem taşımaz. 308 ve 307'yi ödeme, form ya da API adresleri gibi POST isteği alan uç noktaları taşırken düşünün. MDN'nin 308 açıklaması, 308'de yöntemin ve gövdenin istemci tarafından değiştirilmediğini, 301'de ise eski istemcilerin isteği GET'e çevirebildiğini anlatır.
Bir platformun panelinde yalnız "301" ve "302" seçeneği görüyorsanız bu bir eksiklik değildir. Sayfa taşımaları için bu ikisi yeterlidir; önemli olan kalıcı ile geçici arasındaki ayrımı doğru yapmaktır.
302 hangi durumlarda doğru seçimdir?
302, kaynak URL'nin dizinde kalmasını istediğiniz geçici durumlar için doğru seçimdir. Tipik örnekler şunlardır:
- Bir ürün sayfasını birkaç günlüğüne bir kampanya sayfasına yönlendirip sonra eski hâline döndürecekseniz.
- Giriş yapmamış kullanıcıyı hesap sayfasından giriş sayfasına göndermek gibi duruma bağlı yönlendirmelerde.
- Bir sayfanın yeni tasarımını kısa bir süre için ayrı bir adreste deniyorsanız.
Google'ın dokümanı, geçici yönlendirmede dizine ekleme sürecinin hedefi standart URL olarak kullanmadığını, hedefin ancak başka standartlaştırma sinyalleri varsa dizine eklenebileceğini söyler. Yani 302 ile "asıl adres hâlâ eski adres" mesajı verirsiniz.
Geçici yönlendirme aylarca kalırsa ne olur?
Kalıcı bir taşımada 302 kullanmak, Google'a eski adresin asıl adres olmaya devam ettiğini söylemektir. Bu durumda arama sonuçlarında eski URL görünmeye devam edebilir ya da Google diğer sinyallere bakarak kendi kararını verir; standart adres seçimi sizin kontrolünüzden çıkar.
Bu hata en çok varsayılan davranışı 302 olan araçlarla yapılır. Apache dokümanına göre Redirect komutunda durum belirtmezseniz varsayılan kod 302'dir; nginx'te yalnız adres verilen return komutu da 302 üretir. Taşıma kalıcıysa kodu her zaman açıkça yazın ve yayından sonra test edin.
404, 410 ve soft 404 arasındaki fark nedir?
404 "bu adreste bir şey bulunamadı", 410 "buradaki içerik kalıcı olarak kaldırıldı" anlamına gelir; soft 404 ise hata içeriği gösterdiği hâlde sunucudan 200 (başarılı) kodu dönen sayfadır. İlk ikisi doğru davranıştır, üçüncüsü bir yapılandırma hatasıdır. Google 404 ile 410'u aynı şekilde işler, soft 404'ü ise Search Console'da ayrı bir sorun olarak raporlar.
| Durum | Sunucu kodu | Kullanıcının gördüğü | Google'ın yorumu | Ne zaman uygun? |
|---|---|---|---|---|
| 404 Not Found | 404 | "Sayfa bulunamadı" ekranı | İçerik yok; dizindeyse çıkarılır, tarama sıklığı azalır | Adres hiç var olmadıysa ya da yerine geçecek sayfa yoksa |
| 410 Gone | 410 | "Bu içerik kaldırıldı" ekranı | 404 ile aynı işlenir | İçeriği bilerek ve kalıcı olarak kaldırdığınızda |
| Soft 404 | 200 | "Ürün bulunamadı" yazısı ya da boş sayfa | Hata sayfası olduğundan şüphelenir, Search Console'da Soft 404 olarak raporlar | Hiçbir zaman; düzeltilmesi gerekir |
| Alakasız 301 | 301 | Ana sayfa ya da genel bir sayfa | Soft 404 olarak değerlendirilebilir | Toplu yönlendirmede kaçınılmalı |
404 hatası sitenize zarar verir mi?
Kaldırılmış bir sayfanın 404 döndürmesi tek başına bir sorun değildir. Google'ın Sayfa dizine ekleme raporu yardım sayfası, yerine bir şey konmadan kaldırılan sayfalarda 404'ün sorun olmadığını belirtir ve genel olarak yalnız kendi sitenizden bağlantı verdiğiniz ya da site haritasında listelediğiniz 404'leri düzeltmenizi önerir. Başka bir sitenin yanlış yazdığı bir adresin 404 vermesi tamamen normaldir.
Zarar 404'ün kendisinden değil, kaçırılan fırsattan doğar. Değerli bağlantıları olan, hâlâ trafik alan ya da reklamlarda kullanılan bir ürün sayfası 404'e düşerse o trafik ve bağlantı değeri boşa gider. Bu yüzden her 404'ü değil, değer taşıyan 404'leri yönlendirin.
410 kodu sayfayı dizinden daha hızlı mı çıkarır?
Google'ın güncel dokümanı, 429 dışındaki tüm 4xx kodlarının aynı şekilde işlendiğini açıkça yazar. Yani 410'u yalnız "Google'dan daha hızlı silinsin" diye seçmenin belgelenmiş bir karşılığı yoktur. 410 yine de işe yarar: ekibinize ve diğer tarayıcılara "bu sayfa bilerek kaldırıldı" bilgisini verir, log incelemelerinde kasıtlı kaldırmaları kırık bağlantılardan ayırmanızı kolaylaştırır.
Soft 404 nasıl oluşur?
Soft 404, sayfanın hata gibi görünüp başarı kodu döndürmesiyle oluşur. E-ticarette en sık beş kaynağı vardır:
- Silinen ürünün adresinde "Bu ürün artık satışta değil" yazan ama 200 döndüren şablon sayfa.
- İçinde hiç ürün kalmamış, yalnız başlık ve filtrelerden oluşan boş kategori sayfaları.
- Sonuç vermeyen site içi arama sayfalarının dizine açık bırakılması.
- Kaldırılan çok sayıda sayfanın toptan ana sayfaya yönlendirilmesi.
- İçeriği JavaScript ile yükleyen sitelerde, veri gelmediğinde boş kalan ama 200 dönen sayfalar.
Çözüm, sayfanın gerçek durumuna göre değişir. Sayfa gerçekten yoksa 404 ya da 410 döndürün; sayfa var ama ince görünüyorsa içeriğini zenginleştirin. Örneğin geçici olarak boşalan bir kategori sayfasına açıklama metni, alt kategori bağlantıları ve benzer ürünler ekleyebilirsiniz.
Bakım sırasında hangi kodu döndürmelisiniz?
Planlı bakım ya da kısa kesintilerde doğru kod 503'tür (Service Unavailable); sayfa var ama şu an hizmet veremiyor demektir. Bakım boyunca bütün sayfaları bir "bakımdayız" sayfasına yönlendirmek ya da bu sayfayı 200 koduyla sunmak hatalıdır; ikincisi sitenin geniş bölümünü soft 404'e düşürebilir.
Google 5xx hatalarında tarama hızını düşürür ve hata kalıcılaşırsa URL'leri dizinden çıkarır. Bu yüzden bakımı mümkün olduğunca kısa tutun, 503 cevabına sitenin ne zaman döneceğini bildiren Retry-After başlığını ekleyin ve bakımı birkaç saatle sınırlamaya çalışın.
Yönlendirme zinciri ve döngüsü nedir, nasıl düzeltilir?
Yönlendirme zinciri, bir URL'nin son hedefe tek adımda değil birden fazla ara adres üzerinden ulaşmasıdır; döngü ise adreslerin birbirine yönlendirip hiçbir zaman son hedefe varmamasıdır. Zincir yavaşlık ve sinyal kaybı riski yaratır, döngü ise sayfayı tamamen erişilemez kılar. İkisi de çoğunlukla farklı zamanlarda eklenen kuralların üst üste binmesiyle oluşur.
Yönlendirme zinciri nasıl oluşur?
Tipik bir zincir, yıllar içinde yapılan iyi niyetli değişikliklerden doğar. Bir ürün sayfasının şu yolu izlediğini düşünün:
- http://example.com/urun/deri-canta adresine istek gelir, sunucu https'e yönlendirir.
- https://example.com/urun/deri-canta adresi www'lu sürüme yönlendirir.
- https://www.example.com/urun/deri-canta adresi, geçen yıl değişen slug yüzünden https://www.example.com/urun/el-yapimi-deri-canta adresine gider.
- Bu adres de altyapı değişikliğinden sonra https://www.example.com/products/el-yapimi-deri-canta adresine yönlendirir.
Kullanıcı sonunda doğru sayfaya ulaşır ama tarayıcı dört ayrı istek yapar ve mobil bağlantıda her adım bekleme süresi ekler. Google'ın site taşıma rehberi doğrudan son hedefe yönlendirmeyi, bu mümkün değilse zinciri kısa tutmayı, ideal olarak 3 adımı geçmemeyi ve 5'in altında kalmayı önerir. Googlebot 10 adıma kadar izlese de bu sınıra yaklaşmak için hiçbir neden yoktur.
Yönlendirme döngüsü nasıl oluşur?
Döngü, A adresinin B'ye, B'nin de doğrudan ya da birkaç adım sonra yeniden A'ya yönlendirmesidir. Tarayıcı birkaç denemeden sonra "çok fazla yönlendirme" hatası gösterir (Chrome'da ERR_TOO_MANY_REDIRECTS), Search Console da bu URL'yi "Yönlendirme hatası" olarak raporlar. En sık karşılaşılan döngü nedenleri şunlardır:
- CDN ile sunucu arasındaki SSL ayarının "esnek" modda kalması: CDN sunucuya http ile bağlanır, sunucu https'e yönlendirir, CDN yine http ile ister.
- Sondaki eğik çizgiyi ekleyen bir kural ile kaldıran başka bir kuralın aynı anda çalışması.
- Platform panelinde tanımlanan bir yönlendirmenin, sunucu ya da CDN düzeyindeki ters yönlü bir kuralla çakışması.
- Dil ya da para birimi seçimine göre çalışan bir yönlendirmenin, çerez okunamadığında kendini tekrar etmesi.
Zinciri tek adıma nasıl indirirsiniz?
- Tüm yönlendirme kurallarınızı tek bir tabloda toplayın: platform paneli, sunucu yapılandırması, CDN kuralları ve eklentiler.
- Her kaynak URL için son hedefi bulun ve hedefin de yönlendirme yapıp yapmadığını kontrol edin.
- Ara adımları atlayıp her eski adresi doğrudan son hedefe bağlayın: A→B ve B→C yerine A→C ve B→C.
- Protokol ve alan adı normalizasyonunu (http→https, www) tek kuralda birleştirin; http://example.com istekleri tek adımda https://www.example.com adresine gitsin.
- Değişikliği yayına aldıktan sonra eski adreslerin hepsini bir tarama aracıyla yeniden tarayıp zincir kalmadığını doğrulayın.
Bu temizlik, kapsamlı bir teknik incelemenin yalnız bir parçasıdır. İncelemenin tamamını adım adım görmek isterseniz teknik SEO denetimi rehberine bakabilirsiniz; burada yalnız yönlendirmeye özgü kısma odaklanıyoruz.
Meta refresh ve JavaScript yönlendirmesi neden son çaredir?
Meta refresh ve JavaScript yönlendirmesi, yönlendirmeyi sunucu yerine tarayıcıda (istemci tarafında) yapan yöntemlerdir ve yalnız sunucu tarafı yönlendirme mümkün değilse kullanılmalıdır. Sunucu yönlendirmesinde tarayıcı eski sayfayı hiç indirmeden yeni adrese gider; istemci tarafı yöntemlerde önce eski sayfa yüklenir, ardından yönlendirme çalışır. Bu hem yavaştır hem de sinyalin her tarayıcı tarafından okunacağını belirsizleştirir.
Meta refresh Google'da nasıl yorumlanır?
Meta refresh, sayfanın head bölümüne eklenen ve belirli bir süre sonra başka adrese geçilmesini söyleyen bir etikettir. Google'ın dokümanına göre anında (0 saniye) çalışan meta refresh kalıcı yönlendirme, gecikmeli olan ise geçici yönlendirme olarak yorumlanır. "5 saniye içinde yeni sitemize yönlendiriliyorsunuz" türü sayfalar bu yüzden kalıcı bir taşımada yanlış sinyal verir.
JavaScript yönlendirmesinin sakıncası nedir?
window.location değiştirilerek yapılan JavaScript yönlendirmesi Google tarafından ancak sayfa işlendikten (render edildikten) sonra görülür. Google bu yöntemi yalnız sunucu tarafı ya da meta refresh yönlendirmesi yapamadığınızda kullanmanızı önerir. JavaScript çalıştırmayan tarayıcılar, bazı yapay zekâ arama botları ve bağlantı önizlemesi üreten mesajlaşma servisleri ise yönlendirmeyi hiç görmeyebilir.
Yönlendirmeler yapay zekâ aramalarını nasıl etkiler?
Yapay zekâ destekli arama ve sohbet araçları da cevaplarında kaynak olarak URL gösterir; bu adresler taşımadan sonra kırılırsa hem kullanıcı hem de aracın tarayıcısı hata sayfasıyla karşılaşır. Sunucu tarafı 301, bu tarayıcıların çoğunun izleyebildiği en basit sinyaldir; JavaScript ile yapılan yönlendirmeler ise JavaScript çalıştırmayan botlar için görünmez kalabilir. Bu yüzden yapay zekâ görünürlüğü açısından da kural değişmez: sunucu tarafında, tek adımda ve kalıcı yönlendirme. Konunun genel çerçevesini yapay zekâ aramalarında görünürlük rehberinde anlattık.
Tek sayfalık uygulamalarda 404 nasıl verilir?
React ya da Vue gibi çerçevelerle yapılan ve sayfa geçişlerini tarayıcıda yöneten sitelerde sunucu çoğu zaman her adrese 200 döndürür, olmayan sayfalar da "bulunamadı" bileşeniyle gösterilir. Bu yapı kendiliğinden soft 404 üretir. Google'ın JavaScript SEO dokümanı iki çözüm önerir: sunucunun 404 döndürdüğü bir adrese (örneğin /not-found) JavaScript ile yönlendirmek ya da hata sayfalarına JavaScript ile noindex robots etiketi eklemek. Mümkünse sunucu tarafında oluşturma (SSR) kullanıp olmayan adreslere doğrudan 404 döndürmek en temiz yoldur.
| Yöntem | Nerede çalışır? | Google'ın yorumu | Kullanılmalı mı? |
|---|---|---|---|
| Sunucu tarafı 301 / 308 | Sunucu, CDN ya da platform paneli | Kalıcı; hedef standart URL olur | Varsayılan tercih |
| Sunucu tarafı 302 / 307 | Sunucu, CDN ya da platform paneli | Geçici; kaynak standart kalır | Yalnız geçici durumlarda |
| Anında meta refresh (0 sn) | Sayfanın HTML'i | Kalıcı yönlendirme | Sunucuya erişim yoksa |
| Gecikmeli meta refresh | Sayfanın HTML'i | Geçici yönlendirme | Kalıcı taşımada kaçının |
| JavaScript yönlendirmesi | Tarayıcı | Sayfa işlendikten sonra görülür | Son çare |
| "Taşındık, buraya tıklayın" bağlantısı | Sayfa içeriği | Taşınma sinyali olarak güvenilmez | Yalnız kullanıcıya ek açıklama olarak |
Canonical ile 301 yönlendirme arasındaki fark nedir?
301 yönlendirme eski adresi kullanıcı için de kapatır; canonical etiketi ise iki adresi de açık bırakıp Google'a hangisinin asıl sürüm olduğunu söyler. Yönlendirmede ziyaretçi eski URL'yi hiç göremez, canonical'da her iki sayfa da açılır ve yalnız sinyaller tercih edilen adreste toplanır. Bu yüzden kullanıcının hâlâ görmesi gereken kopyalar için canonical, artık var olmaması gereken adresler için yönlendirme kullanılır.
Google'ın kopya URL'leri birleştirme dokümanı standartlaştırma yöntemlerini etki gücüne göre sıralar: yönlendirmeler güçlü bir sinyaldir, rel="canonical" etiketi güçlü bir sinyaldir, site haritasına eklenmek ise zayıf bir sinyaldir. Yöntemler birlikte kullanıldığında etkileri birbirini destekler. Aynı doküman, robots.txt dosyasını ve site içinde noindex etiketini standart sürüm seçmek için kullanmamanızı açıkça söyler.
| Durum | Doğru araç | Neden? |
|---|---|---|
| Ürünün slug'ı değişti | 301 | Eski adresin kullanıcı için de var olmaması gerekir |
| İki benzer blog yazısını tek yazıda birleştirdiniz | 301 | Okur ve bağlantılar tek sayfada toplanmalı |
| http ve https, www'lu ve www'suz sürümler | 301 | Sitenin tek bir resmi adresi olmalı |
| UTM ya da gclid parametreli adresler | Canonical | Yönlendirme ölçümü bozabilir |
| Sıralama ve filtre parametreleri (?sirala=fiyat) | Canonical | Kullanıcı bu görünümlere ihtiyaç duyar |
| Aynı ürün iki farklı kategori yolundan açılıyor | Canonical; mümkünse tek URL yapısı | Ziyaretçi iki yoldan da gelebilir |
| Renk varyantları ayrı adreslerde, içerik neredeyse aynı | Canonical ya da tek sayfada birleştirip 301 | Karar, varyantların ayrı aranıp aranmadığına bağlı |
Uygulamada ikisini birlikte kullanırsınız: yönlendirme hedefi olan her sayfa, kendini gösteren (self-referencing) bir canonical etiketi taşımalıdır. Hedef sayfanın canonical'ı başka bir adresi, özellikle de eski adresi gösterirse Google'a çelişkili iki mesaj verirsiniz. Canonical, başlık ve açıklama gibi sayfa düzeyindeki öğelerin genel kurulumunu on-page SEO kontrol listesinde ayrıca ele aldık.

http, www ve sondaki eğik çizgi: tek adres nasıl seçilir?
Aynı sayfa http ve https, www'lu ve www'suz olmak üzere dört farklı adresten açılabiliyorsa Google'a dört kopya sunuyorsunuz demektir; çözüm bir sürümü seçip diğerlerini tek adımda ona 301 ile yönlendirmektir. Bu işleme URL normalizasyonu denir ve genellikle tek seferlik bir sunucu ya da platform ayarıdır. Doğru yapıldığında kopya sinyaller birleşir ve zincir riski ortadan kalkar.
http'den https'e geçişte nelere dikkat edilmeli?
Google eşdeğer sayfalar arasında https sürümünü standart olarak tercih eder; ancak geçersiz sertifika, güvensiz kaynaklar ya da https'ten http'ye yönlendirme gibi sorunlar bu tercihi bozabilir. Geçişte tüm http adreslerini aynı yoldaki https adresine 301 ile yönlendirin, iç bağlantıları ve canonical etiketlerini https'e çevirin. Geçiş oturduktan sonra tarayıcıya sitenin yalnız https ile açılmasını söyleyen HSTS başlığını eklemek, ilk isteklerdeki http adımını da kaldırır. Sertifika ve barındırma tarafını domain, hosting ve SSL rehberinde ayrıntılı anlattık.
http'den https'e geçiş için Search Console'daki Adres değişikliği aracına gerek yoktur; Google bu geçişi kendisi algılar. Araç yalnız alan adı ya da alt alan adı değiştiğinde kullanılır.
www'lu mu, www'suz mu olmalı?
Arama sıralaması açısından ikisi arasında fark yoktur; önemli olan birini seçip her yerde tutarlı kullanmaktır. Seçtiğiniz sürümü canonical etiketlerinde, site haritasında, iç bağlantılarda ve reklam hedef URL'lerinde aynı biçimde yazın. Diğer sürüm her zaman tek adımda seçilen sürüme gitmelidir; www'suz http adresi önce https'e, sonra www'ya giderse iki adımlık gereksiz bir zincir oluşur.
Sondaki eğik çizgi ve büyük-küçük harf nasıl yönetilir?
/kategori/ayakkabi ile /kategori/ayakkabi/ teknik olarak iki ayrı URL'dir; sunucu ikisine de 200 döndürüyorsa kopya oluşur. Bir biçim seçin, diğerini ona 301 ile yönlendirin ve iç bağlantılarda yalnız seçtiğiniz biçimi kullanın. Hazır altyapıların çoğu bunu kendisi yönetir; özel yazılımlarda ve kendi barındırdığınız WordPress kurulumlarında kontrol etmeniz gerekir.
URL'nin yol kısmı büyük-küçük harfe duyarlıdır: /Urun/Canta ile /urun/canta farklı adreslerdir. Tüm URL'leri küçük harfle üretmek en güvenli yoldur. Büyük harfli adresleri küçüğe çeviren bir kural yazacaksanız Türkçeye dikkat edin: Türkçe yerel ayarıyla küçültülen "I" harfi "ı" olur ve /KAMPANYA-IKI gibi bir adres beklenmedik biçimde /kampanya-ıkı adresine dönüşebilir.
Türkçe karakterli URL'lerde ne yapılmalı?
ç, ş, ğ, ı, ö, ü gibi harfler URL'de yüzde kodlamasıyla taşınır; örneğin "ü" harfi %C3%BC olarak gönderilir. Tarayıcı bunları okunur biçimde gösterse de sunucu, CDN ve yönlendirme araçları kodlanmış biçimi görür. Eski sitenizde Türkçe karakterli adresler varsa eşleme tablosunda hem okunur hem kodlanmış biçimi kontrol edin; yeni yapıda yalnız Latin harfli, küçük harfli ve tireyle ayrılmış slug'lar kullanın. ikas'ın yardım sayfası da özel karakter içeren slug'lar için panelden yönlendirme tanımlanmasının desteklenmediğini belirtir.
Parametreli URL'ler yönlendirilmeli mi?
Takip ve filtre parametreleri çoğu durumda yönlendirilmemeli, canonical ile yönetilmelidir. ?utm_source= ya da ?gclid= ile başlayan parametreler reklam ve analiz ölçümü içindir; bunları parametresiz adrese yönlendiren bir kural ölçümü bozabilir. Sayfa kendi temiz adresini canonical olarak gösterdiğinde sinyaller zaten tek adreste birleşir.
Yönlendirme yaparken parametreleri korumayı da unutmayın. Eski bir kampanya adresi UTM parametreleriyle paylaşılmışsa ve yönlendirme kuralı sorgu dizesini atıyorsa, gelen ziyaretler analiz aracında kaynaksız görünür. Kuralı yazdıktan sonra parametreli bir adresle test edin ve ölçümü GA4 e-ticaret rehberinde anlattığımız raporlardan doğrulayın.
Site taşırken yönlendirme haritası nasıl hazırlanır?
Yönlendirme haritası, eski sitedeki her önemli URL'nin yeni sitede hangi adrese gideceğini gösteren bire bir eşleme tablosudur ve site taşımanın SEO açısından en kritik belgesidir. Google'ın site taşıma rehberi de ilk adım olarak eski URL'leri yeni URL'lerle eşlemeyi, ardından bu eşlemeye göre sunucu tarafı kalıcı yönlendirmeler kurmayı önerir. Harita yayından önce hazırlanır, yayın günü uygulanır ve aylarca referans olarak kullanılır.
Altyapı değiştirirken ürün, müşteri ve sipariş verisinin nasıl aktarılacağını ikas'a geçişte veri ve SEO kaybını önleme rehberinde, tasarım yenileme kararlarını da web sitesi yenileme rehberinde anlattık. Burada yalnız yönlendirme haritasının nasıl kurulacağına odaklanıyoruz.
Eski URL envanteri nereden çıkarılır?
Eksiksiz bir envanter tek kaynaktan çıkmaz; en az beş kaynağı birleştirmeniz gerekir:
- Mevcut XML site haritası ve platformun ürün, kategori, sayfa ve blog dışa aktarımları.
- Search Console'daki Performans raporu: son 12-16 ayda gösterim ya da tıklama almış tüm sayfalar.
- GA4'teki açılış sayfaları raporu: organik, reklam ve e-posta trafiği alan adresler.
- Bağlantı analizi araçlarında başka sitelerden bağlantı alan URL'ler, özellikle haber ve blog bağlantıları.
- Sunucu kayıtları (log) ve eski sitenin bir tarama aracıyla tam taraması; menüde görünmeyen ama erişilebilen eski sayfaları burada bulursunuz.
Bunlara reklam hesaplarındaki hedef URL'leri, e-posta şablonlarındaki bağlantıları, sosyal medya profillerindeki adresleri ve basılı materyallerdeki QR kodlarının gittiği adresleri de ekleyin. Bu adresler arama raporlarında görünmese de gerçek ziyaretçi getirir. Search Console raporlarını nasıl filtreleyip dışa aktaracağınızı Google Search Console rehberinde bulabilirsiniz.
Eşleme kuralları nelerdir?
- Bire bir eşleme: Eski ürün yeni sitede de varsa eski URL doğrudan aynı ürünün yeni URL'sine gider.
- En yakın karşılık: Birebir karşılığı yoksa aynı arama niyetine cevap veren en yakın sayfa seçilir; örneğin kaldırılan bir modelin yerine gelen yeni model.
- Birleştirme: Birkaç eski sayfa tek bir yeni sayfada toplanıyorsa hepsi o sayfaya gider; Google birkaç eski sayfanın tek yeni sayfada birleştirilmesini sorun saymaz.
- Bilinçli kaldırma: Karşılığı, trafiği ve bağlantısı olmayan sayfalar 404 ya da 410 döndürür.
- Ana sayfaya toplu yönlendirme yok: Google, çok sayıda eski URL'yi ana sayfa gibi alakasız tek bir hedefe yönlendirmenin kullanıcıyı şaşırttığını ve soft 404 olarak değerlendirilebileceğini belirtir.
Yönlendirme haritası şablonu nasıl olmalı?
Harita bir tablo dosyasında tutulur ve her satır tek bir eski URL'yi temsil eder. Aşağıdaki şablon, ekiplerin en çok ihtiyaç duyduğu sütunları içerir; örnek satırlardaki adresler ve sayılar tamamen varsayımsaldır.
| Eski URL | Yeni URL | Sayfa türü | Kod | 12 ay organik tıklama | Dış bağlantı | Eşleme türü | Test sonucu |
|---|---|---|---|---|---|---|---|
| /urun/deri-cuzdan-kahve | /urunler/deri-cuzdan-kahverengi | Ürün | 301 | 420 | 3 | Bire bir | Tek adım, hedef 200 |
| /kategori/cuzdanlar | /koleksiyon/erkek-cuzdan | Kategori | 301 | 1.150 | 5 | Bire bir | Tek adım, hedef 200 |
| /urun/kartlik-eski-model | /urunler/kartlik-yeni-model | Ürün | 301 | 85 | 1 | En yakın karşılık | Tek adım, hedef 200 |
| /blog/cuzdan-bakimi-1 | /blog/deri-cuzdan-bakimi | Blog | 301 | 60 | 0 | Birleştirme | Tek adım, hedef 200 |
| /kampanya/yaz-indirimi-eski | Yok | Kampanya | 410 | 0 | 0 | Bilinçli kaldırma | 410 dönüyor |
| /sayfa/bayilik-basvurusu | /bayilik | Kurumsal | 301 | 12 | 0 | Bire bir | Kontrol bekliyor |
Son sütun yayından sonra doldurulur: her satır için eski URL'nin tek adımda yeni URL'ye gittiği ve yeni URL'nin 200 döndürdüğü kontrol edilir. Trafik ve bağlantı sütunları da önceliklendirme sağlar; binlerce satırlık bir haritada önce değer taşıyan sayfaları elle kontrol eder, kalanını toplu taramaya bırakırsınız. Tabloya "sorumlu" ve "not" sütunları eklemek, birden fazla kişinin çalıştığı taşımalarda karışıklığı önler.
Hangi URL'ler önce eşlenmeli?
Binlerce satırlık bir haritada her satıra aynı özeni göstermek mümkün değildir; basit bir puanla hangi adreslerin elle kontrol edileceğini belirleyebilirsiniz. Aşağıdaki ağırlıklar örnek amaçlıdır, kendi sitenize göre uyarlayın:
- Son 12 aydaki organik tıklamalar: her tıklama 1 puan.
- Bağlantı veren her farklı dış site: 50 puan.
- Reklam, e-posta ya da basılı QR kodunda kullanılıyorsa: 500 puan.
- Son 12 ayda sipariş getiren oturumlar: her sipariş 20 puan.
Örnek rakamlarla hesaplayalım: 420 tıklama alan, 3 farklı siteden bağlantı alan ve 6 sipariş getiren bir ürün sayfası 420 + 150 + 120 = 690 puan alır. 85 tıklamalı, tek bağlantılı ve kataloğun QR kodunda kullanılan eski bir model sayfası ise 85 + 50 + 500 = 635 puanla neredeyse aynı önceliğe çıkar; tıklaması az olsa da basılı materyal yüzünden kritik bir adrestir. Belirlediğiniz eşiğin üzerindeki satırları elle, kalanını toplu tarama ile kontrol edersiniz.
Kural tabanlı mı, satır satır mı yönlendirmeli?
URL yapısı düzenli biçimde değiştiyse (örneğin /urun/ yerine /urunler/) tek bir desen kuralı binlerce satırın işini görebilir; düzensiz değişikliklerde satır satır eşleme gerekir. Desen kuralı hızlıdır ama istisnaları kaçırabilir; bu yüzden en çok trafik alan sayfaları desen kuralına bıraksanız bile tek tek test edin. Hazır altyapıların çoğu yalnız tam adres eşlemesi kabul eder, bu durumda haritayı platformun toplu içe aktarma dosyasına dönüştürürsünüz.
Yayın günü ve sonrasında hangi adımlar izlenir?
- Yönlendirmeleri yeni site yayına girdiği anda etkin olacak şekilde hazırlayın; ikas'ın yardım sayfası da yönlendirmeleri alan adını bağlamadan önce tanımlamayı önerir.
- Yeni sitedeki iç bağlantıları, canonical etiketlerini ve varsa hreflang işaretlemelerini yeni adreslere göre güncelleyin.
- Yalnız yeni ve 200 döndüren URL'leri içeren site haritasını Search Console'a gönderin.
- Alan adı değiştiyse eski mülk için Search Console'da Adres değişikliği aracını kullanın.
- Haritadaki tüm eski URL'leri bir tarama aracıyla liste modunda tarayıp kodları ve son hedefleri kontrol edin.
- İlk iki hafta Sayfa dizine ekleme raporunu ve 404 kayıtlarını her gün, sonraki iki ay haftada bir izleyin.
Google, taşıma sırasında arama görünürlüğünün geçici olarak dalgalanabileceğini ve küçük-orta ölçekli sitelerde sayfaların çoğunun taşınmasının birkaç hafta sürebileceğini belirtir. Bu dönemde aceleyle yönlendirmeleri değiştirmek yerine haritadaki hataları düzeltmeye odaklanın; her ani değişiklik yeni bir zincir ya da döngü riski demektir.
Taşımadan sonraki 90 günde neyi, ne zaman kontrol etmelisiniz?
| Zaman | Kontrol | Kaynak |
|---|---|---|
| Yayın günü | Eski URL listesinin tamamı tek adımda yeni adrese gidiyor mu; noindex ve robots.txt engelleri kalktı mı? | Tarama aracı, curl |
| 1-7. gün | Yeni 404'ler, yönlendirme hataları, sunucu hataları; sipariş ve form akışları çalışıyor mu? | Sayfa dizine ekleme raporu, GA4, sunucu kayıtları |
| 8-30. gün | Yeni URL'ler dizine giriyor mu, eski URL'ler "Yönlendirmeli sayfa" olarak görünüyor mu; sayfa gruplarına göre organik tıklamalar nasıl? | Performans raporu, Sayfa dizine ekleme raporu |
| 31-90. gün | Kalan 404'lerin temizliği, iç bağlantı taraması, dış bağlantı sahiplerine güncelleme ricası | Tarama aracı, bağlantı raporu |
| 90. günden sonra | Aylık bakım rutini ve yönlendirme listesinin gözden geçirilmesi | Takvimli kontrol |
Tablodaki süreler, Google'ın küçük-orta sitelerde taşımanın birkaç hafta sürebileceği yönündeki açıklamasına göre kurgulanmış bir örnektir; büyük kataloglarda her aşama uzayabilir. Organik tıklamaları yalnız taşımadan hemen önceki haftalarla değil, mevsimselliği hesaba katmak için bir önceki yılın aynı haftalarıyla da kıyaslayın.
Alan adı değişiminde Adres değişikliği aracı nasıl kullanılır?
Adres değişikliği aracı, sitenizi bir alan adından ya da alt alan adından başka birine taşıdığınızı Google'a bildirir ve yalnız yönlendirmeler kurulduktan sonra kullanılır. Google'ın yardım sayfasına göre her iki mülkün de Search Console'da sahibi olmanız ve en azından eski ana sayfadan yeni ana sayfaya 301 yönlendirmenin çalışıyor olması gerekir. Taşımanın etkisi 180 gün sürer; yönlendirmeleri en az bu süre, eski adreslere hâlâ arama trafiği geliyorsa daha uzun tutmanız istenir.
http'den https'e geçişte, www tercihinde ve aynı alan adı içindeki yol değişikliklerinde bu araca gerek yoktur. Bu durumlarda yönlendirmeler ve güncel site haritası yeterlidir.
Yönlendirmeler ne kadar süre korunmalı?
Yönlendirmeler mümkün olduğunca uzun, genel kural olarak en az bir yıl korunmalıdır; Google'ın site taşıma rehberindeki öneri de budur. Bir yıl, Google'ın eski adresleri yeniden tarayıp sinyalleri aktarması için güvenli bir süredir; ancak dış bağlantılar, yer imleri ve basılı materyaller bu süreden çok daha uzun yaşar. Bu yüzden değerli bağlantıları olan adreslerin yönlendirmelerini hiç kaldırmamak çoğu zaman en ucuz sigortadır.
Temizlik gerekiyorsa, örneğin yönlendirme sayısı platform sınırına yaklaştıysa, önce son 12 ayda hiç ziyaret almamış ve dış bağlantısı olmayan kuralları kaldırın. Tarayıcıların ve arama motorlarının 301 yanıtlarını önbelleğe alabildiğini de unutmayın: bir yönlendirmeyi kaldırmak ya da hedefini değiştirmek bazı kullanıcılar için hemen etkili olmayabilir. Bu nedenle 301'i yalnız gerçekten kalıcı kararlar için kullanın.




