Apache mod_rewrite ile SEO Dostu URL Yapılandırması

Apache sunucularında mod_rewrite modülü, web sitelerinin URL yapılarını dönüştürerek SEO uyumlu hale getirmek için vazgeçilmez bir araçtır.

Apache sunucularında mod_rewrite modülü, web sitelerinin URL yapılarını dönüştürerek SEO uyumlu hale getirmek için vazgeçilmez bir araçtır. Geleneksel dinamik URL’ler, arama motorları tarafından okunması zor parametreler içerdiğinden sıralama performansını olumsuz etkiler. Mod_rewrite ile bu URL’leri okunaklı, hiyerarşik ve kullanıcı dostu yapılara çevirebilirsiniz. Bu makalede, mod_rewrite’in kurulumundan pratik rewrite kurallarına kadar adım adım rehberlik edeceğiz. Böylece sitenizin organik trafiğini artırabilir, kullanıcı deneyimini iyileştirebilirsiniz.

Mod_rewrite Modülünü Etkinleştirme ve Temel Ayarlar

Mod_rewrite’i kullanmak için öncelikle Apache konfigürasyonunda etkinleştirmeniz gerekir. Ana konfigürasyon dosyası olan httpd.conf veya apache2.conf içinde LoadModule directive’ini kontrol edin. Eğer modül yüklü değilse, şu satırı ekleyin: LoadModule rewrite_module modules/mod_rewrite.so. Ardından AllowOverride directive’ini All olarak ayarlayın ki .htaccess dosyaları rewrite kurallarını işleyebilsin. Sunucuyu yeniden başlatmak için apachectl restart komutunu çalıştırın. Bu adımlar, mod_rewrite’in sorunsuz çalışmasını sağlar ve sitenizin kök dizininde .htaccess dosyasını oluşturmanıza izin verir.

.htaccess dosyasını oluşturduktan sonra, rewrite motorunu etkinleştirmek için şu direktifleri ekleyin:

  • RewriteEngine On
  • RewriteBase /

Bu ayarlar, tüm rewrite işlemlerinin temelini oluşturur. Özellikle paylaşımlı hosting ortamlarında .htaccess kullanımı idealdir, çünkü ana konfigürasyona erişim sınırlıdır. Etkinleştirdikten sonra, tarayıcıda bir test URL’si girerek 500 Internal Server Error almadığınızdan emin olun. Bu temel kurulum, ileri düzey rewrite kurallarına geçiş için sağlam bir zemin hazırlar ve SEO açısından temiz URL’lerin yolunu açar.

SEO Dostu URL Rewrite Kuralları Oluşturma

Temel Rewrite Kuralları ile Statik URL Dönüşümü

Temel kurallarla dinamik URL’leri statik hale getirin. Örneğin, index.php?id=123 gibi bir URL’yi /urun/123 şeklinde dönüştürmek için şu kuralı .htaccess’e ekleyin: RewriteRule ^urun/([0-9]+)/?$ index.php?id=$1 [L,QSA]. Burada ^urun/([0-9]+)/?$ regex deseni, urun/ ile başlayan ve rakam içeren URL’leri yakalar. [L] bayrağı son kural olduğunu belirtir, [QSA] ise query string’leri korur. Bu yapı, arama motorlarının ürün sayfalarını daha iyi indekslemesini sağlar, çünkü URL’ler anlamlı kelimeler içerir.

Kategori ve Alt Kategori URL Yapıları

Çok düzeyli kategoriler için hiyerarşik kurallar tanımlayın. /kategori/altkategori/urun-adi şeklinde bir URL için: RewriteRule ^kategori/([^/]+)/([^/]+)/(.+)/?$ index.php?cat=$1&subcat=$2&product=$3 [L]. Bu kural, URL parçalarını yakalayarak backend’e iletir. SEO açısından, bu yapı site mimarisini yansıtır ve iç linkleme stratejilerini güçlendirir. Her kategori seviyesini ayrı regex gruplarıyla (^([^/]+)/) tanımlayarak esneklik kazanın. Uygulamadan sonra, Google Search Console ile yeni URL’leri doğrulayın.

Yönlendirme ve Canonical URL Yönetimi

301 kalıcı yönlendirmelerle eski URL’leri yenilere taşıyın: RewriteRule ^eski-url/?$ /yeni-url/ [R=301,L]. Canonical sorunlarını önlemek için www ve non-www versiyonlarını birleştirin: RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] ve RewriteRule ^(.*)$ https://%1/$1 [R=301,L]. Bu kurallar, duplicate content’i engeller ve link juice’un korunmasını sağlar. Her kuralı test ederek zincirleme hataları önleyin.

Test Etme, Hata Ayıklama ve En İyi Uygulamalar

Rewrite Loglarını Etkinleştirerek Sorun Giderme

Hata ayıklama için LogLevel rewrite:trace8 direktifini httpd.conf’a ekleyin ve CustomLog ile rewrite log dosyasını tanımlayın. Bu sayede her istekte mod_rewrite’in adımlarını izleyebilirsiniz. Örneğin, bir kural eşleşmiyorsa logda RewriteRule saltılan nedenini göreceksiniz. Logları inceleyerek regex hatalarını düzeltin ve sunucu yükünü artırmamak için trace seviyesini production’da kapatın. Bu yöntem, karmaşık kurallarda vazgeçilmezdir.

Yaygın Hatalar ve Performans Optimizasyonları

Sık karşılaşılan hatalardan biri sonsuz döngüdür; bunu [L] bayrağı ve RewriteCond ile önleyin, örneğin RewriteCond %{REQUEST_URI} !^/admin/ gibi şartlar ekleyin. Performansı artırmak için kuralları en spesifikten genele sıralayın ve RewriteMap ile veritabanı tabanlı haritalama kullanın. Cache mekanizmalarıyla statik rewrite’leri hızlandırın. Bu optimizasyonlar, yüksek trafikli sitelerde yanıt süresini kısaltır ve SEO puanınızı yükseltir.

Mod_rewrite ile SEO dostu URL’ler oluşturmak, teknik bir süreç olsa da tutarlı uygulama ile web sitenizin arama motoru başarısını önemli ölçüde artırır. Yukarıdaki adımları takip ederek kendi sitenize uyarlayın, düzenli testler yapın ve kullanıcı geri bildirimlerini değerlendirin. Uzun vadede, bu yapılandırma organik trafiği artırırken bakım kolaylığı sağlar. Profesyonel bir yaklaşımla mod_rewrite’i entegre edin ve sitenizin dijital varlığını güçlendirin.

Kategori: Web Sunucu
Yazar: Lorem
çerik: 546 kelime
Okuma Süresi: 4 dakika
Zaman: Bugün
Yayım: 24-02-2026
Güncelleme: 24-02-2026