URLs Amigáveis com mod_rewrite Apache, Guia Completo de SEO
- 21 de abril de 2009
Buenas PessoALL!
Hoje um amigo me perguntou sobre URLs Amigáveis, então resolvi escrever este post!
Nas técnicas de SEO, uma coisa indiscutível é URLs amigáveis.
O que são URLs Amigáveis?
URLs Amigáveis são normalmente URLs simples e curtas, na qual tornam-se mais legíveis para os Bots de busca. Além de facilitarem o entendimento pelo usuário.
Comparação Prática
URL normal:
http://www.xalexandre.com.br/index.php?menu=noticias&titulo=Url-Amigavel&id=10
URL Amigável:
http://www.xalexandre.com.br/noticias/Url-Amigavel/10
No exemplo acima, as variáveis menu, titulo e id são desnecessárias quando utilizado mod_rewrite do Apache.
O que é Mod_Rewrite?
Mod_rewrite é um módulo escrito para o servidor Apache, na qual tem a função de reescrever as URLs.
Habilitação no Apache
Para habilitá-lo você primeiramente deve ter acesso ao servidor Apache, ou solicitar para o Administrador do seu servidor habilitá-lo.
Deverá editar o httpd.conf adicionando a seguinte linha:
LoadModule rewrite_module modules/mod_rewrite.so
Basta reiniciar o Apache para o módulo entrar em ação.
Configuração do .htaccess
Após o Apache corretamente configurado, deve-se criar um arquivo .htaccess para configurarmos nossas URLs Amigáveis.
Crie um arquivo chamado .htaccess (com o ponto na frente de forma oculta).
Conteúdo Básico do .htaccess
RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php
Explicação das Diretivas
RewriteEngine on→ Habilita o módulo RewriteRewriteCond %{SCRIPT_FILENAME} !-f→ Verifica se a URL digitada é um arquivoRewriteCond %{REQUEST_FILENAME} !-d→ Verifica se a URL digitada é um diretórioRewriteRule ^(.*)$ index.php→ Manda tudo o que não for arquivo ou diretório para o index.php
Testando a Configuração
Salve o arquivo e teste acessando uma URL inexistente:
http://www.xalexandre.com.br/testando
Se redirecionar para o index.php, o Mod_Rewrite está funcionando corretamente.
Processamento no PHP
Agora vamos editar nosso index.php para processar as URLs:
<?php
$url = explode("/", $_SERVER["REQUEST_URI"]);
?>
Exemplo Prático
Com a URL: http://www.xalexandre.com.br/noticias/Url-Amigavel/10
Nosso array será:
<?php
echo $url[0]; // noticias
echo $url[1]; // Url-Amigavel
echo $url[2]; // 10
?>
Integração com Sistema Existente
Se você possui um sistema que depende das variáveis menu, titulo e id, faça o seguinte:
<?php
$menu = $url[0];
$titulo = $url[1];
$id = $url[2];
?>
Pronto! Seu sistema estará funcionando da maneira que foi programado com URLs Amigáveis.
As URLs amigáveis trazem várias vantagens: melhor indexação pelos buscadores, keywords visíveis na URL, estrutura hierárquica clara e melhor ranking nos resultados. Para os usuários, oferecem URLs memoráveis e compartilháveis, navegação intuitiva e experiência aprimorada.
Para configurações mais avançadas, você pode usar regras específicas como:
RewriteRule ^([^/]+)/([^/]+)/([0-9]+)/?$ index.php?menu=$1&titulo=$2&id=$3 [L,QSA]
E para debug, visualize o array de URLs:
<?php
print_r($url);
?>
Lembre-se de evitar acentos e caracteres especiais nas URLs, usar hífen ao invés de underscore, manter tudo em minúsculas e remover stopwords desnecessárias.
Por hoje é só pessoALL! As URLs amigáveis são essenciais para um site moderno e otimizado para SEO. Dúvidas estou à disposição.