sexta-feira, 21 de maio de 2010

Páginas de erro 404 úteis - Nos bastidores

No artigo passado sobre páginas de erro 404 úteis, vimos que existem possibilidades de sugestões e alternativas para ajudar pessoas e navegadores a encontrar o conteúdo que procuram.

Agora é hora de uma pitada técnica sobre os cabeçalhos HTTP envolvidos nesse processo, e como eles afetam sua página nos buscadores.

É de uso comum e corrente, que quando uma página não é encontrada, se faça um redirecionamento para uma página padrão, como a página de entrada. Como seguinte trecho de PHP:
<?php
header("Location http://www.seusite.com.br/");
?>

O problema dessa implementação é bem simples. Você envia junto com esse header Location, um cabeçalho HTTP 302 (Found).

Vamos supor que um indexador (googlebot, ou qqr outro) veja um link num outro site, apontando para o seu, mas com o endereço para uma página que não existe, e deveria lançar um erro 404 - porque ela não existe!

Sua manipulação com o simples header location, ou mesmo com um redirect 301 no .htaccess vai enviar o código errado, e o indexador vai entender essa página inexistente como uma existente. Pior, pode ser que ela indexe conteúdo duplicado (muitos links diferentes que apontam para uma mesma página). O que é uma má prática bad SEO.

Quando criar a sua página de erro para páginas não encontradas, SEMPRE se assegure que vai enviar o cabeçalho HTTP 404.

Em PHP o código é bem simples.
<?php
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
?>
//código da página de erro amigável

Assim, você garante a correta indexação e a consistencia entre o seu sitemap XML, e as páginas válidas no seu site.

No próximo post: sitemaps.
----------- keepReading

Nenhum comentário:

Postar um comentário