15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın
01.11.2024

404 Hatası Nasıl Yönlendirilir: Apache, Nginx & PHP için Tam Kılavuz

404 hatası, bir web sitesinin karşılaşabileceği en yaygın ve en zararlı sorunlardan biridir. Ziyaretçi artık var olmayan bir sayfaya geldiğinde, çıkmaz bir yolla karşılaşır. Bu bozuk deneyim kullanıcıları uzaklaştırır, hızlı çıkış oranlarını artırır ve zaman içinde arama motoru sıralamalarınızı sessizce aşındırır.

İyi haber şu ki, doğru yönlendirme stratejisiyle bu 404 hatalarını kesebilir, kullanıcıları ilgili içeriğe yönlendirebilir ve hem trafiğinizi hem de SEO’nuzu koruyabilirsiniz. Bu kapsamlı rehber, Apache’nin .htaccess dosyası, Nginx sunucu blokları ve PHP tabanlı çözümler de dahil olmak üzere 404 hatalarını yönlendirmenin her ana yöntemini kapsar — bugün uygulayabileceğiniz gerçek yapılandırma örnekleriyle.

404 Hatası Nedir ve Neden Önemlidir?

Bir 404 Not Found hatası, sunucu istenen kaynağı bulamadığında döndürdüğü bir HTTP durum kodudur. Bu birkaç nedenden dolayı gerçekleşir:

  • Bir sayfa yönlendirme olmadan silinmiş veya taşınmış
  • Bir kullanıcı bozuk veya eski bir harici bağlantıyı takip etmiş
  • Bir URL yanlış yazılmış veya site geçişi sırasında yeniden yapılandırılmış
  • İç bağlantılar içerik değişikliklerinden sonra güncellenmemiş

Kullanıcı deneyimi açısından, 404 sayfasına çarpmak sinir bozucudur. SEO açısından, arama motorlarına sitenizin yapısal sorunları olduğunu gösterir. Tarama bütçesi boşa harcanır, bağlantı değeri kaybedilir ve sıralamalar zarar görebilir — özellikle yüksek otoriteli geri bağlantılar ölü URL’lere işaret ediyorsa.

Uygun 404 yönlendirmelerini uygulamak isteğe bağlı bakım değildir. Bu, sağlıklı ve iyi optimize edilmiş bir web sitesi çalıştırmanın temel bir parçasıdır.

Yöntem 1: .htaccess Kullanarak 404 Hatalarını Yönlendirme (Apache Sunucuları)

Web siteniz bir Apache web sunucusunda barındırılıyorsa, .htaccess dosyası sunucu düzeyinde yönlendirmeleri yönetmek için birincil araçtır. Bu yöntem hızlı, güvenilir ve programlama bilgisi gerektirmez.

Adım 1: .htaccess Dosyasını Bulun veya Oluşturun

.htaccess dosyası web sitenizin kök dizininde bulunur (genellikle public_html veya www). Henüz mevcut değilse, yeni bir düz metin dosyası oluşturun ve buna tam olarak .htaccess adını verin — başındaki noktayı da dahil edin.

> İpucu: Barındırma ortamınızı bir kontrol paneli aracılığıyla yönetiyorsanız, bu dosyayı doğrudan dosya yöneticisinde bulabilir ve düzenleyebilirsiniz. cPanel ile VPS kullanan kullanıcılar, cPanel arayüzünün altındaki Dosya Yöneticisi aracılığıyla erişebilirler.

Adım 2: Özel 404 Hata Belgesi Ayarlayın

404 hatası oluştuğunda özel bir HTML sayfası sunmak için .htaccess dosyanıza aşağıdaki satırı ekleyin:

ErrorDocument 404 /404.html

/custom-404-page.html yerine özel hata sayfanızın gerçek yolunu yazın. Bu, Apache’ye varsayılan sunucu hata yanıtı yerine bu sayfayı sunmasını söyler.

Adım 3: Tüm 404 Hatalarını Belirli Bir URL’ye Yönlendirin

Kullanıcıları sadece bir hata göstermek yerine çalışan bir sayfaya yönlendirmek istiyorsanız, Apache’nin mod_rewrite modülünü kullanın:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_DIRECTORY} !-d
RewriteRule ^(.*)$ https://example.com/404-page [L,R=301]

Bunun yaptığı şey:

  • RewriteEngine On — yeniden yazma motorunu etkinleştirir
  • RewriteCond %{REQUEST_FILENAME} !-f — istenen dosyanın fiziksel olarak var olmadığını kontrol eder
  • RewriteRule ^(.*)$ — tüm var olmayan dosya isteklerini kalıcı (301) yönlendirmeyle seçilen URL’nize yönlendirir

