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!
Este site é escrito por Tulio Faria, analista de sistemas, apaixonado por web, jogos e por qualquer cacareco tecnológico.