URLs Amigáveis com mod_rewrite Apache, Guia Completo de SEO

URLs Amigáveis com mod_rewrite Apache, Guia Completo de SEO
Tempo de leitura: 3 min de leitura
Link copiado!

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 Rewrite
  • RewriteCond %{SCRIPT_FILENAME} !-f → Verifica se a URL digitada é um arquivo
  • RewriteCond %{REQUEST_FILENAME} !-d → Verifica se a URL digitada é um diretório
  • RewriteRule ^(.*)$ 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.