Páginas 404 Não Devem Retornar o Código 200 de Status

Olá leitores da Agência Mestre!

O objetivo de qualquer website é fornecer uma experiência única ao seu usuário, provendo conteúdo de qualidade e que acrescente alguma informação a quem está lendo ou interagindo naquele local. Mas o que acontece quando você atinge uma determinada página ou documento que não existe? Você chega em uma rua sem saída e possui um alerta, de que o que você procura não está lá.

Uma vez aqui na Agência Mestre abordamos a importância de se ter uma página 404 customizada, com informação relevante ao usuário que não encontra aquele conteúdo que procurava, mas você sabia que os mecanismos de busca, com seus webcrawlers, também veêm esta página como uma rua sem saída?

HTTP Headers StatusO processo de forma simplificada acontece assim: Tanto para o seu navegador, quanto para os mecanismos de busca, quando se faz uma solicitação à uma URL, o servidor web, dono do arquivo, realiza uma série de checagens, tais como, se o próprio servidor está disponível, verifica se a URL é válida e ainda se o arquivo existe. Nesta verificação caso o arquivo não exista o servidor web faz um tratamento, de forma que informe ao solicitante o código de erro de arquivo não encontrado, no caso o código 404. Na imagem ao lado, o autor Alan Dean, ilustra toda a verificação e checagens realizadas pelo servidor web quando uma página é solicitada.

Pois bem, ao retornar este código, tanto o seu browser, quanto os mecanismos de busca, recebem este código 404 e identificam que o arquivo solicitado não existe e informando também qual a página responsável por mostrar a página de erro.

Segundo uma análise realizada pelo SEOmoz, cerca de 4% das respostas de solicitação de páginas são erros de 404, em comparação com outras respostas, tais como o código 200, de página encontrada, que possui 81%.

Códigos de Reposta de Solicitação de Páginas

O problema não é informar URLs que resultem em um erro 404, mas sim quando esta página, que deveria informar um código 404, começa a informar outro código.

Imagina o seguinte cenário: o webcrawler encontra um link para o seu site. Ao solicitar esta página, e receber o código 200, de página encontrada, o webcrawler incia todo o processo de indexação como já conhecemos. Mas aí vem a pergunta, aquela página deveria ser indexada? Não era para o mecanismo de busca ver que ela não existe e parar por aí?

Pois bem, este é o problema! Quando uma página fornece o código 200, o webcrawler irá indexar o seu conteúdo, já quando se fornece o erro 404 ele pára. Agora imagine que o seu servidor retorne código 200 também para cada página que não existe. Isto fará com que os mecanismos de busca indexem a mesma página de erro inúmeras vezes, podendo a longo prazo, prejudicar os seus rankings, pois você estará informando que possui infinitas URLs.

Assim, é muito importante que você verifique em seus projetos se o seu servidor retorna o código 404 quando você solicita uma página inexistente. Para ajudá-lo nesta tarefa, possuímos uma ferramenta de verificação de códigos de requisição HTTP. Com ela você pode ver qual o código que uma página do seu site retorna.

Retorno 404

Em um projeto de SEO, é muito fácil se concentrar ou observar aspectos básicos, mas este tipo de problema é muito sério e pode comprometer a evolução do seu website. Então ao customizar a sua página de erro 404, certifique-se que a mesma retorna o código 404, senão pode lhe causar sérios problemas.

Um abraço e até a próxima.

Receba Novidades

Insira seu email para receber novidades e dicas exclusivas da Agência Mestre!
Divulgue este artigo

12 Comentários para “Páginas 404 Não Devem Retornar o Código 200 de Status”

  1. Daniel

    Belo post Ricotta
    não sabia que a maioria dos websites retornavam erro 200 ao inves do 404, é um serio problema, vou ficar mais atento agora.
    abraços

    Responder
  2. Andre.forWeb

    Caso a página de erro esteja retornando o código 200, como se corrige isso? Via htaccess é possível?

    Responder
  3. Fábio Ricotta

    Andre, você deve consultar o porque dela retornar um código 200, pois normalmente no webserver ele já retorna 404. Quando retorna 200 é que houve alguma configuração mal feita. Daí você tem que consultar no seu IIS ou Apache.

    Responder
  4. Adriano Rosa

    Fábio, bom artigo!

    complementando a resposta da pergunta do André, para corrigir o status da página de erro 404 e evitar o retorno do status 200

    asp:
    Response.Status = “404 Not Found”

    php:
    header(“Status: 404 Not Found”);

    Abraços

    Adriano Rosa

    Responder
    • Marcos

      Andre e Fábio,

      Eu tente esse

      asp:
      Response.Status = “404 Not Found”

      Mudou algo entre 2009 para 2014 ?

      Responder
  5. Fábio Ricotta

    Excelente complementação Adriano, mas ainda sim acho que o melhor a fazer é analisar qual configuração está errada. Se não encontrar, um método de urgência pode ser este.

    Um abraço e obrigado pela contribuição.

    Responder
  6. Felipe Ranieri

    Ótima dica Fábio, também nunca tinha prestado atenção nesse detalhe. Agora é adotar como mais uma etapa antes de liberar de fato o site para a produção.

    Abraço

    Responder
    • Fábio Ricotta

      Com certeza Felipe. Além de rever isto na produção do site, é muito importante verificar de tempos em tempos o funcionamento da sua página 404.

      Um abraço!

      Responder
  7. Djoni

    Olá autores e visitantes do Mestre Seo, eu tinha um redirecionamento 301 nas paginas não encontradas, que redirecionava-as todas para a home page.

    Pensando no problema de conteudo duplicado, em alguma hipotese poderia ocorrer pois todas as paginas indicavam o mesmo local, passei a utilizar codigos 404, a questão agora é:

    As visitas do google que estavam em franco crescimento estacionaram, minha pergunta seria se seria preferivel redirecionar via 301 todas as paginas para uma pagina especial, como a home-page porém com meta tags ROBOTS com NOINDEX, ou continuar utilizando os 404.

    Se puderem me dar alguma dica sou grato, a proposito, parabéns pelo site .

    Responder

Deixar um comentário

  • (não será publicado)

XHTML: Você pode usar estas tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>