.htaccess: SEO İçin Eksiksiz Rehber

.htaccess: SEO İçin Eksiksiz Rehber
David Kaufmann
SEO Eğitimi
6 min read

SEO'da, ne istediğimizi geliştiriciye iletebilmek ve uygulamanın proje için başarılı olmasını sağlamak için belirli direktifleri nasıl yöneteceğimizi öğrenmeliyiz.

Bununla birlikte, birçok web sitesi en yaygın direktifleri .htaccess dosyası aracılığıyla yönetir. Bu dosya hakkında biraz daha ayrıntılı bilgi edinmek ve arama motorları için optimize etmenin en iyi püf noktalarını öğrenmek için lütfen okumaya devam edin.

.htaccess dosyası nedir?

.htaccess dosyası Hypertext Access'in kısaltmasıdır. Adını Apache sunucularındaki dizin yapılandırma dosyasından alan ve sunucunun ana direktiflerini toplamak için kullanılan bir hipermetin erişim dosyasıdır.

Adın "." ile başlamasının nedeni, bu tür dosyaların gizli olarak tanımlandığı Unix sistemleridir. Bu nedenle, sorunlardan kaçınmak için Windows'ta yeniden adlandırırken dikkat etmeliyiz.

Dosya yerel olarak oluşturulur, metin formatında (.txt) kaydedilir — asla Word formatında değil — ve FTP aracılığıyla sunucuya yüklenir, kullanılması gereken klasöre yerleştirilir.

Nasıl çalışır?

Bu dosyanın davranışlarını ve tüm özelliklerini dikkate almalısınız:

  • Bu dosyanın davranışı, web sitesinin dizin ağacı boyunca hiyerarşiktir, bu da kök dizinde bir dosyanız varsa, direktiflerin tüm klasörleri etkileyeceği anlamına gelir. Bu nedenle tek bir htaccess dosyası yoktur; gerekirse her dizine bir tane olabilir.
  • Bir kullanıcı bir web sayfasına her eriştiğinde, sunucu bu belgeleri ve içerdikleri direktifleri tarar. Bu nedenle, olaylardan kaçınmak için mükemmel şekilde yapılandırılmış olmaları ve hata içermemeleri esastır.
  • Herhangi bir değişiklik yapmadan önce, bunu .htaccess belgesinin bir kopyasında yaptığınızdan emin olun, çünkü kötü düzenlerseniz daha sonra sorunlarınız olabilir.
  • Dosyadaki yorumlar her zaman bir diyez "#" ile tanıtılır.

htaccess dosyası SEO için nasıl optimize edilir?

Belirli direktifler aracılığıyla sunucudan ne yapmasını istediğimizi belirtebilir ve böylece çeşitli alanları optimize edebiliriz. Htaccess'ten şunları yapabiliriz:

Bir alt etki alanını bir alt klasöre yönlendirme

Bu, bir alt etki alanını kaldırmamız ve bir etki alanı klasörünün parçası yapmamız gerektiğinde çok kullanışlı olacaktır. Örneğin: hola.example.com'u www.example.com/hola'ya yönlendirme

301 ve 302 yönlendirmeleri

Dosyada eski URL'ler, yönlendirmenin gitmesi gereken URL'lerle birlikte dahil edilir.

Dosya yönlendirmesi

Redirect /eski-sayfa.html https://www.yeni-sayfa.html

Şifre koruması

Bir web sitesinin belirli alanları şifre ile korunabilir:

.htaccess aracılığıyla basit şifre koruması

AuthType Basic AuthName "Korumalı alan" AuthUserFile /<şifre dosyasının mutlak yolu>/.htpasswd AuthPGAuthoritative Off require user Kullanici1 Kullanici2 Kullanici3

Klasör erişim kontrolü

Direktifler aracılığıyla, tüm kullanıcılar için veya belirli bir IP aracılığıyla belirli klasörlere erişimi (reddetme veya izin verme) yönetebilirsiniz:

IP erişim düzenlemesi için dosya

Order deny,allow Deny from .aol.com Deny from 192.168 Allow from 192.168.220.102

Ana etki alanını belirtin

domain.com veya www.domain.com'a 301 yönlendirme kuralı kullanma

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.

RewriteCond %{HTTPS}s ^on(s)|off

RewriteCond http%1://%{HTTP_HOST} ^(https?://)(www.)?(.+)$

RewriteRule ^ %1%3%{REQUEST_URI} [R=301,L]

Güvenli sürüme yönlendirmeler

Web sitesinin güvenli protokole yönlendirmeleri:

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

