← Blog'a Dön
301 ve 302 Yönlendirmesi: SEO'ya Etkisi ve Doğru Kullanım
Teknik SEO 27 dk okuma Yayın: Güncelleme:

301 ve 302 Yönlendirmesi: SEO'ya Etkisi ve Doğru Kullanım

301 kalıcı yönlendirme ile 302 geçici yönlendirme arasındaki fark nedir? Link equity aktarımı, yönlendirme zincirleri, .htaccess, Nginx, Next.js ve Astro örnekleriyle kapsamlı rehber.

HTTP yönlendirmeleri, web’in en temel ama en sık yanlış anlaşılan mekanizmalarından biridir. Bir sayfayı kaldırdığınızda, alan adınızı değiştirdiğinizde ya da HTTP’den HTTPS’e geçiş yaptığınızda doğru yönlendirme kodunu seçmek; hem kullanıcı deneyimi hem de arama motoru sıralamaları açısından kritik önem taşır. Yanlış bir seçim, biriktirdiğiniz link equity’nin önemli bir kısmını eritebilir; bir yönlendirme zinciri ise Googlebot’un sitenizi taramasını ciddi ölçüde yavaşlatabilir.

Bu rehberde 301 ve 302 kodları arasındaki farkı, 307 ile 308’in nereye girdiğini, link equity aktarımının gerçekte nasıl çalıştığını ve Apache, Nginx, Cloudflare, WordPress, Next.js ile Astro’da yönlendirmeleri nasıl doğru şekilde uygulayacağınızı ele alacağız. Teknik SEO hizmetlerimiz kapsamında bu konuyu derinlemesine inceliyoruz; ancak bu yazı bağımsız bir başlangıç noktası olarak tasarlandı.


HTTP Yönlendirmesi Nedir?

HTTP yönlendirmesi, bir sunucunun istemciye (tarayıcı veya arama motoru botu) “aradığın kaynak artık burada değil, şu adrese git” mesajı vermesidir. Teknik açıdan bu, sunucunun Location başlığında yeni URL’yi içeren bir yanıt döndürmesiyle gerçekleşir.

Bir kullanıcı https://ornek.com/eski-sayfa adresine gittiğinde sunucu şu yanıtı üretir:

HTTP/1.1 301 Moved Permanently
Location: https://ornek.com/yeni-sayfa

Tarayıcı bu yanıtı alır, Location başlığındaki adresi okur ve kullanıcıyı oraya yönlendirir. Kullanıcı genellikle bu geçişin farkına bile varmaz; ancak arama motoru botları her adımı kaydeder ve yönlendirme türüne göre farklı kararlar alır.

Yönlendirme Türlerinin Genel Tablosu

KodAdSEO EtkisiKalıcı mı?Metod Korunur mu?
301Moved PermanentlyLink equity aktarılırEvetHayır (POST > GET olabilir)
302Found (Geçici)Link equity aktarılmazHayırHayır (POST > GET olabilir)
307Temporary RedirectLink equity aktarılmazHayırEvet
308Permanent RedirectLink equity aktarılırEvetEvet

301 Kalıcı Yönlendirme: Ne Zaman Kullanılır?

301, bir URL’nin kalıcı olarak başka bir adrese taşındığını söyleyen HTTP durum kodudur. “Moved Permanently” (Kalıcı Olarak Taşındı) adını taşır ve arama motorlarına şu mesajı verir: “Bu sayfanın varlığını eskisiyle ilişkilendirmeni bekleme; artık yalnızca yeni adresi dizine ekle.”

301’in Doğru Kullanım Senaryoları

Alan adı değişikliği: eskisirket.com adresinden yenisirket.com adresine geçiş yaptığınızda tüm URL’leri 301 ile yönlendirmeniz gerekir. Bu sayede eski alan adına gelen organik trafik ve backlink değeri yeni adrese aktarılır.

Site yeniden yapılandırması: URL yapısını değiştirdiniz; /kategori/urun-adi yerine /urunler/urun-adi kullandınız. Eski URL’lere gelen tüm istekler 301 ile yeni yapıya yönlendirilmelidir.

İçerik birleştirme: İki benzer sayfayı tek bir güçlü sayfada topladığınızda, her iki eski URL de 301 ile yeni sayfaya yönlendirilir. Bu, kanonik sinyali güçlendirir.

HTTP’den HTTPS’e geçiş: Siteniz hâlâ HTTP üzerinden hizmet veriyorsa ve HTTPS sertifikası aldıysanız, tüm HTTP URL’lerini 301 ile HTTPS eşdeğerlerine yönlendirmeniz gerekir.

www ile non-www arasında tercih: Her iki varyant da çalışıyorsa arama motorları bunu iki ayrı site olarak algılayabilir. Birini tercih edip diğerini 301 ile yönlendirmelisiniz.

301 Yönlendirmesinin Önbelleğe Alınması

301’in önemli bir özelliği, tarayıcılar tarafından agresif biçimde önbelleğe alınmasıdır. Chrome ve Firefox, 301 yanıtlarını varsayılan olarak süresiz önbellekte tutar. Bu, yanlış bir 301’i geri almanın gerçek anlamda zor olduğu anlamına gelir: Kullanıcıların tarayıcıları önbelleği temizleyene kadar eski yönlendirmeyi kullanmaya devam eder. Bu yüzden 301 eklemeden önce karara %100 emin olduğunuzdan emin olun.


302 Geçici Yönlendirme: Ne Zaman Kullanılır?

302, “Found” (Bulundu) adını taşır. Teknik anlamı şudur: Kaynak şu an başka bir adreste, ama bu geçici bir durum. Arama motorları eski URL’yi dizinde tutmaya devam eder.

302’nin Doğru Kullanım Senaryoları

A/B testleri: Bir landing page’in iki varyantını test ediyorsanız ve orijinal URL’yi değiştirmeyi planlamıyorsanız, ziyaretçileri geçici olarak test URL’sine 302 ile yönlendirin.

Bakım modu: Sitenizi bakıma aldığınızda kullanıcıları geçici bir bakım sayfasına yönlendirmek için 302 kullanın. Bakım tamamlandığında orijinal URL yeniden aktif olacak.

Ödeme/sipariş akışları: Kullanıcıyı ödeme tamamlandıktan sonra bir teşekkür sayfasına geçici olarak yönlendirme.

Coğrafi yönlendirme: Kullanıcının IP adresine göre ülkeye özgü bir versiyona yönlendirme (örneğin ornek.com > ornek.com/tr/). Bu yönlendirmenin geçici nitelikte işaretlenmesi önemlidir; aksi takdirde Google orijinal URL’yi dizinden çıkarabilir.

302’nin Yanlış Kullanımının Bedeli

Pek çok web geliştiricisi ve CMS eklentisi, kalıcı taşımalarda bile 302 kullanır. Bu kritik bir hatadır. Google, 302’yi gördüğünde eski URL’yi dizinde tutmaya devam eder ve link equity’yi yeni sayfaya tam olarak aktarmaz. Sonuç: Yıllardır biriktirdiğiniz otorite, gereksiz yere iki URL arasında bölünür.


307 ve 308 Yönlendirme Kodları

HTTP/1.1 standardı, 302 ve 301’in belirsizliğini gidermek için iki yeni kod tanımladı: 307 ve 308.

307 Temporary Redirect

307, 302’nin HTTP metodunu koruyan versiyonudur. Yani bir POST isteği 307 ile yönlendirildiğinde, tarayıcı hedef URL’e de POST isteği gönderir. 302’de ise birçok tarayıcı POST’u GET’e dönüştürdü; bu tutarsızlık 307’nin doğmasına yol açtı.

Ne zaman kullanılır? Form gönderimleri veya API isteklerinde metodun korunması kritikse ve yönlendirme geçiciyse 307 tercih edin.

308 Permanent Redirect

308, 301’in HTTP metodunu koruyan versiyonudur. Kalıcı bir yönlendirmede POST veya PUT metodunun hedef URL’e de iletilmesini istiyorsanız 308 kullanın.

SEO açısından 307 ve 308, 302 ve 301 ile benzer davranış gösterir: 308 link equity aktarırken 307 aktarmaz. Ancak 307 ve 308’in tarayıcı ve bot desteği 301/302’ye kıyasla daha sınırlıdır; bu yüzden API ve form iletimlerinin dışında 301/302 kullanımı hâlâ standarttır.


”Link juice” ya da resmi adıyla link equity, bir URL’nin aldığı backlink’lerden edindiği otorite puanıdır. Bu otorite sayfanın Google sıralamalarında önemli bir rol oynar.

Google, onlarca yıldır 301 yönlendirmelerinin link equity’yi tam olarak aktardığını söyledi. Ancak 2016 yılında Google’ın John Mueller yaptığı açıklamada küçük bir kayıp yaşandığını doğruladı. Bu kayıp zamanla azalmış olsa da teknik açıdan hâlâ %100 aktarım garantisi yoktur.

Pratikte şunu söyleyebiliriz: Tek adımlı, doğru uygulanmış bir 301, link equity’nin büyük çoğunluğunu aktarır. Zincir yönlendirmeler ise her adımda ek kayba yol açar.

Geleneksel anlayışa göre 302, link equity aktarmaz. Ancak günümüzde Google, uzun süredir aktif olan 302 yönlendirmelerini kimi durumlarda 301 gibi işleyebilmektedir. Bu, Google’ın amacı anlamlandırma kapasitesinin gelişmesiyle ilgilidir; ama bu davranışa güvenilmemelidir. Kasıtlı bir yönlendirmede 301 kullanın.

