SEO-vennlige URL-er i en PHP-motor

I den moderne verden anses adresser med tall som /page/1 for å være lite pene. Det er penere når en side ikke har et nummer, men et tekstnavn som tilsvarer sidens tittel, for eksempel slik: /page/my-first-page.

Slike adresser kalles SEO-vennlige URL-er (menneskevennlige URL-er). Tilstedeværelsen av SEO-vennlige URL-er er mer praktisk for brukeren enn id som ikke sier dem noe. I tillegg vil søkemotorer forbedre plasseringen av nettstedet vårt på grunn av SEO-vennlige URL-er.

Den delen av URL-en som tilsvarer sidens navn, kalles slug (slug). La oss legge til en kolonne for slug i database tabellen for sidene våre:

pages
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>

La oss nå endre motoren vår til å arbeide med slug i stedet for id. For å gjøre dette, må vi endre regulært uttrykk:

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

Og i betingelsen for sidesøk, spesifiserer vi slug i stedet for id:

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

Endre nettstedets motor til å arbeide med SEO-vennlige URL-er. Test dens funksjon.