Como retornar 404 adequado para o Google e, ao mesmo tempo, fornecer conteúdo amigável ao usuário?

StackOverflow https://stackoverflow.com/questions/2547430

Pergunta

Estou oscilando entre postar isso aqui e no Superusuário.Por favor, desculpe-me se você acha que isso não pertence aqui.

Estou observando o comportamento descrito aqui - O Googlebot está solicitando URLs aleatórios no meu site, como aecgeqfx.html ou sutwjemebk.html.Tenho certeza de que não estou vinculando esses URLs de nenhum lugar do meu site.

Suspeito que o Google esteja investigando como lidamos com conteúdo inexistente - para citar uma resposta à pergunta vinculada:

 [google is requesting random urls to] see if your site correctly 
 handles non-existent files (by returning a 404 response header)

Temos uma página personalizada para conteúdo inexistente - uma página com estilo dizendo "Conteúdo não encontrado, se você acredita que chegou aqui por engano, entre em contato conosco", com alguns links internos, servidos (naturalmente) com um 200 OK.A URL é veiculada diretamente (sem redirecionamento para uma única URL).

Receio que isso possa discriminar o site no Google - eles podem não interpretar a página amigável como um 404 - not found e podemos pensar que estamos tentando falsificar algo e fornecer conteúdo duplicado.

Como devo proceder para garantir que o Google não pense que o site é falso e, ao mesmo tempo, forneça uma mensagem amigável aos usuários, caso eles cliquem acidentalmente em links inativos?

Foi útil?

Solução

A melhor prática seria devolver a página 404 amigável com um código de resposta 404, não um 200. Seu servidor da Web deve lidar com isso para você com relativa facilidade.

Outras dicas

Use ErrorDocument no Apache

ErrorDocument 500 http://foo.example.com/cgi-bin/tester
ErrorDocument 404 /cgi-bin/bad_urls.pl
ErrorDocument 401 /subscription_info.html
ErrorDocument 403 "Sorry can't allow you access today"

O documento de erro pode ser o que você quiser. Ex Se você estiver usando o PHP, você pode criar um arquivo chamado ERROR404.php como este:

<?php
header("HTTP/1.0 404 Not Found");

echo 'Hi, this page does not exist...<img src="nice-logo.png" alt="logo" />'


?>

A única coisa que é importante é que o A resposta deve incluir um código 404 correto no cabeçalho - Saída pelo Apache, PHP ou qualquer outro script dinâmico.

Exemplo de 404 engraçado: http://www.northernbewer.com/brewing/weekly_fermentard

Você ainda pode enviar um status 404 e fornecer mensagens amigáveis ​​para links inativos na mesma resposta.Mesmo os "usuários normais" devem obter o status 404, mesmo que a página não se pareça com a típica página de falha.Como você intercepta a solicitação depende do seu servidor web.Isso será muito mais fácil do que detectar o user-agent e fazer algo diferente para o Googlebot.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top