.htaccess Nedir?
İçindekiler
Htaccess (Hypertext Access), Apache türü ağ sunucuları tarafından kullanılır ve oldukça kapsamlıdır. Web sitenizin yönlendirmelerini ve IP yönetimini yapılandırmanızı sağlayan bir metin dosyasıdır. Güvenlik ve düzenleme alanında kullanabileceğiniz, web sitenizin dizine eklenebilir olmasını ve hızla yüklenmesini sağlayan bu dosyanın SEO açısından birçok faydası bulunur. Linux işletim sistemlerinin tamamında yer alan bu dosya çok fazla komut içerebilir ancak kolay ve düzenli bir kullanım sunar. Sitenizde yapacağınız değişiklik, yetki ve kısıtlama işlemlerinin tümünü bu dosya üzerinden gerçekleştirmeniz mümkündür. Bir web sitesi sahibiyseniz, bu içerikte bahsedeceğimiz üzere, .htaccess dosyasının faydaları, nasıl oluşturulabileceği ve kullanımı konusunda bilgi sahibi olmanızda fayda vardır.
.htaccess Dosyası Nasıl Çalışır?
Web sitenizde yer alan her bir dosya, sunucunuzdaki dizinde bulunur. Bir dizindeki .htaccess dosyasında yapılan değişiklikler, yalnızca o dizindeki sayfaları etkiler. Htaccess dosyası eğer web sitenizin kök dizininde yer alıyorsa, dosyadaki değişiklikler, yapılandırma sitenizdeki tüm URL’ler için geçerli olur. Web sitesinde kullanıcı adı ve parola kullanarak dizine erişimi olan ve olmayan kişileri belirlemek mümkündür. Htaccess bunu http.config yönergelerini kullanarak yapar. Web sitenizin .htaccess dosyasını kullanmak yapılandırma için işlevsel olsa da, çok dikkatli olmanızda fayda var. Bu dosyaya erişimi olan herkes sunucu yapılandırması alanında yetki sahibidir ve yapılan değişiklik anında yayınlanır. Bu değişiklikler sitenizin performansını etkileyebileceğinden ve güvenlik riski oluşturabileceğinden, denemeden önce .htaccess dosyanızın ve web sitenizin yedeğini almanız, sorunları görmek için sık sık kontrol etmeniz oldukça önemlidir.
.htaccess Dosyasıyla Neler Yapılabilir?
- SEO dostu URL’ler oluşturabilirsiniz.
- Domain yönlendirmeleri yapabilirsiniz.
- IP yönlendirmesi ve engellemesi yapabilirsiniz.
- Yapım aşaması sayfası yönlendirmeleri yapabilirsiniz.
- Hata sayfalarını düzenleyebilirsiniz.
- Klasör yetki sınırlandırmasını ayarlayabilirsiniz.
- Dosyaları gizleyebilir, özel dizinlere erişimi engelleyebilirsiniz.
- Bazı botlarının sitenizi taramasını engelleyerek düşman botlardan uzak kalabilirsiniz.
- Hotlink engellemesi yapabilirsiniz
- Verilerinizi sıkıştırarak optimize edebilirsiniz.
- İphone algılama ve yönlendirme yapabilirsiniz.
.htaccess ve SEO
SEO açısından kritik bir rol oynayan bu dosya; yönlendirme, URL yeniden yazma, içerik sıkıştırma ve güvenlik gibi işlevleri yöneterek, web sitelerinin arama motorlarında daha iyi sıralama elde etmelerini sağlar. Yönlendirme kuralları sayesinde eski URL’lerin yeni adreslere yönlendirilmesi, sitenin SEO değerinin korunmasını açısından faydalıdır. Bakım sayfaları, güvenlik önlemleri ve yönlendirmeler ziyaretçilerin kullanıcı deneyimini iyileştirir. Ayrıca kullanıcı deneyiminin iyileşmesini sağlayan bir diğer özellik ise SEO dostu URL yapılandırması ve içeriğin sıkıştırılmasıyla elde edilen hızlı yükleme süreleridir. Oldukça kapsamlı olan bu dosya sitenizin SEO performansını olumlu etkileyecek SEO çalışmaları için oldukça önemlidir.
.htaccess ile Site Optimizasyonu
SEO Uyumlu URL
URL’lerin ziyaretçileriniz ve arama motoru botları için kolay ve anlaşılır olarak tasarlanmasını sağlayın. Sayfa içeriğini net bir şekilde ifade eden ve anahtar kelime kullanılan sade URL’ler tercih edilmelidir.
Örnek olarak:
1)https://www.segnet.com.tr/hizmetlerimiz.php?id=12345 2)https://www.segnet.com.tr/hizmetlerimiz
2. URL sade ve anlaşılır olduğundan dolayı tercih edilmelidir.
301 Yönlendirmeleri
301 yönlendirmesi, arama motorlarının eski ve yeni web sayfalarınızı aynı anda taramasını engeller. Ziyaretçilerinizin yönelmesini istediğiniz sayfayı bu şekilde belirlersiniz. 301, eski bağlantının (yönlendirilen URL) artık kullanımda olmadığını gösterir. Tek bir sayfa URL’sini (html/php dosyası) diğerine yönlendirmek için aşağıdaki kodu kullanabilirsiniz:
Redirect 301 /eskisayfanız.html http://www.siteismi.com/yenisayfanız.html
404 Sayfaları
Sitenizde bir dosyayı silebilirsiniz ve ya kullanıcı olmadığı halde yanlış URL yazarak sitenizi 404 hatasına düşürebilir. Böyle durumlarda ziyaretçilerinizin kullanıcı deneyimini ve sıralamanızı olumsuz etkilememek için 404 hata yönlendirmesi gerçekleştirmeniz gerekmektedir. 404 Hatası hakkında daha fazla bilgi almak için bağlantıyı ziyaret edebilirsiniz. Aşağıdaki kod yardımıyla yönlendirmeyi gerçekleştirebilirsiniz.
RewriteEngine On
ErrorDocument 404 https://www.segnet.com.tr/404_hata_dosyasi.php
Belirli IP Adresine İzin Verme/Engelleme
Bunu yapmak için hazırladığınız “.htaccess” dosyasını ilgili alt klasörün içerisine koymanız yeterli.
deny from all #herkesin girmesini engelle
allow from 127.0.0.1 #bu ip adresine izin ver
allow from 192.168.0.0/255 #ya da bu ip blokunun girmesine izin ver
Ayrıca sadece “deny from all” diyerek kullanıcılar tarafından erişimini tamamen engelleyebilirsiniz.
Htaccess Domain veya Subdomain Yönlendirme
Htaccess ile web projenizin domainini farklı bir domaine yönlendirebilirsiniz. Aynı zamanda web projenizin alan adını “www” ya da “www” olmadan açılmasını da sağlayabilirsiniz. Bunlar dışında SSL sertifikası almanız halinde web projenizin “https://” biçimde açılması için yönlendirmeler de gerçekleştirebilirsiniz.
RewriteEngine On
RewriteCond %{HTTP_HOST} phpmutfagi.com [nc]
RewriteRule (.*) //www.phpmutfagi.com/$1 [R=301,L]
Bazı Botların Sitenizi Taramasını Engelleyin
Sitenizde sunucunuzu yoran botları basit aşağıdaki kod bloğu ile engelleyerek sunucunuzu rahatlatın. Sitenizde yoğun dolaşan botlar sunucunuzu yorar. Örnek olarak birkaç tanesini bırakacağım.
Metin Dosyalarını gzip/deflate Kullanarak Sıkıştırın
Apache mod_deflate modülü, verileri kullanıcıya iletmeden önce gzip sıkıştırmasını kullanarak sıkıştırabilir. Bu, sitenizin kullandığı bant genişliği miktarını azaltacaktır. Modül çoğu sunucuda zaten etkindir ancak onu gerçekten kullanmak için aşağıdaki satırı eklemeniz gerekir:
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
Süreli Başlıklar Oluşturun
Yıllar, aylar, haftalar, günler, saatler, dakikalar ve saniyeler de dahil olmak üzere tüm standart zaman birimlerini kullanarak her öğenin önbellek süresini aşağıdaki gibi ayarlayabilirsiniz.
ExpiresActive On
ExpiresByType image/jpg “access plus 1 year”
ExpiresByType image/jpeg “access plus 2 year”
Dosya Yükleme Boyutunu Sınırlayın
Kullanıcıların çok büyük dosyalar yüklemesini önlemek için .htaccess ile dosya yükleme boyutunu sınırlayın. Bayt cinsinden boyut sınırını girin.
Varsayılan Dizin Sayfasını Değiştirin
Varsayılan olarak, sunucunuz web sitenizin ilk sayfası olarak index.htm’yi, ardından index.html’yi, ardından index.php’yi ve ardından default.htm’yi görüntülemeye çalışacaktır. Varsayılan bir dizin sayfasını aşağıdaki gibi ayarlamak için bunu geçersiz kılabilirsiniz (bunun için first.html’yi, görüntülenmesini istediğiniz sayfayla değiştirmelisiniz)
#Set default index page
DirectoryIndex first.html
Aynı zamanda sunucunun sunabileceği bir liste bulana kadar sırayla inceleyeceği listenin tamamını buraya ekleyebilirsiniz.
#Set default index pages
DirectoryIndex index.php index.htm index.html home.html
Sunucu Saat Dilimini Değiştirin
Sunucu saat diliminizi istediğiniz herhangi bir saat ile değiştirebilirsiniz. Aşağıdaki kod sunucuyu New York saatine ayarlar.
#Set server time zone
SetEnv TZ America/New_York
.htaccess Dosyasını Yerleştirme
Htaccess dosyası kontrol ettiği web sitesinin kökünde bulunarak sitedeki tüm alt klasörleri etkileyebilir. Bir diğer seçeneğiniz de dosyayı sitenizdeki bir alt dizine yerleştirmektir. Böylece dosya yalnızca içinde bulunduğu dizini ve altındakileri etkileyecektir. Web sitenizin yalnızca bir bölümünün etkilenmesini istiyorsanız bu sizin için daha kullanışlı olacaktır.
Sitenizde birden fazla .htaccess dosyası bulunmasına izin verilir ancak bakım kolaylığı sağlamak ve gerekli tüm değişiklikleri yapmak için genellikle site kökünde bulunan tek bir dosya kullanımı tercih edilir.
.htaccess Dosyasına Erişim
Aşağıdaki yönergeleri takip edebilmeniz için, Hosting hesabınızın kontrol paneline erişiminizin olması gerekmektedir.
Dosya Yöneticisine Erişmek
Hosting hesabınızın kontrol panelinden “Files” (Dosyalar) kategorisinde bulunan Dosya Yöneticisi aracını açın.
cPanel İçin
Files (Dosyalar) kategorisinden File Manager (Dosya Yöneticisi) bölümüne erişebilirsiniz.
Dosya Yöneticisinde .hatccess Dosyasını Bulmak
Sağ tıklayıp “Düzenle” seçeneğini seçerek, public_html dizininde bulunan .htaccess dosyasına kolayca erişebilirsiniz.
cPanel İçin
İşlem neredeyse yukarıdakiyle aynıdır. Aşağıdaki adımları takip edin.
Bulunmadığında .htaccess Dosyası Oluşturmak
Eğer .htaccess dosyası bulunmuyorsa, dosya yöneticisinde herhangi bir alanda sağ tıklayarak “Yeni Dosya” seçeneğini seçin. Dosyaya .htaccess ismini verdikten sonra “oluştur” seçeneğine tıklayın.
cPanel İçin
Dosya Yöneticinizdeki Dosya bölümüne tıklayarak oluşturacağınız dosyaya .htaccess ismini verin.
Sonuç
Htaccess dosyasının kullanımına vakıf olmak web sitenizin performansını ve SEO çalışmalarınızı olumlu etkileyeceğinden oldukça gereklidir. Bu içerikte, Hosting kontrol panelinde bulunan Dosya Yöneticisi’ni kullanarak .htaccess dosyasını bulmayı ve olmadığı taktirde nasıl oluşturabileceğinizi öğrendiniz. Ek olarak Htaccess dosyasının neler yapılabileceğini detaylı olarak inceledik. Siz de web sitenizdeki yapılandırmaları ustaca yönetebilmek için bu dosyanın kolaylıklarından faydalanın.