> Önemli: Bozuk URL’leri yönlendirirken her zaman 301 yönlendirmeler (kalıcı) kullanın, 302 (geçici) değil. 301, bağlantı değerini hedef sayfaya iletir ve arama motorlarına hareketin kalıcı olduğunu söyler.

Adım 4: Belirli Ölü URL’leri Yönlendirin

Cerrahi hassasiyet için — tüm 404’leri değil, bireysel bozuk URL’leri yönlendirmek için — belirli yönlendirme kuralları ekleyin:

Redirect 301 /old-page.html https://example.com/new-page.html
Redirect 301 /another-old-page.html https://example.com/updated-page.html

Bu yaklaşım, site geçişinden sonra veya URL hiyerarşinizi yeniden yapılandırırken idealdir.

Yöntem 2: Nginx’te 404 Yönlendirmelerini Yapılandırma

Sunucunuz Nginx çalıştırıyorsa, yönlendirme yapılandırması .htaccess dosyası yerine sitenizin yapılandırma dosyasının sunucu bloğunun içinde işlenir.

Adım 1: Nginx Yapılandırma Dosyasını Açın

Nginx yapılandırma dosyaları genellikle şu konumlarda bulunur:

  • /etc/nginx/sites-available/
  • /etc/nginx/conf.d/

İlgili dosyayı bir metin editörüyle açın:

sudo nano /etc/nginx/sites-available/example.com

Adım 2: Özel 404 Hata Sayfası Ayarlayın

server bloğunuzun içine aşağıdaki yönergeyi ekleyin:

error_page 404 /404.html;

Bu, 404 hatası tetiklendiğinde Nginx’e özel HTML sayfanızı sunmasını söyler.

Adım 3: 404 Hatalarını Başka Bir URL’ye Yönlendirin

Kullanıcıları 404 oluştuğunda çalışan bir sayfaya yönlendirmek için Nginx’in adlandırılmış konum özelliğini kullanın:

location / {
try_files $uri $uri/ @redirect404;
}

location @redirect404 {
return 301 https://example.com/404-page;
}

Bunun nasıl çalıştığı:

  • try_files $uri $uri/ — Nginx önce istenen dosyayı veya dizini sunmaya çalışır
  • Ne biri ne de diğeri varsa, @redirect404 adlandırılmış konumuna düşer
  • Adlandırılmış konum, belirtilen hedef URL’nize 301 yönlendirme yayınlar

Adım 4: Test Edin ve Nginx’i Yeniden Yükleyin

Yapılandırmayı düzenledikten sonra, yeniden yüklemeden önce her zaman söz dizimi hatalarını test edin:

sudo nginx -t

Test syntax is ok ile geçerse, değişikliklerinizi uygulamak için Nginx’i yeniden yükleyin:

sudo systemctl reload nginx

Söz dizimi testini asla atlayın — yanlış yapılandırılmış bir Nginx dosyası tüm sitenizi çevrimdışı bırakabilir.

> Not: Nginx yapılandırmalarını yönetmek, sunucunuza tam kök erişiminiz olduğunda basittir. AlexHost’un VPS Barındırması ve Özel Sunucuları size sunucu ortamınız üzerinde tam kontrol sağlayarak bu tür yapılandırmaları hızlı ve kolay hale getirir.

Yöntem 3: PHP ile 404 Yönlendirmelerini İşleme

PHP çalıştıran siteler için, özel bir PHP hata sayfası kullanarak 404 yönlendirmelerini programlı olarak işleyebilirsiniz. Bu yöntem en fazla esnekliği sunar — hataları günlüğe kaydedebilir, dinamik içerik görüntüleyebilir veya koşullu yönlendirme mantığı uygulayabilirsiniz.

Adım 1: Özel 404 PHP Dosyası Oluşturun

Kök dizininizde 404.php adlı bir dosya oluşturun ve aşağıdaki içeriği yazın:

<?php
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: https://example.com/”);
exit;
?>

Hemen yönlendirmek yerine yardımcı bir sayfa gösteren daha kullanıcı dostu bir yaklaşım için:

<?php
header(“HTTP/1.1 404 Not Found”);
?>
<!DOCTYPE html>
<html>
<head>
<title>Sayfa Bulunamadı</title>
</head>
<body>
<h1>404 – Sayfa Bulunamadı</h1>
<p>Aradığınız sayfa mevcut değil.</p>
<a href=”https://example.com”>Ana Sayfaya Dön</a>
</body>
</html>

Adım 2: Sunucunuzu Özel PHP Dosyasına Yönlendirin

Apache için, .htaccess dosyanıza ekleyin:

ErrorDocument 404 /404.php

Nginx için, sunucu bloğunuza ekleyin:

error_page 404 /404.php;
location = /404.php {
internal;
}