Varsayılan sayfayı değiştirin

Bazı web sitelerinde, varsayılan sayfa /index olarak adlandırılır, bu SEO dostu değildir. Görüntülenmeyecek şekilde değiştirilebilir.

DirectoryIndex ornek-sayfa.php

PHP bellek sınırını artırın

PHP uygulamalarının kullanımı belirli bir sınıra sahiptir çünkü betikler sunucuda bellek kaplar. Aşağıdaki komutu kullanarak kapasiteyi artırabilirsiniz:

PHP Bellek Sınırı

php_value memory_limit 128M

Sunucunun saat dilimini değiştirin

Aşağıdaki komutla doğru saat dilimini ayarlayabilirsiniz:

#Varsayılan saat dilimini ayarlayın SetEnv TZ America / Washington

Belge kodlaması

Her belge türü için kodlama türünü belirtebilirsiniz. UTF-8 kodlaması için bu komutu girmeniz gerekir:

Karakter kodlamasını belirtin

AddDefaultCharset utf-8

Web sitenizin önbelleğe alınmasını zorlayın

Önbelleğe alma sıklığındaki saniye sayısını değiştirerek, kullanıcı bizi ziyaret ettiğinde, değiştirilmemiş öğelerin çoğu zaten önbelleğe alındığından sayfanın daha hızlı yüklenmesini kolaylaştırırız. Bu esas olarak görsel yüklemeyi iyileştirmemize yardımcı olur.

<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/gif A432000 ExpiresByType image/jpg A432000 ExpiresByType image/jpeg A432000 ExpiresByType image/png A432000 ExpiresByType image/ico A432000 ExpiresByType image/bmp A432000 ExpiresByType text/css A432000 ExpiresByType text/javascript A432000 ExpiresByType application/javascript A432000 ExpiresByType application/x-javascript A432000 </ifmodule>

404 hata sayfalarını özelleştirin

Kullanıcı bulunamayan bir sayfaya ulaştığı için bu hata oluştuğunda, htaccess dosyası bu optimize edilmiş 404 hata sayfalarını görüntüleyebilir. Çoğu zaman en çok gözden kaçırılan sayfalardan biridir ve kullanıcıyı tutmak veya gitmesine izin vermek arasındaki farkı yaratabilir.

Yerel konumda özel hata mesajı

ErrorDocument 404 /erisim-yolu/404.html Güvenlik

Bu dosya aracılığıyla bazı spam botlara erişimi engelleyebilirsiniz:

RewriteEngine on

RewriteCond %{HTTP_REFERER} buttons-for-website.com [NC,OR]

RewriteCond %{HTTP_REFERER} darodar.com [NC,OR]

Hotlinking

Hotlinking gibi etik olmayan teknikleri de engelleyebilirsiniz: Bu teknik, sunucunuzda barındırılan ancak farklı bir web sitesindeki içeriği görüntülemekten ibarettir, böylece ziyaretçi başka bir sitede olsa bile, bu içeriği görüntüleme yükünü, genellikle videolar veya fotoğraflar, sunucunuz taşır.

Hotlinking'i önle

RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://sizin-domain/.*$ [NC] [OR] RewriteCond %{HTTP_REFERER} !^http://www.sizin-domain/.*$ [NC] [OR] RewriteRule .*.(gif|GIF|jpg|JPG|bmp|BMP|wav|mp3|wmv|avi|mpeg)$ - [F]

Dostça URL'ler oluşturun

URL'lerden varsayılan parametreleri kaldırmak ve daha dostça görünmeleri ve arama sonuçlarında daha iyi sıralanmaya yardımcı olmaları için kılık değiştirmek mümkündür. Örneğin: https://www.example.com/index.php?parameter=blog https://www.example.com/blog olarak daha iyi görünür

RewriteEngine On

RewriteRule ^magaza/([^/])/([^/])/$ /index.php?kategori=$1&urun=$2 [L]

Gezinmeyi iyileştirmek için dosyaları sıkıştırın

Htaccess'teki bir kural aracılığıyla, web sitenizin js, css, html ve metin dosyalarını yükleme sırasında daha az yer kaplayacak şekilde sıkıştırabilirsiniz. Bu, mobil kullanıcıların gezinirken daha az veri tüketmesini kolaylaştıracaktır. SEO için WPO'nun önemini hatırlayalım!

<ifmodule> AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript </ifmodule>

Gzip sıkıştırması

Daha hızlı bir indirme elde etmek ve gezinme kalitesini artırmak için sunucudaki dosyalarınızı sıkıştırın.

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4.0[678] no-gzip BrowserMatch bMSIE !no-gzip !gzip-only-text/html

