SEO-ystävälliset URL-osoitteet PHP-moottorissa

Nykymaailmassa osoitteet numeroilla kuten /page/1 eivät pidetä kauniina. On kauniimpaa, kun sivulle ei määritetä sennumeroa, vaan tekstipohjainen nimi, joka vastaa sivun otsikkoa, esimerkiksi näin: /page/ensimmainen-sivuni.

Tällaisia osoitteita kutsutaan SEO-ystävällisiksi URL-osoitteiksi (human-friendly URLs). SEO-ystävällisten URL-osoitteiden käyttö on käyttäjälle mukavampaa kuin numeroiset id-tunnisteet, jotka eivät kerro hänelle mitään. Hakukoneet myös parantavat sivustomme hakutulossijoituksia SEO-ystävällisten URL-osoitteiden ansiosta.

Osoitteen osaa, joka vastaa sivun nimeä, kutsutaan slugiksi (slug). Lisätään tietokantaamme sivullemme sarake slugeille:

pages
id slug title content
1 ensimmainen-sivuni otsikko1 <div> sisalto1 </div>
2 toinen-sivuni otsikko2 <div> sisalto2 </div>
3 kolmas-sivuni otsikko3 <div> sisalto3 </div>

Muutetaan nyt moottorimme toimimaan slugien avulla tunnisteiden sijasta. Korjataan tätä varten säännöllinen lauseke:

php<?php
  preg_match('#/page/([a-z0-9_-]+)#', $url, $match);
  $slug = $match[1];
?>

Ja sivun hakuehdossa määritetään slugi tunnisteen sijasta:

php<?php
  $query = "SELECT * FROM pages WHERE slug='$slug'";
?>
Задание 1

Muuta sivustomoottorisi käyttämään SEO-ystävällisiä URL-osoitteita. Testaa sen toimintaa.