WordPress İçin Faydalı “htaccess” Kodları
Bir .htaccess dosyası, sunucunuza web sitenize nasıl hizmet vereceğiniz konusunda komutlar verebileceğiniz dağıtılmış bir Apache sunucusu yapılandırma dosyasıdır . Güvenlik ayarları, dizin koruması, güzel kalıcı bağlantılar, URL’leri yeniden yönlendirme ve yeniden yazma ve diğerleri gibi birçok farklı yapılandırma türü için kullanılabilir.
Ana .htaccess dosyası, canlı sunuculardaki public_html klasörünün içinde kök dizininizde bulunabilir. Ancak, diğer dizinlerin içinde de bir .htaccess dosyası kurmak mümkündür.
Örneğin, wp-admin klasörüne bir .htaccess eklemek, BulletProof Security gibi popüler güvenlik eklentileri tarafından kullanılan yaygın bir güvenlik çözümüdür.
Wordpress İçin Temel .htaccess Dosyası
Her WordPress, kök dizininizde bulabileceğiniz varsayılan bir .htaccess dosyasıyla birlikte gelir. Dosya, WordPress siteniz için Kalıcı Bağlantıları etkinleştirdiğinizde oluşturulur. Varsayılan .htaccess şöyle görünür:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L] </IfModule>
# END WordPress
.htaccess özelleştirme işleminizde bir şeyler ters giderse istediğiniz zaman varsayılan sürüme geri dönebilirsiniz. # ile başlayan satırlar kod yorumlarıdır. WordPress çekirdeği bu bölümün üzerine yazabileceğinden, #BEGIN WordPress ve #END WordPress yorumları arasına hiçbir şey eklemeyin.
#END WordPress’ten sonra varsayılan kuralların altına özel .htaccess kurallarını eklemeniz gerekir. Herhangi bir değişiklik yapmadan önce, her zaman mevcut .htaccess’inizin bir kopyasını alıp bilgisayarınıza indirerek yedekleyin. Hadi birlikte özelleştirebileceğiniz .htaccess kodlarını birlikte inceleyelim.
1- Dizinleri Taramayı Devre Dışı Bırakma
Varsayılan olarak, dizin tarama WordPress’te etkindir. Bu, internetteki herkesin klasörlerinizin içeriğini listeleyebileceği ve WordPress kurulumunuzdaki güvenlik açıklarını kolayca bulabileceği anlamına gelir. .htaccess dosyanıza aşağıdaki kuralı ekleyerek dizin tarama özelliğini devre dışı bırakabilirsiniz:
2- Şüpheli IP Adreslerini Engelleme
.htaccess ile sitenize erişim izni vermek istemediğiniz IP adreslerini herhangi bir nedenle kolayca engelleyebilirsiniz. IP adreslerini , her satırda bir tane olacak şekilde Reddetme kurallarına eklemeniz yeterlidir:
3- Savunmasız Dosyaları Koruma
Hata günlüklerini ve yapılandırma dosyalarını korumak, veritabanı kullanıcı adınız ve parolanız gibi savunmasız verileri içerdiklerinden önemli bir güvenlik görevidir. .htaccess veya wp-config.php gibi farklı yapılandırma dosyalarını tek tek korumak mümkün olsa da, aşağıdaki toplu kuralı kullanmak daha kolaydır. WordPress kurulumunuzdaki en savunmasız dosyaları yetkisiz erişime karşı korur.
4- wp-includes Klasörüne Erişimi Engelleme
wp-includes klasörü önemli Wordpress çekirdek dosyalarını içerir. Aslında, kimsenin bu dosyalara erişmesine gerek yoktur, ancak kötü niyetli saldırganlar tarafından hedef alınabilirler. Bu nedenle, .htaccess dosyanıza aşağıdaki kuralları ekleyerek bu dizine erişimi devre dışı bırakmak iyi bir güvenlik uygulamasıdır:
5- 301 Yönlendirmelerini Ayarlama
301 yönlendirmeleri, ziyaretçilerinizi bir URL’den diğerine yönlendirebileceğiniz kalıcı yönlendirmelerdir. İçeriği yeni bir konuma yerleştirdiğinizde URL’leri yeniden yazmanın önerilen, SEO dostu yolunu oluştururlar. .htaccess dosyanızda 301 yönlendirmelerinizi kolayca yönetebilirsiniz . Bunları alt alta tek tek eklemeniz yeterli.
/oldurl1/ ve /oldurl2/ yerine, gönderi bilgisini eklemeniz yeterlidir. Yeni URL’ler için her zaman http:// veya https:// protokolü de dahil olmak üzere tam URL’yi ekleyin. Kodu vereceğim ancak kullandığınız SEO eklentisi içerisinde 301 yönlendirme alanı yer alacaktır. Önerim SEO eklentiniz içerisinden kullanmanız olacaktır.
6- PHP Dosyalarına Doğrudan Erişimi Kapatma
Temanızdaki PHP dosyalarına ve wp-content dizini içindeki eklenti klasörlerine doğrudan erişimi engellemek de iyi bir güvenlik uygulamasıdır. Bu şekilde hackerların PHP dosyalarınıza kötü amaçlı kod eklemesini önleyebilirsiniz.
7- XML-RPC Erişimini Kaldırma
XML-RPC arabirimi, Jetpack gibi üçüncü taraf uygulamalara sitenize erişim sağlar. Böylece içerik yayınlayabilir veya üzerinde farklı eylemler gerçekleştirebilirler. XML-RPC, varsayılan olarak her WordPress sitesinde etkindir. Ancak, saldırganlar tarafından kolayca istismar edilebilir, bu nedenle sitenizde üçüncü taraf uygulamaları kullanmak istemiyorsanız, devre dışı bırakmanız daha iyi olur. İsterseniz, kurala istisna olarak belirli IP adreslerini ekleyebilirsiniz.
8- Tarayıcı Önbelleğe Almayı Etkinleştirme
Kullanıcılarınızın tarayıcılarının her zaman resim ve komut dosyası gibi statik dosyaları indirmek zorunda kalmaması için sunucunuzda tarayıcı önbelleğe almayı etkinleştirerek sitenizi hızlandırabilirsiniz. Aşağıdaki .htaccess snippet’i, WordPress için önerilen tarayıcı önbelleğe alma sona erme zaman çerçevelerini içerir:
9- Kötü Amaçlı Komut Dosyası Enjeksiyonlarını Önleme
Hackerlar, WordPress sitelerinde sıklıkla GLOBALS ve _REQUEST değişkenlerini hedefler. Sitenize kötü amaçlı kod bulaştırabilmeleri için bu değişkenleri değiştirmeye çalışırlar. Aşağıdaki .htaccess kuralları, sunucunuzun bu değişiklikleri reddetmesine neden olur:
10- wp-content Klasörünü Koruma
wp -content klasörünüz eklentilerinizi, temalarınızı, resim yüklemelerinizi, yedeklerinizin bir kısmını ve diğer önemli içerikleri içerir. Resimler, CSS ve JavaScript gibi statik dosyalar dışında, wp-content dizinine erişim vermek için hiçbir neden yoktur.
Bu kod parçacığı için ayrı bir .htaccess dosyası oluşturmanız ve onu wp-content klasörünüze yerleştirmeniz gerekir. Kullanıcılarınızın tarayıcılarının erişmesini istediğiniz tüm dosya türlerini basitçe ekleyebilirsiniz:
11- Kullanıcı Numaralarını Engelleme
WordPress, aynı yazara ait tüm makaleleri görüntüleyen yazar sayfaları için belirli bir URL yapısı kullanır. Her yazarın author=1 ile başlayan bir kimlik numarası vardır.
Örneğin, bir kullanıcı URL çubuğuna http://www.yoursite.com/?author=1 girerse tarayıcı, yazarın tüm gönderilerini kullanıcı adıyla birlikte görüntüleyen yazar sayfasını yükler. Aynı teknikle, her yazarın kullanıcı adını bulmak kolaydır. Ancak, .htaccess dosyanıza aşağıdaki kuralları ekleyerek kullanıcı adı numaralandırmasını önleyebilirsiniz :
12- Özel Hata Kodu Sayfaları Ekleme
WordPress varsayılan hata sayfalarıyla birlikte gelse de, özel hata sayfaları da oluşturabilir ve bunları .htaccess dosyanız aracılığıyla kullanıcılarınıza sunabilirsiniz. Hata hata kodu sayfalarınızı HTML veya PHP’de oluşturmanız ve bunları kök klasörünüze (canlı sunucularda public_html) yüklemeniz gerekir. Her hata durum kodu için aynı hata sayfasını kullanabilir veya her biri için ayrı ayrı oluşturabilirsiniz.
13- wp-admin Klasörünü Koruma
Sizin ve tüm yöneticilerinizin statik bir IP’si varsa, .htaccess’inize aşağıdaki kuralları ekleyerek WordPress yönetici alanınızı koruyabilirsiniz. Aşağıdaki kod parçacığı, yalnızca İzin ver kurallarında tek tek listelediğiniz IP adreslerine erişim izni verir.
14- Bakım Sayfasını Aktif Hale Getirme
Bu .htaccess kuralının çalışması için ayrı bir bakım sayfasına (maintenance.html) ihtiyacınız var. Bu kod, WordPress sitenizi bakım moduna geçirir:
WordPress kurulumunuza özel .htaccess kuralları eklemek sitenizi daha güvenli hale getirir ve sayfalarınız da eskisinden daha hızlı yüklenir. Performans hakkında daha fazla bilgi edinmek istiyorsanız, WordPress sitenizi nasıl optimize edebileceğinizi açıklayan adım adım kılavuzuma göz atın.