Aktarım Oranı Karşılaştırması

SenaryoTahmini Link Equity Aktarımı
Tek adımlı 301~%95-99
İki adımlı 301 zinciri~%85-90
Üç adımlı 301 zinciri~%70-80
302 (kısa süreli)~%0-10
302 (uzun süreli, Google’ın yorum yapması ile)Belirsiz
Yönlendirme döngüsü%0 (bot tarafından terk edilir)

Yönlendirme Zincirleri ve Döngüleri: Ciddi Bir SEO Tehdidi

Yönlendirme zinciri, A URL’sinin B’ye, B’nin C’ye, C’nin D’ye yönlendirildiği durumdur. Her atlama hem link equity kaybına hem de sayfa yüklenme süresinin artmasına yol açar.

Yönlendirme Zincirinin Zararları

Crawl bütçesi tüketimi: Googlebot, bir siteyi taramak için belirli bir “crawl bütçesi” tahsis eder. Uzun yönlendirme zincirleri bu bütçeyi gereksiz yere tüketir ve önemli sayfaların taranmamasına neden olabilir.

Sayfa hızı: Her yönlendirme ek bir HTTP isteği demektir. Zincirlerde bu, kullanıcının hissettiği gecikmeyi belirgin biçimde artırabilir; bu da Core Web Vitals skorlarını olumsuz etkiler.

Link equity erimesi: Yukarıda belirtildiği gibi, her atlama değer kaybına yol açar.

Tarayıcı limiti: Hem tarayıcılar hem de Googlebot, maksimum yönlendirme adımı limitine sahiptir. Chrome 20 adımdan sonra taramayı durdurur; Googlebot ise genellikle 5-10 adımdan sonra taramayı bırakır.

Yönlendirme Döngüsü

Yönlendirme döngüsü, A > B > A ya da A > B > C > A gibi sonsuz bir döngü oluştuğunda meydana gelir. Tarayıcı ve botlar bunu fark edip taramayı durdurur; kullanıcı ise “ERR_TOO_MANY_REDIRECTS” hatasıyla karşılaşır.

Döngü tespiti için kontrol listesi:

  • HTTP > HTTPS ve HTTPS > HTTP yönlendirmelerinin aynı anda aktif olup olmadığını kontrol edin.
  • www > non-www ve non-www > www kurallarının çakışmadığından emin olun.
  • Birden fazla .htaccess dosyası veya sunucu konfigürasyonu varsa çelişen kurallar arayın.
  • CDN ve sunucu seviyesindeki yönlendirme kurallarının birbiriyle çakışmadığını doğrulayın.

Zincirleri Temizleme

En iyi pratik, her zinciri tek adıma indirgemektir. A > B > C zinciri varsa, A’yı doğrudan C’ye 301 ile yönlendirin. B ile C arasındaki yönlendirmeyi koruyabilirsiniz; ancak A’nın B üzerinden geçmesine gerek yoktur.


Farklı Platformlarda Yönlendirme Uygulamaları

Apache .htaccess ile Yönlendirme

Apache sunucularında .htaccess dosyası, yönlendirme kurallarını tanımlamak için en yaygın yöntemdir. mod_rewrite modülünün etkin olduğundan emin olun.

Tek URL yönlendirmesi:

Redirect 301 /eski-sayfa /yeni-sayfa

Tüm siteyi yeni alan adına yönlendirme:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^eskisirket\.com$ [NC]
RewriteRule ^(.*)$ https://yenisirket.com/$1 [R=301,L]

HTTP’den HTTPS’e yönlendirme:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

www’den non-www’ye yönlendirme:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.ornek\.com$ [NC]
RewriteRule ^(.*)$ https://ornek.com/$1 [R=301,L]

non-www’den www’ye yönlendirme:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^ornek\.com$ [NC]
RewriteRule ^(.*)$ https://www.ornek.com/$1 [R=301,L]

Joker karakter ile kategori yönlendirmesi:

RewriteEngine On
RewriteRule ^kategori/(.*)$ /urunler/$1 [R=301,L]

Önemli not: [L] bayrağı “son kural” anlamına gelir ve kuralın eşleşmesi durumunda diğer kuralların işlenmesini durdurur. [R=301] ise HTTP 301 yanıtını tetikler. Bu iki bayrağı birlikte kullanmayı alışkanlık edinmenizi öneririm.


Nginx ile Yönlendirme

Nginx’te yönlendirmeler server bloğu içinde tanımlanır. .htaccess gibi bir dosya sistemi yoktur; konfigürasyon doğrudan nginx.conf veya sites-available altındaki dosyaya yazılır.

Tek URL yönlendirmesi:

server {
    listen 80;
    server_name ornek.com www.ornek.com;

    location = /eski-sayfa {
        return 301 /yeni-sayfa;
    }
}

HTTP’den HTTPS’e yönlendirme:

server {
    listen 80;
    server_name ornek.com www.ornek.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name ornek.com www.ornek.com;
    # SSL konfigürasyonu buraya...
}

www’den non-www’ye yönlendirme (HTTPS):

server {
    listen 443 ssl;
    server_name www.ornek.com;
    return 301 https://ornek.com$request_uri;
}

server {
    listen 443 ssl;
    server_name ornek.com;
    # Ana site konfigürasyonu...
}

Regex ile toplu yönlendirme:

location ~* ^/eski-kategori/(.+)$ {
    return 301 /yeni-kategori/$1;
}

Nginx performans notu: Nginx’te rewrite direktifi yerine return direktifini tercih etmek hem daha okunabilir hem de performans açısından daha verimlidir. return 301 doğrudan yanıt üretirken rewrite ek regex işlemi gerektirir.


Cloudflare ile Yönlendirme

Cloudflare, DNS seviyesinde çalıştığı için sunucu konfigürasyonuna dokunmadan yönlendirme kuralları oluşturmanıza olanak tanır.

Page Rules ile yönlendirme:

Cloudflare Dashboard > Rules > Page Rules bölümüne gidin:

  1. “URL eşleşmesi” alanına http://ornek.com/* girin
  2. ”Ayar” olarak “Forwarding URL” seçin
  3. ”Durum kodu” 301, hedef URL https://ornek.com/$1

Redirect Rules (Yeni nesil):

Cloudflare’in yeni Rules motoru Page Rules’dan daha güçlüdür:

# Expression
(http.host eq "www.ornek.com")

# Action: Static Redirect
# Status: 301
# URL: https://ornek.com${http.request.uri.path}

Always Use HTTPS özelliği:

Cloudflare’in “Always Use HTTPS” ayarı etkinleştirildiğinde, HTTP istekleri otomatik olarak HTTPS’e 301 ile yönlendirilir. Bu, .htaccess veya Nginx konfigürasyonu yazmak zorunda kalmadan hızlı bir çözüm sunar.

Cloudflare yönlendirmelerinde dikkat edilmesi gereken nokta: Hem Cloudflare hem de sunucu seviyesinde yönlendirme kuralları varsa zincir yönlendirmeler oluşabilir. Yönlendirme mantığını tek bir katmanda toplamak en sağlıklısıdır.


WordPress ile Yönlendirme

WordPress’te yönlendirmeler birkaç farklı yolla yönetilebilir.

Redirection Eklentisi:

En yaygın yöntem “Redirection” eklentisidir (John Godley tarafından geliştirilmiştir). Eklenti, yönlendirmeleri veritabanında depolar ve PHP seviyesinde işler.

Eski URL: /eski-blog-yazisi/
Yeni URL: /yeni-blog-yazisi/
Tür: 301

Ancak veritabanı tabanlı yönlendirmelerin bir dezavantajı vardır: Her istek için veritabanı sorgusu gerektirir. Yüksek trafikli sitelerde bu, performans sorununa yol açabilir. Bu yüzden mümkün olduğunda .htaccess tabanlı yönlendirmeleri tercih edin.

functions.php ile yönlendirme:

add_action('template_redirect', function() {
    if (is_page('eski-sayfa')) {
        wp_redirect(home_url('/yeni-sayfa'), 301);
        exit;
    }
});

Yoast SEO ile yönlendirme:

Yoast SEO Premium, “Redirects” modülü aracılığıyla yönlendirme yönetimi sunar. Bu özellik, .htaccess veya PHP koduna dokunmadan arayüzden yönlendirme oluşturmanıza olanak tanır.

WordPress’te Permalink yapısı değişikliği:

WordPress ayarlarından permalink yapısını değiştirdiğinizde tüm eski URL’ler 404 verir. Bu durumda eski URL yapısından yeni yapıya geçişi sağlayan toplu yönlendirmeler tanımlamanız gerekir.


Next.js ile Yönlendirme

Next.js, next.config.js (veya next.config.mjs) dosyasında redirects anahtarı aracılığıyla yerleşik yönlendirme desteği sunar.

Basit yönlendirme:

// next.config.js
module.exports = {
  async redirects() {
    return [
      {
        source: '/eski-sayfa',
        destination: '/yeni-sayfa',
        permanent: true, // 301
      },
    ];
  },
};

permanent: true 301 durum kodunu, permanent: false ise 302 durum kodunu üretir.

Joker karakter ile yönlendirme:

module.exports = {
  async redirects() {
    return [
      {
        source: '/blog/:slug',
        destination: '/makaleler/:slug',
        permanent: true,
      },
    ];
  },
};

Regex ile yönlendirme:

module.exports = {
  async redirects() {
    return [
      {
        source: '/urun/:id(\\d{1,})',
        destination: '/urunler/:id',
        permanent: true,
      },
    ];
  },
};

Middleware ile dinamik yönlendirme:

Daha karmaşık senaryolarda (coğrafi yönlendirme, A/B testi, oturum durumuna göre yönlendirme) Next.js Middleware kullanılır:

// middleware.ts
import { NextResponse } from 'next/server';
import type { NextRequest } from 'next/server';

export function middleware(request: NextRequest) {
  const { pathname } = request.nextUrl;

  if (pathname === '/eski-kampanya') {
    return NextResponse.redirect(
      new URL('/yeni-kampanya', request.url),
      { status: 301 }
    );
  }

  return NextResponse.next();
}

export const config = {
  matcher: ['/eski-kampanya'],
};

Next.js’de yönlendirme önceliği: next.config.js içindeki yönlendirmeler Middleware’den önce çalışır. Middleware ise sayfa renderından önce çalışır. Bu öncelik sırasını göz önünde bulundurarak kurallarınızı yerleştirin.


Astro ile Yönlendirme

Astro, SSG (Static Site Generation) ve SSR (Server-Side Rendering) modlarında farklı yönlendirme yaklaşımları sunar.

astro.config.mjs ile statik yönlendirme:

Astro 2.9 ve sonrasında redirects konfigürasyonu yerleşik olarak desteklenmektedir:

// astro.config.mjs
import { defineConfig } from 'astro/config';

export default defineConfig({
  redirects: {
    '/eski-sayfa': '/yeni-sayfa',
    '/eski-blog/[slug]': '/blog/[slug]',
  },
});

Statik çıktı modunda bu yönlendirmeler HTML meta refresh veya Netlify/Vercel gibi platformlara özgü _redirects dosyasına dönüştürülür.

SSR modunda yönlendirme:

SSR modunda, Astro sayfaları içinde Astro.redirect() kullanılır:

---
// src/pages/eski-sayfa.astro
return Astro.redirect('/yeni-sayfa', 301);
---

Netlify _redirects dosyası (Astro + Netlify):

Astro projesini Netlify’da barındırıyorsanız public/_redirects dosyasıyla yönlendirme tanımlayabilirsiniz:

