Neler yeni
XenForo Bannerlar
Modern AdBlock Uyarısı

Foruma hoş geldin, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Web geliştirme HTML Sayfa Yönlendirme (Redirect) Kodları ve Kullanım Alanları

Fatih Bulut

Süper Üye
Katılım
6 Kas 2021
Mesajlar
3,276
Tepkime puanı
4,783
Puanları
113
Yaş
31
Konum
Türkiye
Dc
fatihbulut

HTML Sayfa Yönlendirme (Redirect) Kodları ve Kullanım Alanları​

Web geliştirme sürecinde, sayfa yönlendirmeleri (redirect) sıkça kullanılan ve birçok farklı senaryoda ihtiyaç duyulan bir tekniktir. Bu makalede, HTML ve diğer teknolojilerle sayfa yönlendirme yöntemlerini, kullanım alanlarını ve en iyi uygulamaları detaylı bir şekilde inceleyeceğiz.

HTML ile Temel Yönlendirme Yöntemleri​

1. Meta Refresh Yöntemi​

HTML'nin <meta> etiketi kullanılarak yapılan yönlendirme:
HTML:
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="refresh" content="5; url=https://www.hedefsite.com/">
    <title>Yönlendirme Sayfası</title>
</head>
<body>
    <p>5 saniye içinde hedef siteye yönlendirileceksiniz...</p>
</body>
</html>
Parametreler:
  • content: İki değer alır (süre; url)
    • İlk değer: Yönlendirme öncesi beklenecek saniye (0 anında yönlendirir)
    • İkinci değer: Yönlendirilecek URL
Avantajları:
  • Tüm tarayıcılar tarafından desteklenir
  • Basit ve kolay uygulanabilir
  • Kullanıcıya bilgi vererek yönlendirme yapılabilir
Dezavantajları:
  • SEO açısından en iyi yöntem değildir
  • Bazı tarayıcılar güvenlik nedeniyle engelleyebilir
  • Çok kısa sürelerde kullanıcı deneyimini olumsuz etkileyebilir

2. JavaScript Yönlendirmeleri​

window.location Kullanımı​

HTML:
<script>
    // Anında yönlendirme
    window.location.href = "https://www.hedefsite.com/";
    
    // Alternatif:
    // window.location.replace("https://www.hedefsite.com/");
</script>

setTimeout ile Gecikmeli Yönlendirme​


HTML:
<script>
    // 3 saniye sonra yönlendirme
    setTimeout(function() {
        window.location.href = "https://www.hedefsite.com/";
    }, 3000);
</script>
JavaScript Yönlendirmelerinin Avantajları:
  • Daha fazla kontrol sağlar (koşullu yönlendirmeler yapılabilir)
  • Kullanıcı etkileşimi sonrası yönlendirme yapılabilir
  • Dinamik URL'ler oluşturulabilir
Dezavantajları:
  • JavaScript kapalı olan tarayıcılarda çalışmaz
  • Arama motoru botları JavaScript yönlendirmelerini her zaman doğru şekilde takip edemeyebilir

Sunucu Tarafı Yönlendirmeleri​

HTML dışında, sunucu tarafında yapılan yönlendirmeler genellikle daha etkilidir.

1. HTTP Durum Kodları ile Yönlendirme​

  • 301 Yönlendirme (Kalıcı Yönlendirme)
    • SEO için en uygun yöntem
    • Arama motorlarına sayfanın kalıcı olarak taşındığını bildirir
  • 302 Yönlendirme (Geçici Yönlendirme)
    • Geçici yönlendirmeler için kullanılır
    • SEO değeri aktarmaz

2. .htaccess ile Yönlendirme (Apache)​

Apache yapılandırması:
# 301 yönlendirme örneği
Redirect 301 /eski-dizin/eski-sayfa.html https://www.site.com/yeni-dizin/yeni-sayfa.html

# Regex ile toplu yönlendirme
RewriteEngine On
RewriteRule ^eski-dizin/(.*)$ /yeni-dizin/$1 [R=301,L]

3. Nginx Yönlendirmeleri​

NGINX:
server {
    listen 80;
    server_name eski-site.com;
    return 301 https://www.yeni-site.com$request_uri;
}

Kullanım Senaryoları ve En İyi Uygulamalar​

1. Domain Değişiklikleri​

Bir siteyi yeni bir domaine taşırken 301 yönlendirmeleri kullanılmalıdır. Bu, SEO değerinin korunmasını sağlar.

2. HTTP'den HTTPS'e Geçiş​

Tüm HTTP isteklerini HTTPS'e yönlendirmek için sunucu tarafı yönlendirmeler kullanılmalıdır.
Apache yapılandırması:
# .htaccess örneği
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