internal yönergesini kullanıcılar tarafından doğrudan URL yazarak erişilemeyecek şekilde hata sayfasının yalnızca Nginx tarafından dahili olarak erişilebilmesini sağlar.

Yöntem 4: WordPress’e Özel 404 Yönlendirme Çözümleri

Siteniz WordPress‘te çalışıyorsa, sunucu düzeyinde yapılandırmanın ötesinde ek seçenekleriniz vardır.

Eklenti Kullanma

Redirection, Rank Math SEO veya Yoast SEO gibi eklentiler yerleşik 404 izleme ve yönlendirme yönetimi içerir. Bu araçlar şunları yapmanıza izin verir:

  • Tüm 404 hatalarını bir panoda görüntüleyin
  • Sunucu dosyalarına dokunmadan yönlendirmeler ayarlayın
  • Benzer mevcut URL’lere dayalı yönlendirmeleri otomatik olarak önerir

functions.php’yi Düzenleme

Geliştiriciler için, yönlendirme mantığını doğrudan tema functions.php dosyanıza ekleyebilirsiniz:

<?php
add_action( ‘404_template’, function() {
wp_redirect( home_url(), 301 );
exit;
} );
?>

Bu, tüm 404 hatalarını 301 durumuyla ana sayfaya yönlendirir.

404 Yönlendirmelerinizi Test Etme

Herhangi bir yönlendirme yöntemi uyguladıktan sonra, kapsamlı test yapılması gereklidir. Her şeyin doğru çalıştığını doğrulamak için aşağıdakileri yapın:

Manuel Tarayıcı Testi

  1. Sitenizde var olmadığını bildiğiniz bir URL’ye gidin (örn. example.com/nonexistent)
  2. Doğru hedefe yönlendirildiğinizi doğrulayın
  3. Tarayıcının adres çubuğunda URL’nin güncellendiğini kontrol edin

HTTP Durum Doğrulaması için curl Kullanma

curl -I https://example.com/nonexistent

Yanıt başlıklarında HTTP/1.1 301 Moved Permanently arayın, ardından hedef URL’nize işaret eden Location: başlığı.

Çevrimiçi Araçlar

Aşağıdaki gibi araçları kullanın:

  • Google Search Console — Google sitenizi taraması sırasında karşılaştığı 404 hatalarını tanımlar
  • Screaming Frog SEO Spider — sitenizi tarar ve bozuk bağlantıları işaretler
  • Redirect Checker (redirect-checker.org) — yönlendirme zincirlerini ve son hedefleri doğrular

404 Hatalarını Yönetmek için En İyi Uygulamalar

1. Yardımcı Özel 404 Sayfası Tasarlayın

Çoğu 404 hatası yönlendirilse de, bazıları kaçınılmaz olarak sızacaktır. İyi tasarlanmış bir özel 404 sayfası şunları içermelidir:

  • Sayfanın bulunamadığını açıkça ve dostça açıklayan bir mesaj
  • Kullanıcıların aradıklarını bulabilmeleri için bir arama çubuğu
  • En popüler sayfalarınız veya kategorilerinize bağlantılar
  • Sitenizin ana navigasyon menüsü
  • Ana sayfaya geri dönüş bağlantısı

2. 302 Değil 301 Yönlendirmeler Kullanın

Ölü sayfalar için her zaman 301 (kalıcı) yönlendirmeler kullanın. 302 (geçici) yönlendirme SEO değeri iletmez ve arama motorlarına orijinal URL’nin geri dönebileceğini söyler. 302’yi yalnızca sayfa gerçekten geçici olarak kullanılamadığında kullanın.

3. Yönlendirme Zincirlerinden Kaçının

Yönlendirme zinciri, URL A’nın URL B’ye yönlendirilmesi, URL B’nin de URL C’ye yönlendirilmesi durumudur. Zincirdeki her atlama bağlantı değerini azaltır ve sayfa yükleme sürelerini yavaşlatır. Her zaman doğrudan son hedef URL’ye yönlendirin.

4. 404 Hatalarını Sürekli İzleyin

404 hataları tek seferlik bir düzeltme değildir. Yeni bozuk bağlantılar sürekli ortaya çıkar — harici siteler URL’lerini değiştirdikçe, kendi içerik güncellemelerinizden ve kullanıcı yazım hatalarından. Aşağıdakilerle devam eden izleme ayarlayın:

  • Google Search Console (Kapsam raporu)
  • Ahrefs veya SEMrush site denetim araçları
  • Sunucu erişim günlüğü analizi

5. Yüksek Değerli 404 Sayfalarına Öncelik Verin

Tüm 404 hataları eşit derecede önemli değildir. Önce şunları yapan sayfalara odaklanın:

  • Diğer web sitelerinden geri bağlantıları var (Ahrefs veya Moz ile kontrol edin)
15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın