URL amigáveis em sites multi-idiomas no CakePHP

Olá pessoal,

este post é sobre algumas idéias sobre como organizar as URL’s em site multi-idiomas, mais especificamente no nome dos controllers. Não sou dono da verdade, então, comentem dizendo o que vocês acham.

Esta semana me deparei com um problema em um site com versões em inglês e português. A URL em português ficava:

/produtos/informacoes/1/nome-do-produto

Isso sempre funcionou para mim, pois faz sentido para mim otimizar e ligar termo produtos, informacoes e o nome-do-produto na mesma URL. Mas o que acontece quando o site estava em inglês? Simplesmente a URL ficava:

/produtos/informacoes/1/product-name

Ou seja, estaria produtos, informacoes com a nome do produto em inglês na URL. Fato que me deixou encabulado, por misturar português e inglês.

Resolvi fazer um pouco diferente. Ao invés de usar o nome do controller como produtos, resolvi usar apenas p e deixei o nome da action como i.

/p/i/1/nome-do-produto

Ou melhor:

/p/i/produto/informacoes/1/nome-do-produto

Sendo que os dois primeiros paramêtros da action, eu simplesmente ignoro e mudo de acordo com o idioma. Em inglê ficaria:

/p/i/product/details/1/product-name

E eu sempre mantenho o id (no caso dos exemplos 1) em todas as URL’s.

Levando em consideração as boas práticas de programação não é recomendável usar como nome para uma classe P e de um método (action) como i, mas para SEO creio que resolve.

O que vocês acham?

Forte abraço!

Comentários (7)