Daily Archives: 24/05/2006

PpW – A diferença nos URLs

Published by:

Quando se programa para WEB a solução mais fácil é utilizar os parâmetros para tudo o que seja informação dinâmica, como os identificadores das categorias, dos artigos, ou de qualquer outra coisa que se pretenda apresentar, criando URLs do tipo lista.php?id=123ou lista/index.html?id=123.

Nada de grava haveria a dizer desta prática não fosse realidade:

  • O Google não indexa links com o parâmetro id com valores com mais do que uma determinada dimensão (4 ou 5 digitos)
  • Os motores de pesquisa em geral não indexam, ou indexam de forma menos satisfatória URLs com mais do que 2 parâmetros.

Mas como podemos deixar de utilizar este tipo de URLs? Há várias formas e várias ferramentas que permitem resolver este problema.

A mais abrangente delas é talvez o mod_rewrite do Apache, servidor instalado na grande maioria dos hostings, e que permite tranformar URLs. Por exemplo, se pretendermos que o nosso URL lista.php?id=123 passe a ser lista/123.html, isso pode ser conseguido com o mod_rewrite, adicionando às configurações do apache, ou em alguns casos a um ficheiro .htaccess na raiz do seu site a seguinte linha:


RewriteRule ^/lista/(.*).html /lista.php?id=$1 [PT]

Esta simples regra faz com que sempre que um URL do tipo /lista/123.html for pedido ao nosso servidor, o mod_rewrite irá alterar o URL para /lista.php?id=123 que o apache depois tenta servir, processando assim o nosso script PHP original.

O mesmo pode ser feito para qualquer outro URL, e tendo em conta que o primeiro parâmetro é uma regular expression, quase qualquer transformação pode ser feita nos URLs. É preciso apenas um pouco de jeito, alguma persistência, e imaginação.

E a diferença que isso pode fazer na quantidade de páginas de um site nos indices principais do Google e dos outros motores de pesquisa faz TODA a diferença.

O maior trabalho num site já feito acaba por ser mesmo alterar todos os links, e todos os locais onde os links são criados para utilizar os novos URLs.

Claro que esta solução não passa de um remendo. Muitas linguagens e frameworks de programação para WEB já permitem por si só utilizar URLs dinâmicos, e permitem implementar directamente este tipo de URLs.