İçeriğe geç

WordPress İçin Mükemmel .htaccess Dosyası Nasıl Yazılır?

Web sitenizin performansını artırmak, güvenliğini sağlamak ve SEO’yı iyileştirmek için .htaccess dosyası oldukça önemlidir. Özellikle WordPress gibi popüler bir platformda, doğru şekilde yapılandırılmış bir .htaccess dosyası, sitenizin verimliliğini ve güvenliğini artırabilir.

İşte WordPress için mükemmel bir .htaccess dosyası nasıl yazılır, adım adım açıklanmıştır:

1. Yedekleme Yapın:

Herhangi bir değişiklik yapmadan önce, mevcut .htaccess dosyanızın bir yedeğini alın. Bu, olası hatalar veya istenmeyen sonuçlar durumunda geri dönüş yapmanızı sağlar.

2. HTTPS Yönlendirmesi Ekleme:

Sitenizin HTTPS’ye yönlendirilmesini sağlamak için aşağıdaki kodu .htaccess dosyanıza ekleyin:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Bu, sitenizin ziyaretçilerini otomatik olarak güvenli bir HTTPS bağlantısına yönlendirir.

3. www Yönlendirmesi Ekleme:

Eğer siteniz www ile başlıyorsa veya başlamıyorsa, tercih ettiğiniz şekilde yönlendirme yapmak için aşağıdaki kodu ekleyin:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]

Bu, www sürümünden olmayan bir URL’yi www sürümüne yönlendirir veya tam tersini yapar.

4. Önbellekleme Ayarları:

Sitenizin hızını artırmak için önbellekleme ayarlarını etkinleştirebilirsiniz. Örneğin, aşağıdaki kodu ekleyerek resimlerin, CSS dosyalarının ve JavaScript dosyalarının önbelleğe alınmasını sağlayabilirsiniz:

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresDefault "access plus 2 days"
</IfModule>

5. Spam Koruması Ekleme:

Spam botlarını engellemek için aşağıdaki kodu ekleyerek spam yorumları otomatik olarak reddedebilirsiniz:

# Spam botları engelleme
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*example.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

Bu kod, yorum göndermeye çalışan spam botlarını engeller.

6. Hotlink Koruması Ekleme:

Başkalarının sitenizdeki görselleri veya dosyaları doğrudan kullanmasını önlemek için hotlink koruması ekleyebilirsiniz:

# Hotlink koruma
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?example.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]

Bu kod, başka sitelerden gelen istekleri reddeder.

7. Hata Sayfalarını Yönlendirme:

404 ve diğer hata sayfalarını özelleştirmek için aşağıdaki kodu ekleyebilirsiniz:

# Hata sayfalarını yönlendirme
ErrorDocument 404 /404.html
ErrorDocument 403 /403.html
ErrorDocument 500 /500.html

8. Eklenti Erişimini Engelleme:

Güvenlik açısından, belirli eklenti dosyalarına doğrudan erişimi engelleyebilirsiniz:

# Eklenti erişimini engelleme
<FilesMatch "\.(php|pot|po|mo|php3|php4|php5|phps|phtml|inc)$">
Order Allow,Deny
Deny from all
</FilesMatch>

Bu, kötü niyetli kişilerin eklenti dosyalarını doğrudan erişmesini engeller.

9. XMLRPC Erişimini Kontrol Etme:

XMLRPC saldırılarını önlemek için XMLRPC erişimini sınırlayabilirsiniz:

# XMLRPC erişimini kontrol etme
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>

10. Sıkıştırma Etkinleştirme:

Son olarak, aşağıdaki kodu ekleyerek web sitenizin dosyalarını sıkıştırabilir ve hızını artırabilirsiniz:

# Sıkıştırma etkinleştirme
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>

Bu, HTML, CSS, JavaScript ve diğer dosya türlerini sıkıştırarak web sitesinin yüklenme hızını artırır.

Umarım bu yazı, WordPress için mükemmel bir .htaccess dosyası oluşturmanıza yardımcı olur. Daha fazla bilgi veya destek için lütfen bizimle iletişime geçmekten çekinmeyin.

Dosyanın Tamamı

# HTTPS Yönlendirmesi
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# www Yönlendirmesi
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]

# Önbellekleme Ayarları
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresDefault "access plus 2 days"
</IfModule>

# Spam Botları Engelleme
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*example.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

# Hotlink Koruma
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?example.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]

# Hata Sayfaları Yönlendirme
ErrorDocument 404 /404.html
ErrorDocument 403 /403.html
ErrorDocument 500 /500.html

# Eklenti Erişimini Engelleme
<FilesMatch "\.(php|pot|po|mo|php3|php4|php5|phps|phtml|inc)$">
Order Allow,Deny
Deny from all
</FilesMatch>

# XMLRPC Erişimini Kontrol Etme
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>

# Sıkıştırma Etkinleştirme
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>
Kategori:CMSNasıl Yapılır?Wordpress

İlk Yorumu Siz Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir