URLs amigáveis, também conhecidas como Friendly URLs, é como são chamados os endereços de conteúdos que são amigáveis à nós e aos robôs de busca.
Neste artigo abordarei as vantagens e desvantagens de usarmos URLs amigáveis. Na segunda parte, mostrarei as diferentes técnicas que conheço.
Todo desenvolvedor que se preze deve estar antenado em como trazer sempre os melhores resultados para os seus clientes. É sabido que a maior parte dos acessos a algum conteúdo se dá diretamente (através da digitação do endereço ou de bookmarks) ou através de sites de busca.
Se é assim, devemos fazer os endereços dos conteúdos mais amigáveis, inteligíveis e fáceis de gravar.
Exemplos de URL amigável:
http://www.seusite.com.br/produtos/livros/
http://www.seusite.com.br/artigo/27/urls-amigaveisAs mesmas URLs, mas agora sujas:
http://www.seusite.com.br/?pag=produtos&cat=livros
http://www.seusite.com.br/?pag=artigos&id=27E então? Qual é melhor? Como saber quando usar uma ou outra? Continue lendo...
Como já vimos, URLs sujas são aquelas onde a informação é passada através de query strings.
Como falar das vantagens das URLs sujas é difícil, vou começar pelas desvantagens. Mas há vantagens!
O problema é que essas URLs são largamente utilizadas por pura ignorância. O desenvolvedor não sabe quando usar uma ou outra e, para não errar, acaba usando-as mesmo.
A quantidade e tipos de caracteres de controle, que determinam onde termina o nome do arquivo e começam a declaração de variáveis e que separam as variáveis, tornam essas URLs difíceis de escrever. Soma-se a isso, o comprimento: normalmente têm muitos caracteres.
Por ser complexa e longa, esse tipo de URL tem pouca usabilidade. Elas são difíceis de lembrar, de falar no telefone e de escrever. Imagine um catálogo de produtos de uma empresa com URLs sujas. Elas também passam pouca informação sobre o conteúdo do seu endereço.
Elas mostram aos usuários: a tecnologia empregada no desenvolvimento (PHP, ASP, JSP, PL, etc) e o nome das variáveis de entrada de dados. Esses dados são freqüentemente usados por hackers para tentar atacar sites.
Na melhor das hipóteses, o usuário pode gerar erros em seu site se passar letras numa variável que você esperava receber >um número.Concretas porque elas demonstram a tecnologia empregada. Imagine que você tem um site por 5 anos e muito famoso - feito em PHP. Agora você decide mudar para ASP. Além de mudar todo o seu código, os usuários do seu site terão problemas de acesso, pois vão ficar tentando encontrar páginas em PHP que já não existem mais. Como tudo em desenvolvimento, devemos sempre trabalhar na camada de abstração mais alta.
Manutenção cara porque, para trocar de tecnologia, será necessário muito tempo de manutenção. E tempo é dinheiro, lembra?
Mas as URLs sujas não só desvantagens. Há situações em que é melhor usá-las.
Em buscas de sites, por exemplo, o uso de URLs sujas é interessante. Imagine:
http://www.seusite.com.br/busca/?keys=blog+do+tmferreira
Você pode acessar quantas vezes quiser essa URL que ela sempre lhe levará para o mesmo lugar. Repare no Google: ele usa mais ou menos a estrutura acima.
Parece controverso, mas não é. Às vezes você não quer que o usuário do seu site lembre ou grave aquele endereço. Observando por esse ponto, a desvantagem vira vantagem, dependendo do uso.
Suponha que você deseja monitorar uma seqüência de passos que o seu usuário faz no seu site para chegar ao seu objetivo. Se você tiver uma query string bem grande e complexa, ele ficará desencorajado de gravar essa URL.
Alguns especialistas apontam que com o crescimento da utilização da internet e da complexidade dos sistemas web, a utilização em massa das URLs amigáveis é uma questão de tempo. Eu diria muito pouco tempo.
Em geral, as vantagens das URLs amigáveis são as desvantagens das URLs sujas. Assim, vou dar algumas dicas de como fazer as URLs amigáveis mais eficientes.
O melhor caminho para ter URLs amigáveis eficientes é projetando-as bem. E para isso, comece com os nomes dos aquivos e diretórios. Torne-os curtos e compreensíveis.
Veja bem: curto, mas compreensível.
Freqüentemente, vemos arquivos como: maquina_de_lavar. Nomes assim são mais difíceis de escrever. Se tiver que usar esse tipo de separação, releia a dica anterior e tente projetar melhor.
Se mesmo assim ainda precisar usar, prefira o hífen: maquina-de-lavar.
Dependendo do sistema operacional de onde você hospedará o seu site, ele pode diferenciar maiúsculas e minúsculas.
Os servidores UNIX, por exemplo, fazem essa diferenciação, enquanto os servidores Windows não.
Assim, se você hoje utiliza uma hospedagem Windows, a url a seguir funciona sem problemas:
www.seusite.com.br/Produtos
Mas se você migrar de hospedagem e passar a utilizar um servidor Linux, por exemplo, não funcionará.
Pelo sim, pelo não, prefira minúsculas.
Todos sabemos que normalmente os domínios tem como nome do host "www". Então, se o usuário quer entrar em seu site, ele digita: www.seusite.com.br
Mas e se ele digitar um "w" a menos ou a mais?
Pensando nisso, você cadastra também os nomes "w", "ww" e "wwww" e os redireciona para o host principal.
Se o domínio do seu site tem a escrita difícil, como a utilização de ch, ss, etc, pode acontecer do usuário digitar errado. Vamos supor que você está fazendo um site sobre o Chaves, e você registra o domínio www.chaves.com.br. Mas alguns "desavisados" com certeza tentarão "xaves". Assim, tente sempre registrar os domínios que podem ser acessados erradamente pelos usuários e redirecionar ao principal.
Eu sei que o exemplo que dei foi ridículo, ma é por aí.
Vimos nesse artigo as vantagens e desvantagens do uso de URLs sujas e URLs amigáveis. Também vimos que há casos em que é interessante usarmos URLs sujas, mas isso deve ser uma exceção e que o futuro aponta para a utilização massissa das URLs amigáveis.
As URLs amigáveis são muito mais simples de entender e têm muito mais significado para os usuários e mecanismos de busca.
No próximo artigo veremos 3 formas de implementarmos as URLs amigáveis.
Aguardo os comentários! Abraços!
Micael Estrázulas
Cara, bacana o artigo, acho que a unica coisa que faltou seria mostrar como fazer a manutencao do htaccess =)
[]s
Thiago Ferreira
Micael, o próximo artigo sobre URLs Amigáveis trará três técnicas para fazê-las. Entre essas técnicas, está a edição do .htaccess.
Rodrigo Rebelo Bezerra
cara você não sabe o que me deixa feliz com essa matéria. Estava procurando a dias algum conteúdo bom sobre isso.
Só espero que agora o proxímo artigo seja muito bom e didático. Gostaria de pedir para que você se possivel ensinasse tudo até mesmo como redirecionar e mexer com o php para poder usar essas url's amigaveis.
José Cláudio Medeiros de Lima
é, só faltou mostrar como fazer. mas existem vários sites que listam as técnicas de mudança de url usando REGEX. Você encontrará boas matérias no site linhadecódigo.com.br
Felipe Rômulo Chaves Silva
Gostei do artigo, principalmente por citar vantagens e desvantagens, sem "defender" especificamente uma. Destacando também sobre o nome do domínio. Um exemplo real é da LOCAWEB que também registrou localweb. Aguardo os próximos com as técnicas para fazer.
Felipe Kremer
Muito boa a matéria. Já faço uso de Url rewrite e nunca tinha pensado em alguns pontos da matéria. Espero pela continuação. Abraços
Vinícius Siller
É, depois de ser muito criticado pelas matérias relacionadas ao uso do Flash, hoje você se superou, abordando temas que muitos "loucos por usabilidade" nao deve fazer ideia ou simplesmente nã aceitam, pelo fato de quererem estar na "moda da tecnologia", utilizando novos recursos como as Url's amigáveis. Parabens!
Guilherme Maia
Prezado Thiago.
Muito Bom esse seu tópico sobre as URLs, com tudo. E claro que nós nao vamos fazer isso, mais acho que vale a pena ressaltar em seu topico, sobre quando a URL é virus ou nao, o que uma URL pode causar de danos ao computador da pessoa e por ai vai. Me ponho a disposição para qualquer coisa.
Coordialmente,
Guilherme Maia
Gostaria de saber como fazer igual as urls do iMasters onde alem do codigo do artigo e o arquivo ele ainda mostra o titulo do artigo, como este por exemplo
http://imasters.uol.com.br/artigo/6841/php/urls_amigaveis_-_algumas_tecnicas/
Acabei de desenvolver meu primeiro site com urls amigáveis, o que me deu um trabalho de hercules. Bondoso com os colegas, vou compartilhar alguns problemas e soluções pelos quais passei:
1 - Malditas expressões regulares. Se você quer fazer urls amigáveis, pode começar a aprender expressões regulares. Parecem simples quando são pequenas mas as grandes são de enlouquecer.
2 - Utilize urls absolutas - Para não correr riscos, crie todas as urls como absolutas. Links, imagens folhas de estilos e scripts externos devem incluir http://wwww.seusite.com.br/. Sugiro criar uma função server-side para gerar urls ou utilizar constantes em um arquivo de configuração.
2 - Crie o alias para o link ao criar o conteúdo. Nem pense em interpretar a url inline, então crie um campo na tabela de conteúdo do seu banco de dados e converta titulos automaticamente. Assim quando for varrer o banco de dados você busca diretamente pela url.
3 - Lembre-se das exceções. Muito cuidado ao definir as regras no .htaccess (por que não tem nome? Só terminação?). Você deve deixar uma brecha para as urls sujas, diretórios reais e outros arquivos que não se encaixam na regra como formulários que utilizam GET etc. Uma forma de fazer isso é não colocando barra no fim da url na regra. Assim http://www.site.com/qualquer_coisa utiliza a regra e http://www.site.com/qualquer_coisa/ vai para o diretório real. Na prática isso pode ser mais complicado do que parece(Malditas REGEX).
4 - Se o sistema que você usa vai gerar e alterar a url a partir do campo de referência(titulo geralmente), evite alterar este campo pois quem linkou para isso vai encontrar o bom e velho http 404, e por falar nisso...
5 - Crie uma opção na sua página para, caso o conteúdo não seja encontrado, serem exibidos resultados de busca para a url. Existem sites que criam sitemaps gigantescos independentes do conteudo existir ou não atráves deste sistema (Malditos warez). Não faça isso em hipótese alguma. As engrenagens de busca não são bobas e, mesmo que você tenha um certo sucesso no começo, certamente vai criar antipatia entre os usuários e possivelmente será bloqueado pelo google.
Espero que isto acrescente alguma coisa para os que como eu, se cansam só de ouvir falar em urls amigáveis (só não é amigável para quem desenvolve).
2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.