¿Poner el HTML de una página de redireccionamiento 301 en un documento realizará la misma función que un redireccionamiento 301 real?

15

En un depurador web, el html de una página de redireccionamiento 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>

Tengo que redirigir páginas html sin soporte del servidor. Si reemplazo las páginas html con el código anterior, ¿funcionará lo mismo que escribir redirecciones 301 en .htaccess en apache? Busqué esto en google, pero los sitios que hablan de redireccionamientos 301 no cubrieron esta opción para redirigir páginas html.

JMC
fuente

Respuestas:

18

Lo ideal sería enviar un código de estado de respuesta HTTP 301. Si no puede hacerlo, una actualización meta que sea inmediata también funcionará y se contará como una redirección 301 o 302 dependiendo del motor de búsqueda .

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

La frecuencia de actualización debe ser cero para que se considere una redirección 30x.

John Conde
fuente
Gracias, ese artículo articula el proceso realmente bien. 0 retardo meta de actualización dentro de mi ejemplo anterior html = pobre hombre 301.
JMC
10

No, simplemente reemplazando el HTML con su ejemplo no logrará el efecto que está buscando. Simplemente mostrará esa página al usuario, ya que Apache enviará un código de estado '200' junto con él. Los usuarios podrán hacer clic en el enlace para encontrar la página, pero no sucederá automáticamente y las arañas no sabrán que pretenden efectuar una redirección permanente del recurso.

Usted tendrá que utilizar una adecuada redirección o _mod_rewrite_ Directiva, ya sea en .htaccess de Apache o sus conf archivos.

Alternativamente, si está utilizando PHP o algo similar, puede establecer el código de retorno en 301, generar un encabezado de respuesta de ubicación y luego su solución basada en la página funcionará. En PHP se vería así:

<?php
header( "HTTP/1.1 301 Moved Permanently" );
header( "Location: http://www.new-url.com" );
Hissohathair
fuente
+1 Puntos positivos sobre el código de estado 200. No pensé en eso. Desafortunadamente es un servidor IIS y no tengo acceso más profundo que ftp. Las páginas son .html, por lo que no se procesará una redirección asp.
JMC
En ese caso, la respuesta de John Conde es la mejor: me había olvidado de la equivalencia de meta refresco.
Hissohathair
3

De acuerdo con Hissohathair en que su enfoque no se redirigirá realmente. Los usuarios pueden saber hacer clic en el enlace, pero la página original aún devolverá un código de estado '200' normal y continuará apareciendo en los resultados de búsqueda (probablemente no exactamente lo que desea).

Para mantener el rango de página, los códigos de estado 301 son extremadamente importantes. Agregar metaetiquetas de actualización también es una buena opción y puede ayudar en la mayoría de los casos (según la respuesta de John), pero es posible que no se le garantice que los motores de búsqueda lo aceptarán como una redirección 301 en el futuro. Agregar las redirecciones adecuadas a su .htaccess (o archivos conf de Apache) sería su mejor opción para garantizar que se envíe el código de estado 301.

Editar:

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

Para un sitio web IIS7, siempre que el módulo IIS URL Rewrite esté instalado, puede crear reglas de redireccionamiento en el sitio web.config para el sitio. Estas reglas también se aplicarían a los archivos .html. Más información aquí:

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

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

Otra alternativa si su servidor web no tiene capacidades .htaccess / mod_rewrite podría ser cambiar el servidor web que está utilizando, donde puede configurar redireccionamientos del lado del servidor. Siempre que el sitio se mueva correctamente, debería ser bastante sencillo para sus usuarios. Este enfoque solo sería para casos extremos si mantener el rango de página es muy crítico.

Robar
fuente