Türkiye'nin En Ortam Bilgi Paylaşım Platformu

  Türkiye'nin En Ortam Bilgi Paylaşım Platformu


WF Arşiv Önem taşıyan, arşivlik konuların yer aldığı bölümdür.

brazzers gaziantep escort gaziantep escort
instagram yorum hilesi
Yeni Konu   Cevap Yaz

 
Seçenekler Stil
Alt 29-10-2009, 11:07   #1
fableturk


fableturk - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 01-10-2009
Mesajlar: 310
Konuları: 309
WEB Sitesi:
İlgi Alanı:
Aldığı Teşekkür:
Ettiği Teşekkür:
WF Ticaret Sayısı: (0)
WF Ticaret Yüzdesi:(%)
WF Puanı: 15
Php ve htaccess ile URL Rewriting (seo yapımı)


Merhaba arkadaşlar burada sizlere htaccess yardımıyla bir web sitesine nasıl seo daha doğrusu URL Rewriting yaparsınız bunu anlatmaya çalışıcam.

Öncelikle isterseniz seo'nun ne olduğunu buradaki seo nedir adlı makalemden bulabilirsinz.
Burada size bahsetmem gereken sanırım URL Rewriting'in ne olduğu. URL Rewriting'in Türkçesi url yi yeniden yazmadır. Örnek vericek olursak
Bu bizim url'miz http://www.site.com/sayfa.php?g=posts&t=5705 bunun "sayfa.php?g=posts&t=5705" kısmını arama motorlarının seveceği
kullanıcıların ise içerik hakkında bilgi edinip daha kolay girebileceği bir hale getirmektir.

URL Rewriting'in basit mantıkla anlamı budur şimdi ise size bir php sayfanın url'sini htaccess kullanarak nasıl düzenleyebilirsiniz bunu anlatmaya çalışıcam.
"Neden Php ?" asp, .net veya diğer dillerde urlmize seo uygulayamazmıyız. Tabii ki uygularız ama hepsinin ayrı ayrı yöntemleri var htaccess linuxda
yanlızca linuxda (daha doğrusu apache'de) çalışan bir fonksiyondur ve sadece php de kullanabilinir. Asp de bu işlem için hata sayfaları, .net de ise
ayrı url rewriterlar kullanılır.

Konuyu dağıtmadan asıl konumuza örneklerle geri dönelim şimdi ilk örneğimiz basit bir şarkı sözü sitesi olsun (revaçta olduğundan seçtim)
Sistemimize seo uygulamadan önceki urlmiz farzedelimki "sarki.php?id=12" Olsun. Buradaki url'nin görevi veri tabanından id'si 12 olan şarkıyı
veritabanından çekip ziyaretçiye sunmaktır. Biz htaccess yardımıyla bunu biraz daha güzelleştirelim ve url'de sarki.php?id=12 yerine Şarkıcının adı
ve şarkı adını yan yana yazdıralım. Yani url'mizi Cem-Adrian-Yagmur-s12.html şeklinde yapalım. Burada aralara - koymamızın sebebi eper boşluk bırakırsak
Bunu browserın otomatik %20 yapıcak olmasıdır yani eğer url'mizi Cem Adrian Yagmur s12.html şeklinde yaparsak. Broserimiz ve arama motorları genelde bunu
Cem%20Adrian%20Yagmur%20s12.html şeklinde algılayacaklardır buda gördüğünüz gibi pek hoş olmuyor. En son kısıma koyduğumuz s12 ibaresi ise htaccess'in
sarki.php ye hangi veriyi çekmesi gerektiğini belirtmek için yani bi bakıma php veya htaccessi s12'ye kadar olan kısım ilgilendirmiyor onu ilgilendiren
s12 kısmı çünkü bu sayede veritabanından hangi veriyi yazması gerektiğini anlıyor neyse Bunun için kullanmamız gereken htaccess kodu.

Kod:
Options +FollowSymLinks 
RewriteEngine on 
#rewritebase / 
RewriteRule ^(.*)-s(.*).html$ sarki.php?sarki=$2&gereksiz=$1[L,NC]
Burada bizim asıl işimize yarayan kod "RewriteRule ^(.*)-s(.*).html$ sarki.php?sarki=$2[L,NC]" kodu diğerleri htaccessle link yönlendirme işi yapıcağımız anlamına filan yarıyor. Yukarıdaki koddan htaccessin anladığı;
Bana gelen urllerde baş kısımda ne yazarsa yazsın beni ilgilendirmiyor. Beni ilgilendiren asıl kısım s harfinden sonra gelen değer. Benim yapmam gereken s harfinden sonra gelen değeri "sarki.php?id=" bu url'nin arkasına koyup çalıştırmak. Biz yukarıdaki kodu yazdığımızda htaccess yukarıda bahsettiğim gibi algılıyor ve s harfinden sonra gelen değeri sanki sarki.php?id= sayfasına yazılmış gibi çalıştırıyor. Biz nasıl manuel olarak url ye sarki.php?id=12 yazıp girdiğimizde Cem Adrian Yağmur şarkısı çıkıyorsa Yani url'mizi Cem-Adrian-Yagmur-s12.html yazdığımızda da aynı sayfa açılıcak hatta deminde bahsettiğim gibi htaccess için s harfinden önce
yazılanların hiç bir önemi yok. Örneğin biz ahmet-kocaman-yaylalar-s12.html yapsakta bize Cem Adrianın Yağmur şarkısını verir bunun nedeni
s harfinden sonra gelen id nin 12 olması ve veritabanındaki 12 id li şarkının Cem Adrianın Yağmur şarkısı olması.

Sistemin temel olarak çalışma prensibi bu birdahaki url rewrite makalemde redLine olarak daha gelişmiş portallarda bu işlemi yapmayı anlatıcam.

Şimdi size işinize yarayacağını düşündüğüm bir php fonksiyon vereyim

Kod:
function seo($url){ 
$url = trim($url); 
$url = strtolower($url); 
$find = array('', ''); 
$url = str_replace ($find, '', $url); 
$url = preg_replace('/<(\/{0,1})img(.*?)(\/{0,1})\>/', 'image', $url); 

$find = array(' ', '&quot;', '&amp;', '&', '\r\n', '\n', '/', '\\', '+', '<', '>'); 
$url = str_replace ($find, '-', $url); 

$find = array('é', 'è', 'ë', 'ê', 'É', 'È', 'Ë', 'Ê'); 
$url = str_replace ($find, 'e', $url); 

$find = array('í', 'ı', 'ì', 'î', 'ï', 'I', 'İ', 'Í', 'Ì', 'Î', 'Ï'); 
$url = str_replace ($find, 'i', $url); 

$find = array('ó', 'ö', 'Ö', 'ò', 'ô', 'Ó', 'Ò', 'Ô'); 
$url = str_replace ($find, 'o', $url); 

$find = array('á', 'ä', 'â', 'à', 'â', 'Ä', 'Â', 'Á', 'À', 'Â'); 
$url = str_replace ($find, 'a', $url); 

$find = array('ú', 'ü', 'Ü', 'ù', 'û', 'Ú', 'Ù', 'Û'); 
$url = str_replace ($find, 'u', $url); 

$find = array('ç', 'Ç'); 
$url = str_replace ($find, 'c', $url); 

$find = array('ş', 'Ş'); 
$url = str_replace ($find, 's', $url); 

$find = array('ğ', 'Ğ'); 
$url = str_replace ($find, 'g', $url); 

$find = array('/[^a-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/'); 
$repl = array('', '-', ''); 

$url = preg_replace ($find, $repl, $url); 
$url = str_replace ('--', '-', $url); 

return $url; 
}

Kodun amacı url'lerdeki Türkçe karakterleri boşlukları düzenleyip
aralara - koyuyor yani urlyi tam anlamıyla bizim istediğimiz hale getiriyor. Kullanımı zaten basit örneğin
<a href="'.seo($sarkibol[baslik]).'-s'.seo($sarkibol[id]).'.html" class="link1">'.$sarkibol[baslik].'</a> Bu kod veritabanımızdan htaccessle
istediğimiz gibi urlyi çekip fonksiyonla düzgün hale getiriyor
fableturk isimli Üye şimdilik offline konumundadır     Alıntı


Yeni Konu   Cevap Yaz

Etiketler
htaccess, ile, php, rewriting, seo, url, yapımı


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı



Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 16:34.


Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Search Engine Optimisation provided by DragonByte SEO v2.0.37 (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.

vegasslot ikili opsiyon bahis vegasslotyeniadresi.com vegasslotadresi.com vegasslotcanli.com getirbett.com getirbetgir.com Sex hikaye moldebet Grandpashabet giriş

ankara escort ankara escort ankara escort bayan escort ankara kızılay escort çankaya escort kızılay escort ankara eskort adana escort escort eryaman eryaman escort gaziantep escort bayan gaziantep escort
casinositelerin.com/