PHPエンジンにおけるSEOフレンドリーなURL
現代では、/page/1のような数字のみのURLは美しくないと考えられています。
ページ番号ではなく、ページタイトルに対応するテキスト名を指定する方がより美しく、
例えば次のようになります: /page/my-first-page。
このようなURLはSEOフレンドリーなURL (人間が理解しやすいURL) と呼ばれます。
SEOフレンドリーなURLの存在は、ユーザーにとって何も語らないid番号よりも便利です。
さらに、検索エンジンはSEOフレンドリーなURLに対して私たちのサイトのランキングを上げます。
ページ名に対応するURLの一部をスラッグ (slug) と呼びます。 データベース内のページにスラッグ用のカラムを追加しましょう:
| 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> |
では、idの代わりにスラッグを使って動作するように私たちのエンジンを書き換えましょう。 そのために正規表現を修正します:
<?php
preg_match('#/page/([a-z0-9_-]+)#', $url, $match);
$slug = $match[1];
?>
そして、ページ検索の条件でidの代わりにスラッグを指定します:
<?php
$query = "SELECT * FROM pages WHERE slug='$slug'";
?>
あなたのサイトエンジンをSEOフレンドリーなURLに対応するように書き換えてください。 その動作をテストしてください。