Dosya dizine eklemeyi önleyin

Belirli URL'leri veya klasörleri robots.txt dosyasından engellemiş olmamıza rağmen Google'ın bunları hala dizine eklediğini görebiliriz. Aşağıdaki komutu girerek tam bir engelleme elde edeceğiz:

<Files ~ «.pdf$»>

Header set X-Robots-Tag «noindex, follow»

</Files>

Keep-Alive'ı etkinleştirin

Bunu etkinleştirmek, sayfa her yüklendiğinde bir bağlantı başlatmak yerine sunucuya sürekli bir bağlantı sağlar. Keep-alive ile web sitesinin hızlı indirilmesini sağlarız.

<ifModule mod_headers.c> Header set Connection keep-alive </ifModule> Artık htaccess dosyasıyla sahip olduğunuz tüm olanakları gördüğünüze göre, bunları uygulamakta özgürsünüz. Bu kurallar, ister CMS olarak WordPress'iniz olsun, ister kendi kodunuz olsun, ister başka bir sistem olsun geçerlidir.

WordPress projeniz varsa hayatınızın daha basit olacağı doğrudur, çünkü htaccess dosyasını doğrudan editörde düzenleyebilirsiniz. Yine de çok dikkatli olun çünkü bu sadece başka bir eklenti değildir ve siteyi bozmak çok kolaydır! Size nasıl yapacağınızı söyleyeceğiz!

WordPress'te htaccess dosyasını düzenleme

WordPress kullanıyorsanız, kolay ve hızlı bir şekilde düzenlemenize olanak tanıyacak Rank Math eklentisini yüklemenizi öneririz.

Sadece Rank Math > Genel Ayarlar > .htaccess'i Düzenle'ye gitmeniz gerekir

Htaccess dosyası WordPress
Htaccess dosyası WordPress

WordPress'ten htaccess dosyasını düzenlemek çok basittir, bu nedenle dikkatli olmayı unutmayın!

Hala sorularınız mı var? Bize bir yorum bırakın ve bir göz atmaktan mutluluk duyarız!

Başvurulan kaynaklar:

- CDmon: .htaccess dosyasının bilgileri ve kullanımları - Computerhoy: .htaccess nedir, ne işe yarar ve temel kodlar - Ionos: Herkesin bilmesi gereken .htaccess'i yapılandırmak için on püf noktası - HelpOne: .htaccess nedir? - Hostinger: .htaccess dosyası nedir?

Yazar: David Kaufmann

David Kaufmann

Son 10 yılı aşkın süredir tamamen SEO'ya kafayı takmış durumdayım — ve açıkçası, başka türlü olmasını da istemezdim.

Kariyerim, internetin tamamında en çok ziyaret edilen ilk 100 site arasında yer alan Chess.com'da Senior SEO Specialist olarak çalıştığım dönemde yeni bir seviyeye ulaştı. Milyonlarca sayfa, onlarca dil ve var olan en rekabetçi SERPs içinde, o ölçekte çalışmak, bana hiçbir kursun ya da sertifikanın öğretemeyeceği şeyler öğretti. Bu deneyim, gerçekten iyi bir SEO'nun nasıl göründüğüne dair bakış açımı kökten değiştirdi — ve o günden sonra kurduğum her şeyin temeli oldu.

Bu deneyimden yola çıkarak SEO Alive'ı kurdum — organik büyüme konusunda ciddi olan markalar için bir ajans. Biz dashboards ve aylık raporlar satmak için burada değiliz. Gerçekten fark yaratan stratejiler kurmak için buradayız; klasik SEO'nun en iyi yanlarını Generative Engine Optimization (GEO) denen heyecan verici yeni dünyayla birleştirerek — markanızın yalnızca Google'ın mavi linklerinde değil, aynı zamanda ChatGPT, Perplexity ve Google AI Overviews'un her gün milyonlarca insana sunduğu AI tarafından üretilen cevapların içinde de görünmesini sağlayarak.

Ve bu iki dünyayı düzgün şekilde ele alan bir araç bulamadığım için, kendim bir tane geliştirdim — SEOcrawl, rankings, teknik denetimler, backlinks izleme, crawl sağlığı ve AI marka görünürlüğü takibini tek bir yerde bir araya getiren kurumsal bir SEO intelligence platformu. Hep var olmasını dilediğim platform.

→ David tarafından yazılan tüm yazıları oku
Şu yazarın diğer yazıları: David Kaufmann

Bu yazarın diğer içeriklerini keşfedin