Colocar o HTML de uma página de redirecionamento 301 em um documento executará a mesma função que um redirecionamento 301 real?

15

Em um depurador da web, o html de uma página de redirecionamento 301 aparece como:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://www.website.com/webpage.htm">here</a>.</p>
</body></html>

Estou tendo que redirecionar páginas html sem suporte ao servidor. Se eu substituir as páginas html pelo código acima, isso funcionará da mesma maneira que escrever 301 redirecionamentos em .htaccess no apache? Procurei isso no google, mas os sites que falam sobre redirecionamentos 301 não cobriam essa opção para redirecionar páginas html.

JMC
fonte

Respostas:

18

Idealmente, você enviará um código de status de resposta HTTP 301. Se você não puder fazer isso, uma meta atualização imediata também funcionará e será contada como um redirecionamento 301 ou 302, dependendo do mecanismo de pesquisa .

<meta http-equiv="refresh" content="0;url=http://example.com/new.html">

A taxa de atualização deve ser zero para ser considerado um redirecionamento de 30x.

John Conde
fonte
Obrigado, esse artigo articula muito bem o processo. 0 atraso meta refresh dentro do meu exemplo html acima = pobre homem 301.
JMC
10

Não, simplesmente substituir o HTML pelo seu exemplo não alcançará o efeito que você está procurando. Ele simplesmente mostrará essa página ao usuário, pois o Apache enviará um código de status '200' junto com ele. Os usuários poderão clicar no link para encontrar a página, mas isso não acontecerá automaticamente e as aranhas não saberão que você deseja efetuar um redirecionamento permanente do recurso.

Você vai precisar usar uma adequada Redirect ou _mod_rewrite_ directiva em qualquer .htaccess ou seus Apache conf arquivos.

Como alternativa, se você estiver realmente usando PHP ou algo semelhante, poderá definir o código de retorno como 301, gerar um cabeçalho de resposta Localização e, em seguida, sua solução baseada em página funcionará. No PHP, seria algo parecido com isto:

<?php
header( "HTTP/1.1 301 Moved Permanently" );
header( "Location: http://www.new-url.com" );
Hissohathahair
fonte
+1 Bons pontos sobre o código de status 200. Não pensei nisso. Infelizmente é um servidor IIS e não tenho acesso mais profundo que o ftp. As páginas são .html, portanto, um redirecionamento asp não será processado.
JMC
Nesse caso, a resposta de John Conde é a melhor - eu tinha me esquecido da equivalência de atualização de meta.
Hissohathair
3

Concorde com Hissohathair no sentido de que sua abordagem não será realmente redirecionada. Os usuários podem clicar no link, mas a página original ainda retornará um código de status '200' normal e continuará sendo exibida nos resultados da pesquisa (provavelmente não exatamente o que você deseja).

Para manter a classificação da página, os códigos de status 301 são extremamente importantes. Adicionar metatags de atualização também é uma boa opção e pode ajudar na maioria dos casos (conforme a resposta de John), mas você pode não ter certeza de que os mecanismos de pesquisa a aceitarão como um redirecionamento 301 no futuro. Adicionar redirecionamentos adequados ao seu arquivo .htaccess (ou arquivos de configuração do Apache) seria sua melhor opção para garantir que o código de status 301 esteja sendo enviado.

Editar:

=======================

Para um site IIS7, desde que o módulo IIS Rewrite URL esteja instalado, você pode criar regras de redirecionamento no web.config do site. Essas regras também se aplicam aos arquivos .html. Mais informações aqui:

http://learn.iis.net/page.aspx/461/creating-rewrite-rules-for-the-url-rewrite-module/

=======================

Outra alternativa, se o seu host da web não tiver recursos .htaccess / mod_rewrite, pode ser alterar o host da web que você está usando, onde é possível configurar os redirecionamentos do servidor. Desde que o site seja movido adequadamente, ele deve ser bastante transparente para seus usuários. Essa abordagem seria apenas para casos extremos se a manutenção da classificação da página for altamente crítica.

Roubar
fonte