İçeriğe geç

WordPress Güvenlik ve SEO için .htaccess Kuralları

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.


WordPress Güvenlik ve SEO için .htaccess Kuralları

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.

Paylaşın: