PHP - Redirects com header() para SEO e demais finalidades

Hoje vou apresentar uma dica rápida: header('Location:') e redirecionamento de URLs. Headers em PHP são um assunto bem extenso e que merecem outros artigos e por isto hoje o foco será o 'Location'. As formas abaixo são as maneiras mais fáceis de se fazer redirects de vários tipos, ou seja, varios 'significados' para o browser e para os robôs de busca.

// 301 Movido permanentemente
header("Location: /foo.php",TRUE,301);

// 302 Encontrado (se não forem fornecidos parametros assume 302)
header("Location: /foo.php",TRUE,302);
header("Location: /foo.php");

// 303 Ver outro
header("Location: /foo.php",TRUE,303);

// 307 Redirecionamento temporário
header("Location: /foo.php",TRUE,307);

Se você está utilizando header('Location:') é uma boa prática incluir os parâmetros adicionais para que os robôs e browsers possam compreender melhor o que está ocorrendo com sua página.

Da lista acima acredito que a mais importante de citar é a 301 (Moved Permanently)
Ela diz que a página foi movida permanentemente.

Se você possui uma página www.minhapagina.com/artigo.php?id=100 (ruim para SEO) e quer adotar uma nova url melhor, como www.minhapagina.com/novo-artigo-sobre-adocao-de-caes.html o redirect 301 é a solução ideal pois os robôs de busca vão passar a apontar todos os links antigos indexados para o novo.

Para um redirecionamento convencional 302 é o padrão.

Manual oficial http://en.wikipedia.org/wiki/List_of_HTTP_status_codes

Abraços

Comentários

Postagens mais visitadas deste blog

MySQL - Completando quantidades fixas de caracteres com as funções LPAD() e RPAD()

MySQL - Clonando tabelas na linha de comando

PHP - Gerando arquivo em UTF-8 com fwrite() e utf8_encode()