İçeriğe geç
Flatinium
SEO6 dk okumaYazanDeniz Işık

htaccess SEO komutları ve dikkat edilmesi gerekenler

Yönlendirme, www birleştirme ve önbellek ayarları tek dosyadan yönetiliyor. En çok kullanılan komutlar ve en pahalı hatalar.

htaccess SEO komutları ve dikkat edilmesi gerekenler — Flatinium SEO yazısının kapak görseli

Bu dosya ne yapıyor?

htaccess, Apache sunucularında dizin bazında yapılandırma sağlayan bir dosya. Sunucunun ana yapılandırmasına erişmeden bazı davranışları değiştirmenizi sağlıyor.

SEO tarafında kullanıldığı yerler dar ama önemli:

  • Adres yönlendirmeleri
  • www ile www'suz sürümün birleştirilmesi
  • HTTPS zorlaması
  • Önbellek başlıkları
  • Erişim kısıtlamaları

Apache'nin kendi belgeleri dosyanın nasıl çalıştığını ve ne zaman kullanılmaması gerektiğini açıklıyor.

Önce bir uyarı

Bu dosyadaki tek bir sözdizimi hatası, sitenin tamamını erişilemez hâle getiriyor. Sunucu 500 hatası döndürüyor ve hiçbir sayfa açılmıyor.

Bu yüzden çalışma yöntemi şu olmalı:

  1. Değişiklikten önce dosyanın bir kopyasını alın
  2. Tek seferde tek bir değişiklik yapın
  3. Kaydedip siteyi hemen kontrol edin
  4. Sorun varsa kopyayı geri yükleyin

Bu disiplin olmadan yapılan düzenlemelerde sitenin saatlerce kapalı kaldığı durumlar görüyoruz.

Dikkat — Barındırma paneli üzerinden düzenleme yapıyorsanız bile kopya alın. "Geri al" düğmesi her panelde bulunmuyor.

Hangi sunucuda çalışıyor?

Bu, atlanınca zaman kaybettiren bir ayrıntı.

Apache — htaccess çalışıyor. Nginx — çalışmıyor. Aynı ayarlar sunucu yapılandırmasında tanımlanıyor ve genellikle sunucu erişimi gerektiriyor. Modern platformlar — genellikle uygulamanın kendi yapılandırma dosyasında yönetiliyor.

Kendi sitemizde yönlendirmeler uygulama katmanında tanımlı; dosya bazlı bir yapılandırma kullanmıyoruz. Bunun avantajı, kuralların sürüm kontrolünde durması ve dağıtımla birlikte gitmesi.

Sunucunuzun hangisi olduğunu bilmiyorsanız barındırma sağlayıcınıza sormak en hızlı yol.

En çok kullanılan üç iş

1. www birleştirme. Sitenizin hem www'lu hem www'suz sürümü açılıyorsa, Google bunları iki ayrı site olarak görebiliyor. Biri seçilip diğeri kalıcı olarak ona yönlendirilmeli.

Bu, kopya içerik sorununun en yaygın biçimi; ayrıntısını kopya içerik yazımızda anlattık.

Kopya adres birleştirmenin nasıl değerlendirildiğini Google'ın belgesi anlatıyor.

2. HTTPS zorlama. http üzerinden gelen istekler https'e yönlendirilmeli. Bu hem güvenlik hem kopya adres meselesi.

3. Eski adres yönlendirmeleri. Site taşındığında ya da adres yapısı değiştiğinde eski adresler yeni hedeflerine kalıcı olarak yönlendirilmeli.

Üçüncüsünü kendi sitemizde ihmal ettiğimizde ne olduğunu gördük: 47 eski adres 404 dönüyordu ve toplam 15.605 gösterim taşıyorlardı.

Kural sırası neden önemli?

Kurallar yukarıdan aşağıya değerlendiriliyor ve bu, sık yapılan bir hataya yol açıyor.

Genel bir kural en üste yazıldığında, altındaki özel kurallar hiç çalışmıyor. Örneğin bütün trafiği ana sayfaya yönlendiren bir kural en üstteyse, altındaki hiçbir sayfa yönlendirmesi devreye girmiyor.

Doğru sıra: özelden genele. En dar kapsamlı kurallar üstte, en geniş olanlar altta.