/eski-sayfa    /yeni-sayfa    301
/eski-blog/*   /blog/:splat   301

Vercel vercel.json (Astro + Vercel):

{
  "redirects": [
    {
      "source": "/eski-sayfa",
      "destination": "/yeni-sayfa",
      "permanent": true
    }
  ]
}

Astro’da dikkat edilmesi gereken nokta: Astro’nun static export modunda her yönlendirme bir HTML dosyası oluşturur (meta refresh ile). Bu, gerçek HTTP 301 değildir; bu yüzden Netlify, Vercel veya Cloudflare Pages gibi platformların sunduğu native yönlendirme desteğini kullanmak SEO açısından daha doğrudur.


www ile non-www Yönlendirmesi

www.ornek.com ile ornek.com teknik açıdan iki farklı alan adıdır. Her ikisinin de erişilebilir olması, arama motorlarının içeriği iki ayrı site olarak dizine eklemesine ve link equity’nin bölünmesine yol açar.

Hangisi Tercih Edilmeli?

SEO açısından ikisi arasında anlamlı bir fark yoktur. Önemli olan tutarlılık ve doğru yönlendirmedir. Bununla birlikte pratik farklılıklar şöyledir:

Kriterwwwnon-www
DNS esnekliğiYüksek (CNAME destekler)Düşük (apex domain sınırlaması)
Cookie kapsamıAlt domain izolasyonuTüm alt domainler etkilenir
CDN entegrasyonuKolayBazı CDN’lerde sınırlı
Kullanıcı algısıGelenekselModern ve sade

Kural: Hangisini seçerseniz seçin, diğerini 301 ile seçilenye yönlendirin ve Search Consoleda tercih edilen varyantı belirtin.

Google Search Console’da Tercih Belirleme

Google Search Console’a her iki varyantı da ekleyin (www ve non-www), sonra tercih ettiğinizi “Preferred Domain” olarak ayarlayın. Modern Search Console’da bu ayar artık doğrudan mevcut değildir; bunun yerine kanonik etiket kullanımı ve tutarlı dahili bağlantı yapısıyla tercihinizi belirtmeniz önerilir.


HTTP’den HTTPS’e Geçiş: Adım Adım

HTTPS’e geçiş, 301 yönlendirmesinin en kritik kullanım senaryolarından biridir. Yanlış yapıldığında sıralama kaybına, sertifika hatalarına ve tarayıcı uyarılarına yol açar.

Geçiş Öncesi Kontrol Listesi

  1. SSL/TLS sertifikanızın kurulu ve geçerli olduğunu doğrulayın.
  2. Sitenizin tüm kaynaklarının (resimler, CSS, JavaScript) HTTPS üzerinden yüklendiğini kontrol edin (mixed content hatası).
  3. Dahili bağlantıların HTTPS olarak güncellendiğini kontrol edin.
  4. Sitemap dosyanızın HTTPS URL’lerini içerdiğini doğrulayın.
  5. Canonical etiketlerinin HTTPS URL’lerini işaret ettiğinden emin olun.

Geçiş Sonrası Kontrol Listesi

  1. Search Console’a HTTPS varyantını ekleyin ve sitemap gönderin.
  2. Backlink profilinizde önemli backlinklerin yeni URL’i işaret edip etmediğini kontrol edin.
  3. Google Analytics, Facebook Pixel ve diğer izleme kodlarını HTTPS’e güncelleyin.
  4. HSTS (HTTP Strict Transport Security) başlığını etkinleştirmeyi değerlendirin.

HSTS örneği (.htaccess):

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

HSTS, tarayıcılara “Bu siteye her zaman HTTPS üzerinden bağlan” mesajını verir. Yönlendirme adımını ortadan kaldırarak performansı artırır; ancak bir kez etkinleştirildikten sonra geri alınması zordur.


Yönlendirme Testi Araçları

Yönlendirmelerinizi düzgün kurduğunuzu doğrulamak için doğru araçlara ihtiyacınız var.

Ücretsiz Araçlar

curl (Terminal):

En güvenilir ve hızlı test yöntemi terminaldir:

curl -I -L https://ornek.com/eski-sayfa

-I yalnızca başlıkları getirir, -L ise yönlendirmeleri takip eder. Çıktıda her adımın durum kodunu ve Location başlığını göreceksiniz.

Yönlendirme zincirini adım adım görmek için:

curl -v -L --max-redirs 10 https://ornek.com/eski-sayfa 2>&1 | grep -E "^(< HTTP|< Location|> GET)"

httpstatus.io:

Tarayıcı tabanlı araç, yönlendirme zincirini görsel olarak gösterir. Her adımın durum kodunu, başlıklarını ve yanıt süresini listeler.

Redirect Checker (redirectchecker.net):

Toplu URL testine olanak tanır. CSV formatında URL listesi yükleyerek yüzlerce yönlendirmeyi aynı anda kontrol edebilirsiniz.

Google Search Console > URL Denetleme:

Belirli bir URL’nin Google tarafından nasıl görüldüğünü öğrenmek için “URL Denetleme” aracını kullanın. Bu araç, Googlebot’un yönlendirmeyi doğru takip edip etmediğini ve hedef sayfanın dizine eklenip eklenmediğini gösterir.

Ücretli/Gelişmiş Araçlar

Screaming Frog SEO Spider:

Sitenizin tamamını tarayarak yönlendirme zincirlerini, döngüleri ve yönlendirme hatalarını raporlar. “Response Codes” sekmesinde tüm 3xx yanıtlarını görebilirsiniz. “Redirects” sekmesi ise hangi URL’lerin nereye yönlendirildiğini gösterir.

Toplu yönlendirme testinde Screaming Frog’u şu şekilde kullanın:

  • Mode: List Mode
  • Upload: Test etmek istediğiniz URL listesi
  • Rapordan 301, 302 ve zincir yönlendirmeleri filtreleyin

Ahrefs Site Audit:

Ahrefs’in site audit aracı, yönlendirme zincirlerini ve döngülerini otomatik olarak tespit eder. Özellikle “Redirect chains” ve “Redirect loops” uyarılarına odaklanın.

Semrush Site Audit:

Semrush de benzer bir tarama kapasitesi sunar. “3XX redirects” raporu, tüm yönlendirmeleri ve sorunlu zincirleri listeler.

Tarayıcı Geliştirici Araçları

Chrome DevTools > Network sekmesinde, URL’ye gidip “Preserve log” seçeneğini işaretleyin. Bu şekilde sayfanın yüklenme sürecindeki tüm yönlendirme adımlarını görebilirsiniz.

Status: 301  ornek.com/eski-sayfa
Status: 200  ornek.com/yeni-sayfa

SEO Açısından Yönlendirme Kararı: Hızlı Başvuru Tablosu

SenaryoDoğru KodGerekçe
Alan adı taşıma301Kalıcı; link equity aktarılmalı
URL yapısı yenileme301Kalıcı değişiklik
HTTP > HTTPS301Kalıcı protokol geçişi
www > non-www (ya da tersi)301Kalıcı tercih
Silinen sayfa (alternatif var)301Kullanıcıyı ilgili sayfaya yönlendir
Silinen sayfa (alternatif yok)410”Gone” — içerik kalıcı olarak kaldırıldı
A/B testi302Geçici; orijinal URL korunmalı
Coğrafi yönlendirme302Geçici; URL değişmeyecek
Bakım modu302 veya 307Geçici durum
Form sonrası teşekkür sayfası302 veya 303PRG (Post/Redirect/Get) deseni
API endpoint taşıma (POST koruma)308Kalıcı; HTTP metodu korunmalı

Sık Yapılan Yönlendirme Hataları

Hata 1: Tüm Yönlendirmeleri 302 ile Yapmak

Özellikle Magento, Prestashop ve bazı WordPress eklentileri, varsayılan olarak 302 kullanır. Bunu denetlemeniz ve gerektiğinde 301’e değiştirmeniz şarttır.

Hata 2: Canonical ve Yönlendirmeyi Karıştırmak

Canonical etiket, birden fazla URL’nin aynı içeriği gösterdiği ama yönlendirme kurulamayan durumlarda kullanılır. Yönlendirme ile canonical aynı anda kullanılmamalıdır; çelişen sinyaller Googlebot’u karıştırır.

Hata 3: Sitemap’te Yönlendirilen URL’leri Bırakmak

Sitemap, yalnızca kanonik ve erişilebilir URL’leri içermelidir. Yönlendirilen URL’leri sitemap’ten kaldırın.

Hata 4: Robots.txt ile Yönlendirilen URL’leri Engellemek

Yönlendirilen URL’yi robots.txt ile engellerseniz Googlebot o yönlendirmeyi hiç takip etmez ve link equity aktarımı gerçekleşmez.

Hata 5: HTTPS’e Geçişte Mixed Content Bırakmak

HTTPS’e geçtikten sonra sayfanızdaki resimler, iframeler veya scriptler hâlâ HTTP üzerinden yükleniyorsa tarayıcı “güvenli değil” uyarısı gösterir. Bu, yönlendirmenin doğru olduğunu ama sayfanın güvenli olmadığını ifade eder.


Sık Sorulan Sorular

301 yönlendirmesi SEO puanını tamamen aktarır mı?
Google uzun süredir 301’in link equity’nin büyük çoğunluğunu aktardığını belirtiyor, ancak teknik olarak yüzde 100 garanti yoktur; küçük bir kayıp normal kabul edilir. Pratikte önemli olan şudur: tek adımlı, doğrudan yapılmış bir 301 yönlendirmesi, iki veya üç adımlı bir zincirden çok daha az kayba yol açar. Aktarım oranını en çok etkileyen şey yönlendirme kodunun doğruluğu değil, zincir uzunluğudur — bu yüzden her zaman eski URL’yi doğrudan nihai hedefe yönlendirin, ara adımlardan geçirmeyin.
302 kullanırsam sıralamamı kaybeder miyim?
Doğrudan sıralama kaybı anlamına gelmez, ama yanlış yerde kullanılan bir 302 dolaylı zarar verir. Google, 302’yi “geçici” kabul ettiği için eski URL’yi dizinde tutmaya devam eder ve otoriteyi yeni sayfaya tam aktarmaz; bu da iki URL arasında zayıf bir bölünmeye yol açar. Kalıcı bir değişiklikte 302 kullanmak, yıllarca biriktirdiğiniz backlink değerinin bir kısmının havada asılı kalması demektir. Kısa süreli testler ve geçici durumlar için 302 doğru seçimdir; kalıcı taşımalarda değil.
Yönlendirme zinciri kaç adımdan sonra sorun yaratır?
Kesin bir eşik yoktur ama pratik kural nettir: birden fazla adım zaten fazladır. Her atlama hem küçük bir otorite kaybına hem de ek bir HTTP isteğine, dolayısıyla sayfa yükleme gecikmesine yol açar. Tarayıcılar ve Googlebot çok uzun zincirlerde (genellikle 5-10 adımdan sonra) takibi bırakabilir. En güvenli yaklaşım, her zinciri fark ettiğinizde tek adıma indirgemektir — A’yı B üzerinden değil, doğrudan nihai adrese yönlendirin.
www ve non-www arasında hangisini seçmeliyim?
SEO açısından ikisi arasında anlamlı bir sıralama farkı yoktur; önemli olan tutarlı bir tercih yapıp diğerini 301 ile o tercihe yönlendirmektir. Karar verirken DNS esnekliği (www, CNAME desteği açısından daha kolaydır), cookie kapsamı ve markanızın alışılagelmiş kullanımı gibi pratik kriterlere bakabilirsiniz. Kritik olan, iki varyantın da aynı anda erişilebilir kalmamasıdır — aksi halde arama motorları içeriği iki ayrı site gibi değerlendirebilir ve otorite bölünür.
HTTP’den HTTPS’e geçtikten sonra trafik neden düşebilir?
Genellikle yönlendirmenin kendisinden değil, geçişin eksik yapılmasından kaynaklanır: mixed content hataları (resim, script gibi kaynakların hâlâ HTTP üzerinden yüklenmesi), sitemap’in güncellenmemesi, canonical etiketlerin hâlâ HTTP URL’lerini göstermesi veya Search Console’a yeni mülkün eklenmemesi. Bu adımların hepsi eksiksiz tamamlandığında HTTPS geçişi genellikle sıralamaya olumsuz etki etmez, hatta güvenlik sinyali olarak hafif olumlu katkı sağlayabilir.
Silinen bir sayfa için 301 mi yoksa 410 mu kullanmalıyım?
İçerikle ilgili bir alternatif sayfa varsa (benzer ürün, güncellenmiş makale) 301 ile o sayfaya yönlendirin — kullanıcı ve arama motoru boşa çıkmaz. Gerçekten karşılığı olmayan, kalıcı olarak kaldırılmış bir içerikse 410 (Gone) kullanmak daha doğrudur; bu, “bu içerik bilerek ve kalıcı olarak kaldırıldı” sinyali verir ve Google’ın URL’yi dizinden daha hızlı çıkarmasını sağlar. Alakasız bir sayfaya zorla 301 yönlendirmek, kullanıcı deneyimini bozar ve zamanla güven kaybına yol açabilir.
Yönlendirmelerimi ne sıklıkla kontrol etmeliyim?
Büyük bir değişiklikten (site göçü, URL yapısı yenileme, HTTPS geçişi) hemen sonra kapsamlı bir tarama şart; Screaming Frog gibi bir araçla tüm site taranıp zincir ve döngü aranmalıdır. Bunun dışında, üç ile altı ayda bir Search Console’daki “3xx” ve “404” raporlarını gözden geçirmek, biriken sorunları erken yakalamanın en pratik yoludur. CMS güncellemeleri veya eklenti değişiklikleri sonrasında da yönlendirme davranışının değişmediğini doğrulamak faydalıdır.
Yönlendirme kurallarını kim yönetmeli, geliştirici mi SEO ekibi mi?
İkisi birlikte olmalı. Teknik uygulama (sunucu konfigürasyonu, CMS eklentisi, framework ayarı) geliştirici tarafında kalır, ama hangi URL’nin hangi koda ve hangi hedefe yönlendirileceği kararı SEO bilgisi gerektirir — çünkü yanlış kod seçimi veya yanlış hedef, geri dönüşü zor bir otorite kaybına yol açabilir. Büyük bir site göçünde en sağlıklı yöntem, geçiş öncesinde iki tarafın birlikte hazırladığı bir URL eşleştirme tablosudur; bu tablo hem geliştirmenin hem denetimin referans noktası olur.

Doğru Yönlendirme Stratejisinin Uzun Vadeli Etkisi

Yönlendirmeler, teknik SEO’nun görünmez ama son derece etkili bir parçasıdır. Büyük bir site göçü, alan adı değişikliği veya HTTPS geçişi sırasında yanlış yönlendirme kararları, kısa sürede sıralama kayıplarına ve organik trafik düşüşlerine dönüşebilir.

Teknik SEO hizmetlerimiz kapsamında yönlendirme denetimi, crawl bütçesi optimizasyonu ve site göçü danışmanlığı sunmaktayız. Yönlendirme mimarinizin doğru kurulması, arama motorlarına açık ve temiz bir sinyal göndererek uzun vadede organik büyümenizi destekler.

Özetle:

  • Kalıcı değişikliklerde 301; geçici durumlarda 302 kullanın.
  • HTTP metodu korunması gerekiyorsa 307 (geçici) veya 308 (kalıcı) tercih edin.
  • Yönlendirme zincirlerini kısaltın; tercihen tek adıma indirgeyin.
  • Yönlendirme döngüsü oluşturursa kullanıcılar ve botlar sayfaya ulaşamaz.
  • Testlerinizi curl ve Screaming Frog ile düzenli aralıklarla tekrarlayın.
  • www/non-www ve HTTP/HTTPS tercihlerinizi Search Console’da netleştirin.

Doğru yönlendirme stratejisi, kısa vadede göze çarpmayabilir; ancak aylarca biriktirilen link equity’nin korunması ve crawl bütçesinin verimli kullanılması açısından web sitenizin temel sağlığını doğrudan etkiler.

Onur Öztürk, SEO uzmanı
// yazar

Onur ÖZTÜRK

SEO Uzmanı & Dijital Pazarlama Danışmanı

15 yılı aşkın deneyimle sağlık turizmi, e-ticaret ve kurumsal markalar için SEO stratejisi geliştiriyorum. Google Partner ve Meta Business Partner olarak 150'den fazla işletmenin organik büyümesine katkı sağladım. SEO'nun yanında web tasarım, reklam yönetimi ve logo tasarımı hizmetlerini de ekibimle birlikte yürütüyorum.

// google arama

Bu içerikleri Google'da daha sık görün

onuroztr.com'u tercih edilen kaynak olarak ekleyin; yazılarımız arama sonuçlarında ve yapay zeka özetlerinde size daha sık gösterilsin.

WhatsApp'tan yazın Genellikle 1 saat içinde dönüyorum
WhatsApp Toplantı Planlayın