SEO için .htaccess Kullanımı – Yönlendirmeler, URL’ler, İçerik Tarama

htaccess ve seo

Arama motoru optimizasyonunun (SEO) en önemli görevlerinden biri web sitenizi arama motoru dostu haline getirmekle ilgili olması elbette şaşılacak bir durum değildir. Arama motoru sonuçlarında rekabet yüksektir, bu nedenle hiçbir avantajı görmezden gelmemek gerekir. Htaccess, web sitenizin işlevselliğini, sunucular ve tarayıcılar ile nasıl etkileşime girdiğini kontrol etmenizi sağlayan önemli dosyalarınızdan biridir. Htaccess dosyalarımızı sadece güvenlik ve kontrol amaçlı değil, aynı zamanda arama motoru optimizasyonunu en üst düzeye çıkarmak için de özelleştirmemiz gerekir. Htaccess’in SEO için yapılandırılmasında gereksiniminize göre etkinleştirmeniz veya geçersiz kılmanız gereken özellikler vardır.

Daha iyi arama motoru optimizasyonu sonuçları için özelleştirilen .htaccess, SEO’nun her bir özelliğini kapsayacaktır. Ayrıca, htaccess’in işlevselliğini artıran .htaccess dosya parçacıklarından da bahsedecek, düzenli ifadelerin htaccess’te nasıl kullanıldığını ele alacağız. Öncelikle bu dosyayı tanıyalım, htaccess nedir?

Htaccess Nedir?

Özellikle yeni başlayanlar htaccess’in ne olduğu konusunda daha iyi bir anlayışa ihtiyaç duyabilir. Dizindeki diğer dosyalarınızdan biraz farklı bir hali vardır; ismi olmayan bir uzantı? Htaccess bir dosya uzantısı değil bir dosyadır.

Teknik olarak, htaccess, Apache tarafından desteklenen web sunucuları tarafından her bir dizini yapılandırmak için kullanılır. Ayrıca, hosting firmanız .htaccess dosyasını düzenlemenize izin vermiyorsa, kolayca yeni bir tane oluşturabilir ve diğervarsayılan .htaccess dosyanızdaki parametreleri geçersiz kılabilirsiniz. Yönergeler ile dizin ve alt dizinler düzeyinde belirli özellikler geçersiz kılınabilir, yani web sunucunuzun kök klasörüne bir .htaccess dosyası yüklemeniz direktiflerin tüm web sitenize uygulanacağı anlamına gelir.

Dosyaya erişmek kolaydır. Tek yapmanız gereken kök dizinde dosyayı aramak. Popüler içerik yönetim sisteminin çoğu dosyaya kendi yönetim panellerinden erişim imkanı sunar. Dosyaya FTP yoluyla da erişebilirsiniz.

Direktifler

Yönergeler, yapılandırmak istediğiniz dizinler üzerinde daha hassas kontrol sahibi olmanızı sağlar. Bunlar yapılandırma dosyasındaki komutlardır. Htaccess türevleri kullanır. Bu türevlerle, dosyaları parola ile koruyabilir, taramayı kontrol edebilir, IP adreslerine izin verebilir veya yasaklayabilirsiniz.

Htaccess SEO’da ne işe yarıyor?

Arama motoru tarayıcıları .htaccess üzerinde web sitesinin işlevselliğini nasıl kontrol ettiğinizle ilgilenirler ve doğru yapılandırma güvenilirlik anlamına geleceğinden olumlu puan alabilirsiniz.

Htaccess’i ile arama motorlarının sevdiği temiz URL’ler oluşturabilirsiniz.
404, https hatalarının çözebilir ve 301 yönlendirmelerinizi kontrol edebilirsiniz.
IP adresini veya etki alanı kullanan kullanıcıları, illegal arama motoru botlarını engellemek için de kullanalabilirsiniz.

.Htaccess’i düzenlemek zor değildir. Sitenizin işlevselliğini ve özelliklerini geliştirir, ancak yanlış yapılandırma sitenize hata verdirir. 500 dahili sunucu hatası alabilirsiniz. Bu gibi durumlardan kaçınmak için, herhangi bir değişiklik yapmadan önce .htaccess dosyanızı yedeklemeniz gerekir. Böylelikle orjinal dosyanız güvende olur ve denemeler yapabilrsiniz.

Htaccess dosyası nerededir?

Hangi platformu kullandığınıza bağlı olarak .htaccess dosyası çoğu zaman dizininizin kökünde bulunur. Örneğin, WordPress kullanıyorsanız, bunu WordPress kurulumunun ana dizininde bulacaksınız. Htaccess dosyasına erişmek için “Gizli Dosyaları Göster” özelliğini açmanız gerekir.

SEO Dostu URL’ler

URL’ler, arama motorları sıralamasında önemli bir rol oynamaktadır. Google’dan Matt Cutts’a göre, URL’lerin yapısı sıralamada önemli bir rol oynuyor ve URL’lerdeki anahtar kelimelerin sıralama faktörüne değer katıyor. URL’lerin arama motoru dostu olması için gerekli diğer özellik ise mümkün olduğu kadar kısa olmasıdır. URL’lerin hem kısa hem de tıklandığında nasıl bir sayfaya götüreceğinin tahmin edilebilir olması arama motorlarına kullanıcılarınızla ilgilendiğiniz sinyalini verecektir.

Genel URL Optimizasyonu

Basit bir örnekle başlayalım, aşağıdaki ifade ile web sitenizdeki tüm URL yapısını değiştirebilirsiniz.

RewriteEngine On
Rewrite Rule ^test/ (a[a-zA-Z0-9]+)$ index.php?topic=$1

# Yukarıdaki ifade ile web sitenizdeki tüm URL'ler
# www.siteniz.com/test/sayfa-URL  biçimine dönüşür.

URL’den dosya uzantılarını kaldırma (.php, .html)

Htaccess ile .html ve .php gibi sayfa uzantılarından da kurtulabilirsiniz. Bu uzantılar kullanıya bir değer katmaz. Uzantıları kaldırmak için aşağıdaki kodu kopyalayıp .htaccess dosyasına yapıştırmanız yeterli olur.

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f 
#PHP Uzantısını siler

RewriteCond %{REQUEST_FILENAME}.html -f 
Rewrite Rule ^(.*)$ $1.html
#HTML uzantısını siler

Kanonik robots.txt

Kanonik yönlendirme ile robots.txt taramayı iyileştirebilirsiniz. Genel olarak, robot.txt dosyası kök dizinde bulunur, ancak kötü botlar veya diğer kötü amaçlı komut dosyaları, robots.txt dosyanızı bulmak için web sitesinin tamamını tarayarak kaynaklarınızı tüketebilir.

Botların ve diğer tarayıcı unsurların Robot.txt dosyasını bulması için .htaccess’i kullanabilirsiniz. Ayrıca “robot.txt” dosyasına erişim için sürekli istek yapılmasını engeleyebilirsiniz. Bunu yaparak, sunucu üzerindeki yükü azaltır ve GoogleBot gibi önemli tarayıcıların işini kolaylaştırabilirsiniz.

Robots.txt kanonik yönlendirme

<IfModule mod_rewrite.c> 
RewriteBase / 
RewriteCond% {REQUEST_URI}! ^ / Robots.txt $ [NC] 
RewriteCond% {REQUEST_URI} robots \ .txt [NC] 
RewriteRule % {REQUEST_URI} robots \ .txt [NC] RewriteRule. *https://websiteniz.com/robots.txt [ R = 301, L] 
</IfModule>

Yukarıdaki kodda yapmanız gereken tek şey “web sitenizi” sitenizin URL’sine değiştirmek. URL, web sitenizin herkes tarafından erişilebilen kök dizini olmalıdır. Yukarıdaki yöntemde Apache’nin yeniden yazma modülünü kullandık. Ancak, alternatif bir çözüm arıyorsanız, mod_alias kullanabilirsiniz .

RedirectMatch 301 ^/(.*)/robots\.txt https://websiteniz.com/robots.txt

URL www / http versiyon yönlendirme

En temel sorunlardan biri www, non-www yönlendirmeleridir. Bu yönlendirme sayesinde Google Arama Konsolunda URL çoğaltma ile uğraşmamış olursunuz. Basit bir kanonik etiket ile sorunu çözebilirsiniz.

JavaScript/jQuerry

// HTTP yönlendirmenin bir benzeri
window.location.replace("http://www.clickeer.net");
// Linke tıklama
window.location.href = "http://clickeer.net";

.Htaccess

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

www’ye veya ssl’e zorlarken .htaccess dosyasındaki olası varyasyonları kullanmayı deneyebilirsiniz., örneğin:

RewriteEngine On
RewriteBase /

WWW’ye Zorla

RewriteCond %{HTTP_HOST} ^site\.com
RewriteRule (.*) http://www.site.com/$1 [R=301,L]

SSL’e Zorla

RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://site.com/$1 [R,L]

IP Bloklama

Order Deny,Allow
Deny from 80.152.0.129
Deny from 109.127.0.259

Apache 2.4 Güncellenmiş Versiyon

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

PHP Metodu

$protocol = (@$_SERVER["HTTPS"]    == "on") ? "https://" : "http://";

if (substr($_SERVER['HTTP_HOST'], 0, 4) !== 'www.') {
    header('Location: '.$protocol.'www.'.$_SERVER    ['HTTP_HOST'].'/'.$_SERVER['REQUEST_URI']);
    exit;
}

Ajax

$.ajax({
    type: "POST",
    url: reqUrl,
    data: reqBody,
    dataType: "json",
    success: function(data, textStatus) {
        if (data.redirect) {
        
            window.location.href = data.redirect;
        }
        else {
           
            $("#myform").replaceWith(data.form);
        }
    }
});

FeedBurner’a Yönlendirme

Yayınlarınızı Feedburner’a yeniden yönlendirmek, SEO’nuzu yükseltmenize yardımcı olabilir. .Htaccess sayesinde tüm süreci otomatikleştirebilirsiniz. İstenilen sonucu elde etmek için mod_rewrite modülünü kullanacağız.

 
  RewriteCond% {REQUEST_URI} ^ / feed / [NC] 
  RewriteCond% {HTTP_USER_AGENT}! (FeedBurner | FeedValidator) [NC]  RewriteRule. * Http://feeds.feedburnerFr 
 L, R = 302]
  RewriteCond% {REQUEST_URI} ^ / comments / feed / [NC] 
  RewriteCond% {HTTP_USER_AGENT}! (FeedBurner | FeedValidator) [NC] 
  RewriteRule. * Http://feeds.feedburner.com/allCommentsFeed [L, R = 302] 
 < / IfModule>


Yukarıdaki kodu web sitenize özelleştirmek için yukarıdaki koddaki “allCommentsFeed” ve “mainContentFeed” öğelerini “FeedBurner” değerlerinizle değiştirmeniz gerekir .

Web Siteniz Arama Motorlarında Neden Görünmüyorİşte kontrol listesi ve kaynaklar (PDF)

Google’da risk almadan, daha iyi sıralama almak için ihtiyacınız olan Kontrol Listesi ve Kaynaklar PDF