SEO no motor em PHP
No mundo moderno, endereços com números do tipo
/page/1 são considerados feios. É mais
bonito quando para uma página é indicado não
o seu número, mas um nome textual, correspondendo
ao título da página, por exemplo, assim: /page/minha-primeira-pagina.
Tais endereços são chamados de SEO (URLs amigáveis).
A presença de SEO é mais conveniente para o usuário do que
números de id que não significam nada para ele.
Além disso, pelos URLs amigáveis os sistemas de busca
aumentarão as posições do nosso site.
O pedaço do URL correspondente ao nome da página é chamado de slug (slug). Vamos adicionar uma coluna de slugs para nossas páginas na nossa base de dados:
| 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> |
Vamos agora refazer nosso motor para trabalhar com slugs em vez de IDs. Para isso, vamos corrigir a expressão regular:
<?php
preg_match('#/page/([a-z0-9_-]+)#', $url, $match);
$slug = $match[1];
?>
E na condição de busca da página, vamos indicar o slug em vez do ID:
<?php
$query = "SELECT * FROM pages WHERE slug='$slug'";
?>
Adapte o motor do seu site para trabalhar com URLs amigáveis. Teste o seu funcionamento.