Sayfa Reklamı

Browsing Tag

sef

SEO / SEF

Basit Örnekler – SEO

Bu bölümde sizi çok fazla RegEx (Regular Expressions – Düzenli İfadeler) bilgilerine boğarak kafanızı karıştırmak istemediğim için basitten zora doğru örnekler ile ilerlemek istiyorum. Bunun için öncelikle manuel olarak (elle) adres bilgilerini değiştirerek uygulamalar gerçekleştireceğiz ve ardından veritabanından okuma yaparak basit bir blog yapısını incelemiş olacağız.

Vakit kaybetmeden hemen uygulamaya başlayalım. Öncelikle oluşturmuş olduğunuz .htaccess dosyasına aşağıdaki ifadeleri eklemenizi istiyorum.
[php]Options +FollowSymlinks

RewriteEngine On

RewriteRule ^ornek_adres.html$ index.php [L,NC][/php]
Yukarıdaki örnek ile, eğer adres satırına /ornek_adres.html yazılırsa bu bağlantı için index.php dosyasının çalıştırılmasını sağlayacak yönlendirme kuralını belirtiyoruz. Denemek için basit bir index sayfası oluşturalım. Aşağıdaki komutları kullanarak index.php dosyanızı oluşturabilirsiniz.
[php snippet=”1″][/php]

Ve uygulamayı test etmek için adres çubuğuna http://127.0.0.1/ornek_adres.html yazın. Xampp kök dizininde (c:\xampp\htdocs) çalıştığım için ben direkt yukarıdaki adres yapısını kullandım. Yukarıdaki kodları denediğimde aşağıdaki gibi sonu elde ettim. Sizde de benzer sonuçlar olmalıdır. Farklı adresler (/index.php hariç) denediğinizde hata alacaksınız.

Ekran Çıktısı : Burası index.php Sayfasıdır.

Gerçekten de ornek_adres.html olmamasına rağmen .htaccess dosyası beni index.php dosyasına yönlendirdi. Eğer uygulamayı başarılı bir şekilde çalıştırdıysanız, artık olayı yavaş yavaş anlıyor olmalısınız. Şimdi biraz daha işi geliştirelim ve sanki bir dizin varmış gibi nasıl kullanırız, onu öğrenelim. .htaccess dosyanızın içeriğini aşağıdaki şekilde değiştirin.

Yukarıdaki örnek için index.php dosyasında herhangi bir değişiklik yapmamıza gerek yok . Şuan uygulamamız doğru çalışıp çalışmadığını kontrol ediyoruz ve olayın mantığını algılamaya çalışıyoruz. Bu sefer adres çubuğuna http://localhost/bir_klasor/ornek_adres.html yazdığımda beni yine index.php dosyasına yönlendirmesi gerekmekte.

Ekran Çıktısı : Burası index.php Sayfasıdır.

Yukarıdaki örnekte linke dikkat ederseniz gerçekten yine beni index.php dosyasına yönlendirdi. Tamam yönlendirme oluyor da adres çubuğundaki değerleri nasıl okuyacağız değil mi ? Yine başa dönerek basitten başlayarak ilerleyelim. Bu kez de .htaccess dosyasını aşağıdaki biçimde yeniden güncelleyin.

Yukarıdaki komutlara dikkat ederseniz, ornek_adres tanımlamasını parantezler arasına aldım ve daha sonra yönlendirme yaparken index.php?sayfa=$1 olarak tanımladım. İşte parantez içinde yer alan bu ifadeyi örüntü olarak tanımladım ve $1 isimli değişkende tutmuş oldum. Böylece index.php dosyasına yönlendirme yaparken sayfa değişkeni ile birlikte bu değeri taşımış olacağım.

Şimdi bu değişkeni index.php‘ye yönlendirdiğimiz için index.php dosyasında bir takım yeni eklemeler yaparak gelen değişkenleri görüntüleyelim. Daha önce oluşturmuş olduğunuz index.php dosyasını aşağıdaki biçimde yeniden güncelleyin.

Yönlendirme işleminde index.php?sayfa=$1 şeklinde değer taşıdığımızdan bu yöntem ile değer taşımaya daha önceden GET metodu olarak isim vermiştik. Bu yüzden bu şekilde gönderilen ifadelere PHP’nin $_GET küresel fonksiyonu ile erişebiliriz. Şimdi uygulamayı yeniden çalıştıralım. Adres çubuğuna http://localhost/ornek_adres.html yazdığımda elde ettiğim sonuç aşağıdaki gibi oldu.

Ekran Çıktısı : Burası index.php Sayfasıdır. Array  (  [sayfa] => ornek_adres )

Çıktıya dikkat edin. $_GET metoduyla bir değişken taşınmış gerçekten. İstersem kod içerisinde bu değişkene $_GET[“sayfa”] komutu ile erişebilirim. Ama acele etmeyin, bunların hepsini yapacağız.

Manuel olarak son bir örnek daha yaparak artık dinamik olarak bu işlemleri nasıl gerçekleştirebileceğimize başlayacağız. Daha önce klasör olarak yaptığımız adres yapısındaki iki değişkeni taşımak için .htaccess dosyasını aşağıdaki şekilde güncelleyin.

Yukarıdaki ilk satırdaki RewriteRule bir önceki uygulamamızda olduğu gibi aynı şekilde duruyor. İkinci olarak belirttiğimiz yönlendirme kuralında dikkat ederseniz, iki farklı adres değişkeni olduğundan iki farklı durum için parantez ile bir_klasor ve ornek_adres değerlerini kapsüle aldık. Sıralamadan dolayı $1 değişkeni bir_klasor değerini ve $2 değişkeni ise; ornek_adres değerini ifade edecek. Bu halde uygulamayı çalıştırmak için adres çubuğuna http://localhost/bir_klasor/ornek_adres.html yazıyorum ve elde ettiğim sonuç aşağıdaki gibi oldu.

Ekran Görüntüsü : Burası index.php Sayfasıdır. Array ( [dizin] => bir_klasor [sayfa] => ornek_adres )

SEO / SEF

SEF Kurulumu

Yerel bilgisayarda çalışmalarınızı test edebilmek için adres yönlendirme özelliğini aktif hale getirmek gerekmektedir. Apache klasörünün içerisinde yer alan httpd.conf dosyasını (Windows sistemlerinde bulunduğu dizin C:\xampp\Apache\conf) not defteri ile açın. Bu dosya içerisinde aşağıda yer alan satırı arayarak başındaki # işaretini kaldırın.

#LoadModule rewrite_module modules/mod_rewrite.so

Bu işlemi gerçekleştirdikten sonra değişikliklerin aktif olması için Apache’nin yeniden başlatılması (restart) gerekmektedir. Apache restart edildikten sonra değişiklikler aktif olacaktır ve artık SEF çalışmalarına başlayabiliriz demektir.

 

.HTACCESS

Düzenli ifadeleri oluşturmak için .htaccess olarak isimlendirilmiş (özel bir dosya, extra uzantı yok) bir dosya ile çalışmanız gerekmektedir. Kök dizininize bu dosyayı oluşturun. Bu dosyayı oluşturmak için adına .htaccess yazın ve kaydedin. Uzantı belirtmemek için çift tırnakları özel olarak yazdık, aynı bu şekilde yazarak kaydederseniz rahatça bu dosyayı oluşturabilirsiniz. Aksi halde dosya ismini değiştirerek oluşturmaya çalıştığınızda Windows işletim sistemi uzantı belirtmediği için bu işletme izin vermeyecektir.

SEO / SEF

SEF (Search Friendly Url) Nedir ?

Bu bölümde, sizi arama motorlarında daha üst sıralara çıkaracak bir teknikten bahsedeceğim. Öncelikle bu tekniğin ne olduğu hakkında bilgi verelim. SEF uygulanan bir web sayfasının adres yapısını istediğiniz gibi ayarlayabilirsiniz. Şöyle bir örnek vereyim.

 

http://www.orhanbhr.com/kategori-ismi/yazi-adi.html şeklinde olan bir adres yapısı normalde şöyle yorumlanır. Bu web sayfasının bulunduğu sunucuda kategori-isimli bir klasör var ve bu klasörün içinde de yazi-adi.html isimli bir dosya var ve biz bu dosyayı görüntülüyoruz. Halbuki olay bu değil. Aslında görüntülenen dosya belkide ana dizinde bulunan index.php dosyası. Bakın, adresin uzantısı .html olmasına rağmen biz, .php dosyası çağırabiliyoruz. SEF tekniği bir çeşit yapay adreslemedir.