3. URL Yapısı Değişiklikleri​

Site içi URL yapısı değiştiğinde, eski URL'leri yeni yapıya yönlendirmek kullanıcı deneyimi ve SEO için kritiktir.

4. Mobil Yönlendirmeler​

Mobil kullanıcıları mobil sürüme yönlendirmek için:
JavaScript:
if (/Mobi|Android|iPhone|iPad|iPod/i.test(navigator.userAgent)) {
    window.location.href = "https://m.site.com";
}

5. Dil Bazlı Yönlendirmeler​

Kullanıcının dil tercihine göre yönlendirme:
JavaScript:
const userLang = navigator.language || navigator.userLanguage;
if (userLang.startsWith("tr")) {
    window.location.href = "https://site.com/tr/";
} else {
    window.location.href = "https://site.com/en/";
}

SEO ve Yönlendirmeler​

Yönlendirmelerin arama motoru optimizasyonu üzerinde önemli etkileri vardır:
  1. 301 vs 302: Kalıcı yönlendirmeler için her zaman 301 kullanın
  2. Zincirleme Yönlendirmelerden Kaçının: Birden fazla yönlendirme birbirini takip etmemeli
  3. Yönlendirme Süreleri: Meta refresh'te 0-3 saniye arası ideal
  4. Canonical URL'ler: Yönlendirilen sayfalar için doğru canonical tag'leri kullanın

Performans Etkileri​

Yönlendirmeler sayfa yükleme süresini artırabilir:
  1. Gereksiz Yönlendirmelerden Kaçının: Her yönlendirme ekstra HTTP isteği demektir
  2. Sunucu Tarafı Yönlendirmeler Tercih Edilmeli: Client-side yönlendirmelerden daha hızlıdır
  3. CDN Yönlendirmeleri: Büyük ölçekli siteler için CDN üzerinden yönlendirme yapılabilir

Güvenlik ve Yönlendirmeler​

  1. Açık Yönlendirme (Open Redirect) Zafiyetleri:
    • Kötü niyetli sitelere yönlendirme yapılmamalı
    • Kullanıcı girdisiyle yönlendirme URL'leri oluşturulmamalı
  2. HTTPS Yönlendirmeleri:
    • HTTP'den HTTPS'e yönlendirmeler güvenlik için zorunludur

Test ve Debug​

  1. Yönlendirme Zincirlerini Kontrol Etme:
    • Chrome Developer Tools > Network tab
    • curl -I https://site.com komutu ile header'ları görüntüleme
  2. SEO Araçları:
    • Google Search Console'da "URL Denetleme" aracı
    • Screaming Frog gibi tarayıcılar

Gelişmiş Yönlendirme Senaryoları​

1. Koşullu Yönlendirmeler​

PHP:
<?php
if ($_SERVER['HTTP_HOST'] == 'eski.site.com') {
    header('Location: https://yeni.site.com', true, 301);
    exit;
}
?>

2. A/B Test Yönlendirmeleri​

JavaScript:
// Rastgele kullanıcıları farklı sürümlere yönlendirme
if (Math.random() < 0.5) {
    window.location.href = "https://site.com/version-a";
} else {
    window.location.href = "https://site.com/version-b";
}

3. Oturum Durumuna Göre Yönlendirme​

JavaScript:
if (!localStorage.getItem('userLoggedIn')) {
    window.location.href = '/login';
}

Sonuç​

Sayfa yönlendirmeleri web geliştirmede güçlü bir araçtır, ancak doğru şekilde kullanılmadığında kullanıcı deneyimini olumsuz etkileyebilir ve SEO performansını düşürebilir. İhtiyacınıza göre en uygun yöntemi seçmek ve yönlendirmeleri dikkatli bir şekilde uygulamak önemlidir.

Genel Öneriler:
  1. Mümkün olduğunca sunucu tarafı yönlendirmeleri (301/302) kullanın
  2. JavaScript yönlendirmelerini alternatif olarak düşünün
  3. Meta refresh'i yalnızca gerekli durumlarda kullanın
  4. Yönlendirme zincirlerinden kaçının
  5. Tüm yönlendirmelerinizi düzenli olarak test edin ve kontrol edin
Doğru uygulandığında, yönlendirmeler web sitenizin kullanılabilirliğini artıracak ve arama motoru sıralamalarınızı korumanıza yardımcı olacaktır.
 

Forumdan daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Kayıt ol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Şimdi kayıt ol
Giriş yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş yap

Tema düzenleyici

Tema özelletirmeleri

Grafik arka planlar

Granit arka planlar