Página de erro 404 no WordPress




Então você tem um blog a algum tempo e já chegou na hora de fazer aquela faxina. Algumas das páginas que você criou não dão mais o resultado que davam e por isso você precisa removê-las do Google.

Existe duas opções. A primeira é bloquear utilizando o robots.txt, ou você pode remover a página da indexação do Google (que é o principal) garantindo que a mensagem de erro 404 fará o resto do trabalho.

Pois bem. Eu fiz isso. Pelo menos tentei e não funcionou. Não usei a primeira opção, preguiça mesmo. Fui no Webmaster Tools e pedi a remoção da URL bernabauer.com/e-shop. Ao pedir a remoção da URL o requisito é que a página esteja dando erro 404. Bom, quando eu acessei a página vi a mensagem de erro 404, porém meus olhos não são os mesmos dos olhos do crawler do Google.

Calma, não fique preocupado. O problema acontece por que os temas de WordPress são, em sua maioria, feitos para agradar aos olhos do dono do blog ou dos visitantes e não aos crawlers. Após rápida pesquisa descobri que faltava uma linha fundamental no tema do meu blog.

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

Adicionalmente você pode implementar o código abaixo que eu tomei a liberdade de traduzir do original que está no codex do wordpress, mas só serve para agradar aos olhos. O importante mesmo é a linha acima que deve ser incluída no topo do tema da Página não Encontrada do seu blog.

Você
< ?php #some variables for the script to use #if you have some reason to change these, do. but wordpress can handle it $adminemail = get_bloginfo('admin_email'); #the administrator email address, according to wordpress $website = get_bloginfo('url'); #gets your blog's url from wordpress $websitename = get_bloginfo('name'); #sets the blog's name, according to wordpress
if (!isset($_SERVER['HTTP_REFERER'])) {
#politely blames the user for all the problems they caused
echo "tentou acessar "; #starts assembling an output paragraph
$casemessage = "Porém nem tudo está perdido!";
} elseif (isset($_SERVER['HTTP_REFERER'])) {
#this will help the user find what they want, and email me of a bad link
echo "clicou no link "; #now the message says You clicked a link to...
#setup a message to be sent to me
$failuremess = "Alguém tentou acessar $website"
.$_SERVER['REQUEST_URI']." e recebeu um erro 404. ";
$failuremess .= "Não é um problema grave, por isso é bom resolver rápido.
Veio da URL ".$_SERVER['HTTP_REFERER'];
mail($adminemail, "Link com problema: ".$_SERVER['REQUEST_URI'],
$failuremess, "From: $websitename "); #email you about problem
$casemessage = "O administrador do blog foi avisado do problema.";#set a friendly message
}
echo " ".$website.$_SERVER['REQUEST_URI']; ?>
e infelizmente esta URL não existe. < ?php echo $casemessage; ?> Você pode voltar utilizando o botão de voltar do seu navegador ou utilizar a ferramenta abaixo para efetuar uma buscar no blog:
< ?php include(TEMPLATEPATH . "/searchform.php"); ?>

Lembre-se de retirar os espaços entre “<" e "?" que existem no código acima.




Leia Também


Deixe um comentário

2 Comentários

  1. O interessante mesmo seria você redirecionar utilizando .htaccess para a homepage com código 301 (redir permanente), e bloquear a página via robots.txt.

    Fazendo do jeito que você fez, o google removerá as páginas por (se não me engano) 90 dias, depois disso, ele voltará a seguir todos os links que ele encontrar, independente da sua antiga solicitação.

    Este post por exemplo, por estar linkando a página, faria ele acessar novamente o e-shop, encontrar erro 404 de novo, e etc…

    Vou ver se preparo um artigo com alguma coisa sobre isso..

    Um abraço!

    Responder
  2. eu queria evitar de todos os modos editar o .htaccess, mas se não tiver jeito…

    Responder

Deixe uma resposta

%d blogueiros gostam disto: