PHP Motorunda SEO URL
Modern dünyada, /page/1 gibi rakamlardan oluşan
adresler kötü olarak kabul edilir. Bir sayfa
için numarasının değil, sayfa başlığına karşılık
gelen metinsel bir adın belirtilmesi daha
güzeldir, örneğin şu şekilde: /page/my-first-page.
Bu tür adreslere SEO URL (insan tarafından anlaşılabilir url) denir.
SEO URL'nin varlığı, kullanıcı için kendisine
hiçbir şey ifade etmeyen id numaralarından
daha kullanışlıdır. Ayrıca, SEO URL'ler nedeniyle
arama motorları sitemizin sıralamasını yükseltecektir.
Sayfa adına karşılık gelen url parçasına slug (slug) denir. Haydi veritabanımızda sayfalarımıza bir slug sütunu ekleyelim:
| id | slug | title | content |
|---|---|---|---|
| 1 | my-first-page | title1 | <div> content1 </div> |
| 2 | my-second-page | title2 | <div> content2 </div> |
| 3 | my-third-page | title3 | <div> content3 </div> |
Şimdi sitemizin motorunu id'ler yerine slug'lar ile çalışacak şekilde değiştirelim. Bunun için regex'i düzeltelim:
<?php
preg_match('#/page/([a-z0-9_-]+)#', $url, $match);
$slug = $match[1];
?>
Ve sayfa arama koşulunda id yerine slug'ı belirtelim:
<?php
$query = "SELECT * FROM pages WHERE slug='$slug'";
?>
Sitenizin motorunu SEO URL ile çalışacak şekilde değiştirin. Çalışmasını test edin.