SEO-vriendelijke URL's in een PHP-engine
In de moderne wereld worden adressen met cijfertjes zoals
/page/1 als niet mooi beschouwd. Het is
mooier wanneer voor een pagina niet haar
nummer wordt opgegeven, maar een tekstuele naam die overeenkomt met
de titel van de pagina, bijvoorbeeld zo: /page/my-first-page.
Zulke adressen worden SEO-vriendelijke URL's (Search Engine Optimization) genoemd.
De aanwezigheid van SEO-vriendelijke URL's is handiger voor de
gebruiker dan nietszeggende id-nummers.
Bovendien zullen zoekmachines de posities van
onze website verbeteren vanwege SEO-vriendelijke URL's.
Het stukje URL dat overeenkomt met de paginanaam, wordt slug (slug) genoemd. Laten we in onze database een kolom met slugs toevoegen aan onze pagina's:
| 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> |
Laten we nu onze engine aanpassen om met slugs te werken in plaats van id's. Hiervoor passen we de reguliere expressie aan:
<?php
preg_match('#/page/([a-z0-9_-]+)#', $url, $match);
$slug = $match[1];
?>
En in de zoekvoorwaarde voor de pagina specificeren we de slug in plaats van de id:
<?php
$query = "SELECT * FROM pages WHERE slug='$slug'";
?>
Pas je website-engine aan om met SEO-vriendelijke URL's te werken. Test de werking ervan.