Por que é preferível usar caminhos com barras em vez de variáveis de string de consulta em um URL de página da web?
Por que é preferível usar caminhos com barras em vez de variáveis de string de consulta em um URL de página da web?
Respostas:
Uma razão para ter isso como objetivo durante o desenvolvimento inicial é que ele o força a pensar criticamente sobre a estrutura de links do seu site desde o início. Se a hierarquia estiver clara no URL, essa clareza naturalmente fluirá para a estrutura do site e facilitará a navegação para seus usuários e os mecanismos de pesquisa.
Dependendo de como você está desenvolvendo seu site, pensar na estrutura da URL desde o início também pode ajudá-lo no design do código; quais controladores você precisará, como irá executar o roteamento etc.
Outros motivos, como legibilidade de URL e hackers, foram abordados em outras respostas.
Atualmente, todos os mecanismos de pesquisa estão fazendo um bom trabalho com os parâmetros de string de consulta, mas se você estiver iniciando um novo site, definitivamente vale a pena usar URLs limpos.
Algumas pessoas afirmam que isso tem um efeito SEO positivo. Ao incluir palavras-chave que as pessoas pesquisam no URL, a classificação do seu mecanismo de pesquisa pode ser maior.
Outros motivos incluem uma estrutura de URL pura e "capacidade de adivinhação" da URL através da remoção dos componentes do caminho da URL para obter níveis mais altos de navegação.
Se você estiver usando uma estrutura MVC de qualquer tipo, é mais ou menos obrigado a trabalhar dessa maneira escolhendo nomes de controladores etc. para ser amigável ao roteamento de URL.
A principal razão pela qual faço isso é a legibilidade, especificamente nos resultados da pesquisa. Eu só ouvi isso e não tenho números concretos, mas deve aumentar o clique. Em outras palavras, se você tiver 2 resultados com a mesma classificação, é mais provável que as pessoas cliquem no item limpo e fácil de ler. Eu não acho que isso sempre precise ser um com barras, mas acho que isso é mais fácil do que uma string de consulta.