WordPress Güvenlik ve SEO için .htaccess Kuralları
WordPress web sitelerinin güvenliğini sağlamak ve SEO uyumluluğunu artırmak için .htaccess dosyası kritik bir rol oynar. Doğru yapılandırılmış .htaccess kuralları ile kötü amaçlı saldırılardan korunabilir ve sayfa hızınızı artırabilirsiniz. Bu makalede, WordPress için önerilen .htaccess kurallarını ve alınması gereken güvenlik önlemlerini ele alacağız.
1. .htaccess Dosyasının Önemi
.htaccess, Apache tabanlı sunucularda kullanılan bir yapılandırma dosyasıdır. Bu dosya sayesinde yönlendirme işlemleri, güvenlik önlemleri ve hız optimizasyonları yapılabilir. Apache olması şart olmamakla birlikte LiteSpeed sunucu ve doğrudan php-fpm servisi ile de kullanılabilir bir yapılandırma dosyasıdır.

2. WordPress İçin Önerilen .htaccess Kuralları
2.1. Temel WordPress .htaccess Yapısı
Aşağıdaki yapı, varsayılan olarak WordPress tarafından oluşturulan temel .htaccess dosyasıdır:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Bu yapı, WordPress’in düzgün çalışmasını sağlar. Ancak ek güvenlik önlemleri alınması gerekmektedir.
2.2. Admin Panelini Korumak
Admin paneline erişimi sadece belirli IP adresleri ile sınırlayarak saldırılara karşı koruma sağlayabilirsiniz. Tabii ki dinamik bir IP adresiniz varsa ftp ile sürekli olarak buradaki IP adresinizi güncellemek canınızı sıkabilir ve ekstra zaman kaybına neden olabilir. İlerleyen süreçlerde buradaki IP adresini otomatik olarak güncelleyen bir script yazıp yayına alabiliriz:
<Files wp-login.php>
Order Deny,Allow
Deny from all
Allow from 123.45.67.89 # Sizin IP adresiniz
</Files>
Alternatif olarak, brute force saldırılarına karşı koruma için giriş denemelerini sınırlayabilirsiniz. Burada yer alan IP yine sizin IP adresiniz. Onun dışında kalan IP adreslerine Forbidden uyarı göstermeye yarayan bir ayar görüyoruz:
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .*/wp-login.php(.*)
RewriteCond %{REMOTE_ADDR} !^123\.45\.67\.89$
RewriteRule ^(.*)$ - [R=403,L]
</IfModule>
2.3. XML-RPC’yi Devre Dışı Bırakma
XML-RPC, brute force saldırılarında sıkça kullanılır. Eğer uzaktan yayın yapmıyorsanız bu özelliği kapatabilirsiniz:
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>
2.4. Dosya ve Dizin Erişimini Engelleme
Kritik dosyalara yetkisiz erişimi önlemek için aşağıdaki kodu ekleyebilirsiniz:
# wp-config.php'yi koruma
<Files wp-config.php>
Order Allow,Deny
Deny from all
</Files>
# .htaccess dosyasını koruma
<Files .htaccess>
Order Allow,Deny
Deny from all
</Files>
3. SEO İçin .htaccess Optimizasyonları
3.1. Kırık Linkleri Yönlendirme (301 Redirects)
SEO açısından kırık linkleri yönlendirmek önemlidir. Örneğin eski bir URL’yi yeni bir sayfaya yönlendirmek için:
Redirect 301 /eski-sayfa/ https://example.com/yeni-sayfa/
3.2. Tarayıcı Önbellekleme Kullanımı
Sayfa yükleme hızını artırmak için tarayıcı önbellekleme kullanabilirsiniz:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
</IfModule>
3.3. GZIP Sıkıştırmasını Etkinleştirme
GZIP sıkıştırması, sayfa hızını artırarak SEO açısından avantaj sağlar:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css text/javascript application/javascript
</IfModule>
4. Sunucu Güvenlik Önlemleri
4.1. Hotlink Koruması
Diğer sitelerin sizin resimlerinizi kullanmasını önlemek için aşağıdaki kodu ekleyebilirsiniz. Bu kodlar eklendiğinde, başka sitelere içeriğinizin gömülmesini engellerseniz. Yoksa doğrudan sitenize giren birisinin resimlerinizi kaydetmemesi sağlamaz:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://(www\.)?example.com/ [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [F]
</IfModule>
4.2. Dizin Listelemeyi Devre Dışı Bırakma
Sunucunuzdaki dizinleri herkesin görmesini önlemek için:
Options -Indexes
Sonuç
Güvenli ve SEO uyumlu bir WordPress sitesi için .htaccess dosyasını doğru yapılandırmak kritik öneme sahiptir. Admin panelini koruma, XML-RPC’yi devre dışı bırakma, dosya erişimlerini kısıtlama gibi önlemler güvenliği artırırken, GZIP sıkıştırması ve tarayıcı önbellekleme gibi optimizasyonlarla site hızınızı ve SEO puanınızı yükseltebilirsiniz. Düzenli bakım yaparak, WordPress sitenizin güvenliğini ve performansını sürekli olarak iyileştirebilirsiniz.