Sıra

Kural tipi

1

Tekil sayfa yönlendirmeleri

2

Dizin bazlı yönlendirmeler

3

www ve HTTPS birleştirme

4

Genel desen kuralları

Yönlendirme zincirleri

Bu dosyada biriken en yaygın sorun zincirler.

Bir sayfa taşınıyor, kural yazılıyor. Bir yıl sonra aynı sayfa yeniden taşınıyor, yeni kural yazılıyor ama eskisi güncellenmiyor. Sonuç: A'dan B'ye, B'den C'ye giden bir zincir.

Her adım fazladan bir istek demek ve küçük bir değer kaybı üretiyor. Ayrıntısını bağlantı değeri yazısında, tarama tarafındaki maliyetini tarama bütçesi yazısında ele aldık.

Düzeltme yolu: tarama araçları zincirleri doğrudan raporluyor. Her kuralın doğrudan son hedefi göstermesi sağlanmalı.

Örnek senaryo — Bir sitede yıllar içinde biriken yönlendirme kuralları üç adımlık zincirler oluşturmuş. Tarama raporunda 60 zincir görünüyor. Kurallar sadeleştirilip her biri doğrudan son hedefe çevrildiğinde hem tarama istekleri azalıyor hem sayfalar daha hızlı açılıyor.

Önbellek başlıkları

htaccess ile statik dosyalara önbellek süresi tanımlanabiliyor. Bu, tekrar eden ziyaretlerde belirgin bir hız kazancı sağlıyor.

Genel mantık:

  • Yazı tipleri ve sürümlenmiş dosyalar → uzun süre
  • Görseller → orta süre
  • HTML → kısa süre veya önbelleklenmesin

Kendi sitemizde bu ayarların yanlış olduğunu ölçerek bulduk: bütün statik dosyalar iki dakikalık önbellekle sunuluyordu. Yazı tipleri için bir yıl, görseller için bir hafta olarak düzeltildi.

Önbellek süresi uzun tutulacaksa dosya adında sürüm bilgisi bulunmalı; aksi hâlde güncelleme yaptığınızda kullanıcılar eski dosyayı görmeye devam ediyor.

Kaç kural fazla?

Her istekte bu dosya baştan sona değerlendiriliyor. Yüzlerce kural biriktiğinde bu, ölçülebilir bir gecikme üretmeye başlıyor.

Çok sayıda yönlendirme gerekiyorsa iki alternatif var:

Desen kullanmak. Tek tek adres yazmak yerine ortak desenleri yakalayan kurallar.

Uygulama katmanında yönetmek. Yönlendirmeleri bir veritabanında ya da yapılandırma dosyasında tutup uygulama düzeyinde çözmek. Bizim tercihimiz bu; kurallar sürüm kontrolünde duruyor ve dağıtımla birlikte gidiyor.

Kontrol listesi

  1. Dosyanın kopyası alındı mı?
  2. www ve HTTPS birleştirmesi tek bir adrese çıkıyor mu?
  3. Yönlendirmeler 301 mi?
  4. Zincir var mı?
  5. Kural sırası özelden genele mi?
  6. Değişiklikten sonra site açılıyor mu?

Altıncı madde her değişiklikten sonra tekrarlanmalı.

Güvenlik tarafındaki kullanımlar

SEO dışında sık kullanılan birkaç iş daha var ve bunlar da dolaylı olarak arama tarafını etkiliyor.

Dizin listelemesini kapatmak. Sunucu, içinde dizin sayfası olmayan klasörlerin içeriğini listeleyebiliyor. Bu hem güvenlik hem gereksiz indeksleme riski.

Hassas dosyaları korumak. Yapılandırma ve yedek dosyalarının tarayıcıdan erişilebilir olmaması gerekiyor.

Yönetim paneline erişimi sınırlamak. Belirli adreslerden erişim ya da ek doğrulama katmanı.

Bunlar doğrudan sıralamayı etkilemiyor ama bir güvenlik olayı yaşandığında etkisi doğrudan sıralamaya yansıyor.

Test etmeden yayına almayın

