Nginx Nedir?
Nginx, yüksek performanslı bir web sunucusu olarak bilinen açık kaynak kodlu bir yazılımdır. Genellikle statik içerik sunmak için kullanılır ve aynı zamanda ters proxy olarak da işlev görebilmektedir. Nginx, sunucu kaynaklarını etkin bir şekilde kullanması ve yüksek trafik altında bile hızlı yanıt verabilme kapasitesi nedeniyle web uygulamaları için popüler bir tercihtir.
Kalıcı Yönlendirme (301 Redirect) Nedir?
Kalıcı yönlendirme, belirli bir URL’den diğerine kalıcı olarak geçiş yaptıran bir HTTP durum kodudur. 301 kodu, arama motorlarına ve tarayıcılara, eski URL’nin bir daha kullanılmayacağını ve yeni URL’nin yerine geçtiğini ifade eder. Bu durum, SEO açısından önem taşır; çünkü eski sayfanın bağlantı otoritesi ve sıralaması, yeni sayfaya aktarılır.
Nginx Konfigürasyon Dosyası
Nginx konfigürasyon dosyası genellikle `/etc/nginx/nginx.conf` ya da her bir site için özel konfigürasyon dosyası olarak `/etc/nginx/sites-available/` ve `/etc/nginx/sites-enabled/` dizinlerinde bulunur. Nginx yapılandırması, yapılandırılan alan adlarına ait sunucu blokları ile gerçekleştirilir.
301 Yönlendirmesi Yapma
Nginx üzerinde kalıcı yönlendirme (301 redirect) yapmak için `server` bloğu içinde `return` ya da `rewrite` komutları kullanmak mümkündür. Yönlendirme işlemi genellikle iki şekilde yapılır: URL bazlı ve alan adı bazlı yönlendirmeler.
URL Bazlı Yönlendirme
Bir URL’den başka bir URL’ye 301 yönlendirmesi yapmak için aşağıdaki örnek yapı kullanılabilir:
“`nginx
server {
listen 80;
server_name eski-site.com;
return 301 https://yeni-site.com$request_uri;
}
“`
Bu yapı, eski-site.com domainine gelen tüm istekleri yeni-site.com’a yönlendirecektir. `request_uri` değişkeni, istemcinin kaynağına olan tüm URL parametrelerini ve yollarını taşır.
Alan Adı Bazlı Yönlendirme
Alan adı değiştirilmesi durumunda, yalnızca yeni alan adına yönlendirme uygundur. Aşağıdaki yapı yardımcılığıyla eski alan adı kalıcı olarak yeni alan adına yönlendirilebilir:
“`nginx
server {
listen 80;
server_name eski-site.com;
return 301 https://yeni-site.com;
}
“`
Bu durum, eski alan adına gelen tüm istekleri yeni alan adına yönlendirecektir.
Yönlendirmeleri Test Etme
Yönlendirmeler yapıldıktan sonra, sistemin doğru çalışıp çalışmadığını test etmek önemlidir. Bunun için çalıştırılabilecek basit komutlar veya araçlar mevcuttur. Tarayıcı veya terminalde cURL komutu kullanılarak kontrol yapılabilir. Örnek bir cURL komutu aşağıdaki gibidir:
“`bash
curl -I http://eski-site.com
“`
Bu komut, 301 durum kodu alındığı takdirde, yönlendirmenin doğru bir şekilde yapıldığına dair bilgi verecektir.
HTTPS ve Yönlendirmeler
Günümüzde güvenli bağlantı (HTTPS) kullanmak, web siteleri için standart bir uygulama haline gelmiştir. Yönlendirmelerde HTTPS kullanılacaksa, Nginx konfigürasyon dosyasına SSL sertifikalarının dahil edilmesi gerekmektedir. SSL yapılandırması aşağıdaki gibi olabilir:
“`nginx
server {
listen 80;
server_name eski-site.com;
return 301 https://yeni-site.com$request_uri;
}
server {
listen 443 ssl;
server_name yeni-site.com;
ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/private.key;
Diğer yapılandırmalar
}
“`
Bu yapı, kullanıcılar eski alan adına girdiğinde onları otomatik olarak HTTPS protokolüne yönlendirir.
Performans ve SEO
Nginx üzerinde kalıcı yönlendirmelerin doğru bir şekilde yapılandırılması, hem performans hem de SEO açısından kritik öneme sahiptir. Yanlış veya eksik yönlendirmeler, arama motorlarının sayfaları dizinlemesini olumsuz etkileyebilir, bu nedenle her yönlendirme dikkatlice planlanmalı ve test edilmelidir.
Kalıcı yönlendirmelerin yanı sıra, geçici yönlendirmelerinde (302 gibi) doğru kullanımını bilmek, yönlendirmelerin amacına ulaşması için gereklidir.
Sonuç
Nginx üzerinde kalıcı yönlendirme işlemi, web sitesi yönetimi için önemli bir konudur. Yönlendirmelerin doğru bir şekilde yapılandırılması, kullanıcı deneyimi ve arama motoru optimizasyonu açısından büyük katkı sağlar. Uygulanan yönlendirme yapıları, web sitelerinin performansını artırır ve ziyaretçilere sorunsuz bir deneyim sunar. Kullanıcıların ve arama motorlarının yeni URL’lerinizi tanımasını sağlamak için uygun 301 yönlendirmeleri gerçekleştirilmelidir.