Yönlendirme kuralları yazıldıktan sonra kontrol edilmesi gerekenler:

  1. Ana sayfa açılıyor mu?
  2. Birkaç iç sayfa açılıyor mu?
  3. Yönlendirilen eski adres doğru hedefe gidiyor mu?
  4. Yönlendirme tek adımda mı gerçekleşiyor?
  5. www ve HTTPS varyasyonları tek adrese çıkıyor mu?

Dördüncü madde için tarayıcının ağ sekmesi kullanılıyor; kaç yönlendirme yapıldığı orada görünüyor.

Alternatif yaklaşım

Yönlendirmeleri dosya yerine uygulama katmanında tutmanın üç avantajı var:

Sürüm kontrolü. Kurallar kod deposunda duruyor, kim ne zaman ekledi görünüyor. Test edilebilirlik. Yayına almadan önce denenebiliyor. Taşınabilirlik. Sunucu değiştiğinde kurallar da geliyor.

Kendi sitemizde bu yaklaşımı kullanıyoruz; kurallar veriden üretiliyor ve dağıtımla birlikte gidiyor.

Sık yapılan dört hata

Kuralı yanlış dosyaya yazmak. Alt dizinlerde ayrı dosyalar bulunabiliyor ve alttaki üsttekini geçersiz kılabiliyor.

Karakter kodlaması. Dosya farklı bir kodlamayla kaydedildiğinde sunucu satırları okuyamıyor.

Yorum satırını yanlış işaretlemek. Yorumlar için doğru işaret kullanılmazsa satır kural olarak yorumlanıyor.

Test etmeden çok sayıda kural eklemek. Hata çıktığında hangisinin sorumlu olduğu bulunamıyor.

Ne zaman dokunulmamalı?

Üç durumda bu dosyaya girmemek daha doğru.

Sunucuya erişiminiz kısıtlıysa. Bir hata durumunda geri alamayacaksanız risk çok yüksek.

Yönlendirme sayısı azsa. Beş on yönlendirme için panel üzerinden ya da uygulama katmanında çözmek daha güvenli.

Ne yaptığınızdan emin değilseniz. İnternetten kopyalanan kural blokları, sitenizin yapısına uymayabiliyor.

Bu dosyanın affetmeyen tarafı, hatanın sonucunun kısmi değil bütünsel olması: site ya çalışıyor ya hiç açılmıyor.

Sonuç — htaccess güçlü ama affetmeyen bir araç. Yaptığı işlerin çoğu SEO açısından temel ve zorunlu; riski ise tek bir yazım hatasının siteyi tamamen kapatabilmesi. Kopya almadan dokunulmamalı.

Yönlendirme ve adres yapısı düzeltmelerini teknik SEO kapsamında yapıyoruz; mevcut sitenizdeki zincirleri ve kopya adresleri SEO denetimi ve analiz çalışmasında çıkarıyoruz.

SSS

Sık sorulan sorular

htaccess her sunucuda çalışır mı?

Hayır, yalnızca Apache sunucularında. Nginx kullanan sitelerde bu ayarlar sunucu yapılandırmasında tanımlanıyor. Modern barındırma platformlarında ise genellikle uygulamanın kendi yapılandırma dosyasında yönetiliyor.

En çok hangi işler için kullanılıyor?

Üç iş öne çıkıyor: www’lu ve www’suz sürümü tek adreste birleştirmek, tüm trafiği HTTPS’e zorlamak ve eski adresleri kalıcı olarak yönlendirmek. Bunların üçü de kopya adres sorununu doğrudan çözüyor.

Yanlış yazarsam ne olur?

Site tamamen erişilemez hâle gelebiliyor. htaccess dosyasındaki bir sözdizimi hatası sunucunun 500 hatası döndürmesine yol açıyor. Bu yüzden değişiklik yapmadan önce mutlaka dosyanın bir kopyası alınmalı.

Yönlendirmeleri 301 mi 302 mi yapmalıyım?

Taşıma kalıcıysa 301. 302 geçici anlamına geliyor ve arama motoru eski adresi dizinde tutmaya devam ediyor. Site taşıma ve adres değişikliklerinde neredeyse her zaman 301 doğru olan.

Kaç yönlendirme kuralı fazla?

Yüzlerce kural performansı etkilemeye başlıyor çünkü her istekte dosya baştan sona değerlendiriliyor. Çok sayıda yönlendirme gerekiyorsa bunları uygulama katmanında yönetmek daha verimli.